setup   A
last analyzed

Complexity

Total Complexity 0

Size/Duplication

Total Lines 104
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 0
eloc 34
dl 0
loc 104
rs 10
c 0
b 0
f 0
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