diff --git a/MANIFEST.in b/MANIFEST.in index 23ad7f5..5147e53 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,10 +1,11 @@ include Makefile include requirements.txt -include requirements-swh.txt -include requirements-http.txt include requirements-db.txt +include requirements-http.txt +include requirements-logging.txt +include requirements-swh.txt include version.txt recursive-include swh/core/sql *.sql recursive-include swh py.typed recursive-include swh/core/tests/data/ * recursive-include swh/core/tests/fixture/data/ * diff --git a/requirements-logging.txt b/requirements-logging.txt new file mode 100644 index 0000000..d844bee --- /dev/null +++ b/requirements-logging.txt @@ -0,0 +1 @@ +systemd-python diff --git a/requirements.txt b/requirements.txt index 7d6c629..c0bf09f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,2 @@ Deprecated PyYAML -systemd-python diff --git a/setup.py b/setup.py index 0d06fc6..43d5dca 100755 --- a/setup.py +++ b/setup.py @@ -1,82 +1,83 @@ #!/usr/bin/env python3 # Copyright (C) 2015-2018 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU General Public License version 3, or any later version # See top-level LICENSE file for more information import os from setuptools import setup, find_packages from os import path from io import open here = path.abspath(path.dirname(__file__)) # Get the long description from the README file with open(path.join(here, 'README.md'), encoding='utf-8') as f: long_description = f.read() def parse_requirements(*names): requirements = [] for name in names: if name: reqf = 'requirements-%s.txt' % name else: reqf = 'requirements.txt' if not os.path.exists(reqf): return requirements with open(reqf) as f: for line in f.readlines(): line = line.strip() if not line or line.startswith('#'): continue requirements.append(line) return requirements setup( name='swh.core', description='Software Heritage core utilities', long_description=long_description, long_description_content_type='text/markdown', author='Software Heritage developers', author_email='swh-devel@inria.fr', url='https://forge.softwareheritage.org/diffusion/DCORE/', packages=find_packages(), py_modules=['pytest_swh_core'], scripts=[], install_requires=parse_requirements(None, 'swh'), setup_requires=['vcversioner'], extras_require={ - 'testing': parse_requirements('test', 'db', 'http'), + 'testing': parse_requirements('test', 'db', 'http', 'logging'), + 'logging': parse_requirements('logging'), 'db': parse_requirements('db'), 'http': parse_requirements('http'), }, vcversioner={}, include_package_data=True, entry_points=''' [console_scripts] swh=swh.core.cli:main swh-db-init=swh.core.cli.db:db_init [swh.cli.subcommands] db=swh.core.cli.db:db db-init=swh.core.cli.db:db_init [pytest11] pytest_swh_core = swh.core.pytest_plugin ''', classifiers=[ "Programming Language :: Python :: 3", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Development Status :: 5 - Production/Stable", ], project_urls={ 'Bug Reports': 'https://forge.softwareheritage.org/maniphest', 'Funding': 'https://www.softwareheritage.org/donate', 'Source': 'https://forge.softwareheritage.org/source/swh-core', }, ) diff --git a/tox.ini b/tox.ini index 6a865f2..9cefd0f 100644 --- a/tox.ini +++ b/tox.ini @@ -1,52 +1,53 @@ [tox] envlist=flake8,mypy,py3-{core,db,server} [testenv:py3-core] deps = -rrequirements-test.txt + -rrequirements-logging.txt . commands = pytest --doctest-modules {envsitepackagesdir}/swh/core/tests {posargs} [testenv:py3-db] deps = -rrequirements-test.txt .[db] pifpaf commands = pifpaf run postgresql -- \ pytest {envsitepackagesdir}/swh/core/db/tests {posargs} [testenv:py3-server] deps = -rrequirements-test.txt .[http] commands = pytest {envsitepackagesdir}/swh/core/api/tests {posargs} [testenv:py3] deps = .[testing] pytest-cov pifpaf commands = pifpaf run postgresql -- \ pytest --doctest-modules \ --hypothesis-profile=slow \ --cov={envsitepackagesdir}/swh/core --cov-branch \ {envsitepackagesdir}/swh/core {posargs} [testenv:flake8] skip_install = true deps = flake8 commands = {envpython} -m flake8 [testenv:mypy] skip_install = true deps = .[testing] mypy commands = mypy swh