diff --git a/requirements-http.txt b/requirements-http.txt index 4c37acc..1a0bb79 100644 --- a/requirements-http.txt +++ b/requirements-http.txt @@ -1,9 +1,8 @@ # requirements for swh.core.api aiohttp aiohttp_utils >= 3.1.1 -Flask +blinker # dependency of sentry-sdk[flask] +flask iso8601 msgpack >= 1.0.0 requests -blinker # dependency of sentry-sdk[flask] -types-Flask diff --git a/requirements-test-db.txt b/requirements-test-db.txt deleted file mode 100644 index 8b13789..0000000 --- a/requirements-test-db.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/requirements-test.txt b/requirements-test.txt index 4863c62..8b9e8e4 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1,7 +1,12 @@ -pytest -pytest-mock -requests-mock hypothesis >= 3.11.0 pre-commit +pytest +pytest-mock pytz +requests-mock +types-click +types-flask types-pytz +types-pyyaml +types-requests + diff --git a/requirements.txt b/requirements.txt index a00763e..1d99a4e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,4 @@ -Click -Deprecated -PyYAML +click +deprecated +pyyaml sentry-sdk -types-click -types-PyYAML -types-requests diff --git a/setup.py b/setup.py index 27766b9..699e1b8 100755 --- a/setup.py +++ b/setup.py @@ -1,89 +1,88 @@ #!/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 from io import open import os from os import path from setuptools import find_packages, setup here = path.abspath(path.dirname(__file__)) # Get the long description from the README file with open(path.join(here, "README.rst"), 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/x-rst", python_requires=">=3.7", 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=["setuptools-scm"], use_scm_version=True, extras_require={ "testing-core": parse_requirements("test"), "logging": parse_requirements("logging"), "db": parse_requirements("db", "db-pytestplugin"), - "testing-db": parse_requirements("test-db"), "http": parse_requirements("http"), # kitchen sink, please do not use "testing": parse_requirements( - "test", "test-db", "db", "db-pytestplugin", "http", "logging" + "test", "db", "db-pytestplugin", "http", "logging" ), }, 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 [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", "Documentation": "https://docs.softwareheritage.org/devel/swh-core/", }, ) diff --git a/tox.ini b/tox.ini index 6b2c32a..63a3a55 100644 --- a/tox.ini +++ b/tox.ini @@ -1,97 +1,94 @@ [tox] envlist=black,flake8,mypy,py3-{core,db,server} [testenv] passenv = PYTHONASYNCIODEBUG extras = testing-core core: logging - db: db, testing-db + db: db server: http deps = cover: pytest-cov commands = pytest --doctest-modules \ slow: --hypothesis-profile=slow \ cover: --cov={envsitepackagesdir}/swh/core --cov-branch \ core: {envsitepackagesdir}/swh/core/tests \ db: {envsitepackagesdir}/swh/core/db/tests \ server: {envsitepackagesdir}/swh/core/api/tests \ {posargs} [testenv:py3] skip_install = true deps = tox commands = tox -e py3-core-db-server-slow-cover -- {posargs} [testenv:black] skip_install = true deps = black==19.10b0 commands = {envpython} -m black --check swh [testenv:flake8] skip_install = true deps = flake8 commands = {envpython} -m flake8 [testenv:mypy] extras = testing-core logging db - testing-db http deps = mypy commands = mypy swh # build documentation outside swh-environment using the current # git HEAD of swh-docs, is executed on CI for each diff to prevent # breaking doc build [testenv:sphinx] whitelist_externals = make usedevelop = true extras = testing-core logging db - testing-db http deps = # fetch and install swh-docs in develop mode -e git+https://forge.softwareheritage.org/source/swh-docs#egg=swh.docs setenv = SWH_PACKAGE_DOC_TOX_BUILD = 1 # turn warnings into errors SPHINXOPTS = -W commands = make -I ../.tox/sphinx/src/swh-docs/swh/ -C docs # build documentation only inside swh-environment using local state # of swh-docs package [testenv:sphinx-dev] whitelist_externals = make usedevelop = true extras = testing-core logging db - testing-db http deps = # install swh-docs in develop mode -e ../swh-docs setenv = SWH_PACKAGE_DOC_TOX_BUILD = 1 # turn warnings into errors SPHINXOPTS = -W commands = make -I ../.tox/sphinx-dev/src/swh-docs/swh/ -C docs