|
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
|
|
|
|