From 6f6b36d83369cfb95b6b0071caf82c89818ef020 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= Date: Sun, 20 Sep 2020 14:23:10 +0300 Subject: Updated packaging/testing configuration --- pyproject.toml | 28 ++++++++++++++++++++++++++-- setup.cfg | 23 ++++++++--------------- tox.ini | 35 ++++++++++++++++++++++++----------- 3 files changed, 58 insertions(+), 28 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 8d00597..d720aeb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,31 @@ [build-system] requires = [ - "setuptools >= 40.0.4", - "setuptools_scm >= 2.0.0", + "setuptools >= 42", "wheel >= 0.29.0", + "setuptools_scm[toml] >= 3.4" ] build-backend = "setuptools.build_meta" + +[tool.setuptools_scm] +version_scheme = "post-release" +local_scheme = "dirty-tag" + +[tool.pytest.ini_options] +addopts = "-rsx --tb=short" +testpaths = "tests" +filterwarnings = "always" + +[tool.coverage.run] +source = ["apscheduler"] + +[tool.coverage.report] +show_missing = true + +[tool.isort] +src_paths = ["src"] +skip_gitignore = true +line_length = 99 +multi_line_output = 4 + +[tool.autopep8] +max_line_length = 99 diff --git a/setup.cfg b/setup.cfg index 6fe6cf0..9a7a04a 100644 --- a/setup.cfg +++ b/setup.cfg @@ -11,46 +11,39 @@ classifiers = License :: OSI Approved :: MIT License Programming Language :: Python Programming Language :: Python :: 3 :: Only - Programming Language :: Python :: 3.6 Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 + Programming Language :: Python :: 3.9 keywords = scheduling cron license = MIT [options] packages = find: -python_requires = >= 3.6 +python_requires = >= 3.7 install_requires = - dataclasses >= 0.7; python_version < '3.7' + anyio ~= 2.0 + backports.zoneinfo; python_version < '3.9' + sortedcontainers ~= 2.2 python-dateutil >= 2.8 pytz tzlocal >= 1.2 [options.extras_require] +cbor = cbor2 >= 5.0 mongodb = motor ~= 2.1 postgresql = asyncpg >= 0.20 redis = redis -sqlalchemy = sqlalchemy >= 1.3 +sqlalchemy = sqlalchemy >= 1.4.0b1 twisted = twisted zookeeper = kazoo test = + coverage pytest >= 5.0 pytest-cov pytest-mock - pytest-tornado5 doc = sphinx sphinx-rtd-theme -[tool:pytest] -addopts = -rsx --cov --tb=short -testpaths = tests - -[coverage:run] -source = apscheduler - -[coverage:report] -show_missing = true - [flake8] max-line-length = 99 diff --git a/tox.ini b/tox.ini index 6e452ad..0de9fdd 100644 --- a/tox.ini +++ b/tox.ini @@ -1,22 +1,35 @@ [tox] -minversion = 3.3.0 -envlist = py35, py36, py37, py38, pypy3, flake8 +minversion = 3.7.0 +envlist = lint, py37, py38, py39, flake8 skip_missing_interpreters = true isolated_build = true [testenv] -commands = python -m pytest {posargs} +commands = coverage run -m pytest {posargs} extras = test - gevent - mongodb - redis - rethinkdb - sqlalchemy - tornado - twisted - zookeeper + cbor +deps = + curio + trio + +[testenv:lint] +deps = + isort + autopep8 +commands = + autopep8 -r -i apscheduler tests + isort apscheduler tests +skip_install = true [testenv:flake8] +basepython = python3.7 +depends = lint deps = flake8 commands = flake8 apscheduler tests skip_install = true + +[testenv:mypy] +basepython = python3.8 +deps = mypy +commands = mypy {posargs} apscheduler +skip_install = true -- cgit v1.2.1