Files @ 9293b6b67ca7
Branch filter:

Location: gimmecert/setup.py

branko
GC-45: Update development-related requirements:

- Dropped ability to run setup.py test command (deprecation).
- Updated documentation for tox invocations.
- Updated all test and development-related requirements.
- Dropped use of deprecated project pytest-runner.
- Updated tox configuration (deprecations).
- Unfortunately, tox seems to mess with the COLUMNS environment
variable that breaks functional tests which depend on specific
formatting of help (breaklines included). Make sure the tests run
with column width of 80.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Copyright (C) 2024 Branko Majic
#
# This file is part of Gimmecert.
#
# Gimmecert is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# Gimmecert is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# Gimmecert.  If not, see <http://www.gnu.org/licenses/>.
#

import os
from setuptools import setup, find_packages

README = open(os.path.join(os.path.dirname(__file__), 'README.rst')).read()

python_requirements = ">=3.8,<3.10"

install_requirements = [
    'cryptography>=3.2,<3.3',
    'python-dateutil>=2.8,<2.9',
]

doc_requirements = [
    'sphinx>=7.1,<7.2',
]

test_lint_requirements = [
    'flake8>=7.0,<7.1',
]

test_requirements = [
    'freezegun>=1.3,<1.4',
    'pytest>=8.0,<8.1',
    'pytest-cov>=4.1,<4.2',
    'tox>=4.13,<4.14',
    'pexpect>=4.9,<4.10',
]

release_requirements = [
    'twine',
]

development_requirements = doc_requirements + test_requirements + test_lint_requirements + release_requirements

extras_requirements = {
    'devel': development_requirements,
    'doc': doc_requirements,
    'test': test_requirements,
    'testlint': test_lint_requirements,
}

# allow setup.py to be run from any path
os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir)))

setup(
    name='gimmecert',
    version='0.0.0',
    packages=find_packages(exclude=['tests', 'functional_tests']),
    include_package_data=True,
    license='GPLv3+',
    description='A simple tool for quickly issuing server and client certificates.',
    long_description=README,
    url='http://projects.majic.rs/gimmecert',
    author='Branko Majic',
    author_email='branko@majic.rs',
    python_requires=python_requirements,
    install_requires=install_requirements,
    tests_require=test_requirements,
    extras_require=extras_requirements,
    entry_points={
        'console_scripts': ['gimmecert=gimmecert.cli:main'],
    },
    classifiers=[
        'Development Status :: 4 - Beta',
        'Environment :: Console',
        'Intended Audience :: Developers',
        'Intended Audience :: System Administrators',
        'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)',
        'Operating System :: OS Independent',
        'Programming Language :: Python :: 3.8',
        'Programming Language :: Python :: 3.9',
        'Topic :: Internet :: WWW/HTTP',
        'Topic :: Internet :: WWW/HTTP :: Site Management',
        'Topic :: Security',
        'Topic :: Software Development :: Testing',
        'Topic :: Utilities',
    ],
)