1
|
|
|
# Copyright (C) 2014-2021 Greenbone Networks GmbH |
2
|
|
|
# |
3
|
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later |
4
|
|
|
# |
5
|
|
|
# This program is free software: you can redistribute it and/or modify |
6
|
|
|
# it under the terms of the GNU Affero General Public License as |
7
|
|
|
# published by the Free Software Foundation, either version 3 of the |
8
|
|
|
# License, or (at your option) any later version. |
9
|
|
|
# |
10
|
|
|
# This program is distributed in the hope that it will be useful, |
11
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
12
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13
|
|
|
# GNU Affero General Public License for more details. |
14
|
|
|
# |
15
|
|
|
# You should have received a copy of the GNU Affero General Public License |
16
|
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
17
|
|
|
|
18
|
|
|
# pylint: disable=invalid-name |
19
|
|
|
|
20
|
|
|
""" Setup configuration and management for module ospd |
21
|
|
|
Standard Python setup configuration, including support for PyPI. |
22
|
|
|
""" |
23
|
|
|
|
24
|
|
|
from os import path |
25
|
|
|
|
26
|
|
|
from setuptools import ( |
27
|
|
|
setup, |
28
|
|
|
find_packages, |
29
|
|
|
) # Always prefer setuptools over distutils |
30
|
|
|
|
31
|
|
|
from ospd import __version__ |
32
|
|
|
|
33
|
|
|
here = path.abspath(path.dirname(__file__)) |
34
|
|
|
|
35
|
|
|
# Get the long description from the relevant file |
36
|
|
|
with open(path.join(here, 'README.md'), encoding='utf-8') as f: |
37
|
|
|
long_description = f.read() |
38
|
|
|
|
39
|
|
|
setup( |
40
|
|
|
name='ospd', |
41
|
|
|
# Versions should comply with PEP440. For a discussion on single-sourcing |
42
|
|
|
# the version across setup.py and the project code, see |
43
|
|
|
# http://packaging.python.org/en/latest/tutorial.html#version |
44
|
|
|
version=__version__, |
45
|
|
|
description=( |
46
|
|
|
'OSPD is a base for scanner wrappers which share the ' |
47
|
|
|
'same communication protocol: OSP (Open Scanner ' |
48
|
|
|
'Protocol)' |
49
|
|
|
), |
50
|
|
|
long_description=long_description, |
51
|
|
|
long_description_content_type='text/markdown', |
52
|
|
|
# The project's main homepage. |
53
|
|
|
url='http://www.openvas.org', |
54
|
|
|
# Author |
55
|
|
|
author='Greenbone Networks GmbH', |
56
|
|
|
author_email='[email protected]', |
57
|
|
|
# License |
58
|
|
|
license='GPLv2+', |
59
|
|
|
# See https://pypi.python.org/pypi?%3Aaction=list_classifiers |
60
|
|
|
classifiers=[ |
61
|
|
|
# How mature is this project? Common values are |
62
|
|
|
# 3 - Alpha |
63
|
|
|
# 4 - Beta |
64
|
|
|
# 5 - Production/Stable |
65
|
|
|
'Development Status :: 4 - Beta', |
66
|
|
|
# Indicate who your project is intended for |
67
|
|
|
'Intended Audience :: Developers', |
68
|
|
|
'Topic :: Software Development :: Build Tools', |
69
|
|
|
# Pick your license as you wish (should match "license" above) |
70
|
|
|
'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)', # pylint: disable=line-too-long |
71
|
|
|
# Specify the Python versions you support here. In particular, ensure |
72
|
|
|
# that you indicate whether you support Python 2, Python 3 or both. |
73
|
|
|
'Programming Language :: Python :: 3.7', |
74
|
|
|
'Programming Language :: Python :: 3.8', |
75
|
|
|
], |
76
|
|
|
# What does your project relate to? |
77
|
|
|
keywords=['Greenbone Vulnerability Manager OSP'], |
78
|
|
|
python_requires='>=3.7', |
79
|
|
|
# List run-time dependencies here. These will be installed by pip when your |
80
|
|
|
# project is installed. For an analysis of "install_requires" vs pip's |
81
|
|
|
# requirements files see: |
82
|
|
|
# https://packaging.python.org/en/latest/technical.html#install-requires-vs-requirements-files |
83
|
|
|
install_requires=['paramiko', 'defusedxml', 'lxml', 'deprecated', 'psutil'], |
84
|
|
|
# You can just specify the packages manually here if your project is |
85
|
|
|
# simple. Or you can use find_packages(). |
86
|
|
|
packages=find_packages(exclude=['tests*']), |
87
|
|
|
# If there are data files included in your packages that need to be |
88
|
|
|
# installed, specify them here. |
89
|
|
|
include_package_data=True, |
90
|
|
|
package_data={'': []}, |
91
|
|
|
# Scripts. Define scripts here which should be installed in the |
92
|
|
|
# sys.prefix/bin directory. You can define an alternative place for |
93
|
|
|
# installation by setting the --install-scripts option of setup.py |
94
|
|
|
# scripts = [''], |
95
|
|
|
# To provide executable scripts, use entry points in preference to the |
96
|
|
|
# "scripts" keyword. Entry points provide cross-platform support and allow |
97
|
|
|
# pip to create the appropriate form of executable for the target platform. |
98
|
|
|
# entry_points={ |
99
|
|
|
# 'console_scripts': [ |
100
|
|
|
# 'sample=sample:main', |
101
|
|
|
# ], |
102
|
|
|
# }, |
103
|
|
|
test_suite="tests", |
104
|
|
|
) |
105
|
|
|
|