From bcf6cffdb80c36330e61b25e6d1aa21581f2386c Mon Sep 17 00:00:00 2001 From: Jeffrey Phillips Freeman <the@jeffreyfreeman.me> Date: Fri, 4 Dec 2020 18:42:56 -0500 Subject: [PATCH] Updated seed project for python 3.9 and docker. --- .bumpversion.cfg | 3 +- .cookiecutterrc | 16 ++-- .python-version | 1 + .travis.yml | 2 +- CONTRIBUTING.rst | 16 ++-- Dockerfile | 48 ++++++++++ MANIFEST.in | 4 + README.rst | 60 ++++++------ docker-compose.yml | 5 + docs/conf.py | 8 +- docs/installation.rst | 2 +- docs/reference/apex.rst | 9 -- docs/reference/index.rst | 2 +- docs/reference/stockstack.rst | 9 ++ docs/usage.rst | 4 +- setup.cfg | 13 +-- setup.py | 21 ++-- src/{apex => stockstack}/__init__.py | 0 src/{apex => stockstack}/__main__.py | 4 +- src/{apex => stockstack}/cli.py | 6 +- tests/{test_apex.py => test_stockstack.py} | 2 +- tox.ini | 106 ++++----------------- 22 files changed, 162 insertions(+), 179 deletions(-) create mode 100644 .python-version create mode 100644 Dockerfile create mode 100644 docker-compose.yml delete mode 100644 docs/reference/apex.rst create mode 100644 docs/reference/stockstack.rst rename src/{apex => stockstack}/__init__.py (100%) rename src/{apex => stockstack}/__main__.py (75%) rename src/{apex => stockstack}/cli.py (77%) rename tests/{test_apex.py => test_stockstack.py} (85%) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 1e1ab4e..7a48aa4 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -7,5 +7,4 @@ tag = True [bumpversion:file:docs/conf.py] -[bumpversion:file:src/apex/__init__.py] - +[bumpversion:file:src/stockstack/__init__.py] diff --git a/.cookiecutterrc b/.cookiecutterrc index 3c6735e..73b4f70 100644 --- a/.cookiecutterrc +++ b/.cookiecutterrc @@ -1,7 +1,7 @@ # This file exists so you can easily regenerate your project. # # `cookiepatcher` is a convenient shim around `cookiecutter` -# for regenerating projects (it will generate a .cookiecutterrc +# for regenerating projects (it will generate a .cookiecutterrc # automatically for any template). To use it: # # pip install cookiepatcher @@ -24,18 +24,18 @@ default_context: codeclimate: 'yes' codecov: 'yes' command_line_interface: 'click' - command_line_interface_bin_name: 'apex' + command_line_interface_bin_name: 'stockstack' coveralls: 'yes' - distribution_name: 'apex' + distribution_name: 'stockstack' email: 'freemo@gmail.com' full_name: 'Jeffrey Phillips Freeman' - github_username: 'syncleus' + github_username: 'stockstack' landscape: 'yes' - package_name: 'apex' - project_name: 'APEX' - project_short_description: 'APEX reference implementation' + package_name: 'stockstack' + project_name: 'StockStack' + project_short_description: 'StockStack reference implementation' release_date: '2016-3-19' - repo_name: 'apex' + repo_name: 'stockstack' requiresio: 'yes' scrutinizer: 'yes' sphinx_doctest: 'yes' diff --git a/.python-version b/.python-version new file mode 100644 index 0000000..a5c4c76 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.9.0 diff --git a/.travis.yml b/.travis.yml index 43fada4..e921384 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: python -python: '3.5' +python: '3.9' sudo: false env: global: diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 64c072d..56617d9 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -8,7 +8,7 @@ little bit helps, and credit will always be given. Bug reports =========== -When `reporting a bug <https://github.com/syncleus/apex/issues>`_ please include: +When `reporting a bug <https://git.qoto.org/stockstack/stockstack/issues>`_ please include: * Your operating system name and version. * Any details about your local setup that might be helpful in troubleshooting. @@ -17,14 +17,14 @@ When `reporting a bug <https://github.com/syncleus/apex/issues>`_ please include Documentation improvements ========================== -APEX could always use more documentation, whether as part of the -official APEX docs, in docstrings, or even on the web in blog posts, +StockStack could always use more documentation, whether as part of the +official StockStack docs, in docstrings, or even on the web in blog posts, articles, and such. Feature requests and feedback ============================= -The best way to send feedback is to file an issue at https://github.com/syncleus/apex/issues. +The best way to send feedback is to file an issue at https://git.qoto.org/stockstack/stockstack/issues. If you are proposing a feature: @@ -35,13 +35,13 @@ If you are proposing a feature: Development =========== -To set up `apex` for local development: +To set up `stockstack` for local development: -1. Fork `apex <https://github.com/syncleus/apex>`_ +1. Fork `stockstack <https://git.qoto.org/stockstack/stockstack>`_ (look for the "Fork" button). 2. Clone your fork locally:: - git clone git@github.com:your_name_here/apex.git + git clone git@git.qoto.org:your_name_here/stockstack.git 3. Create a branch for local development:: @@ -74,7 +74,7 @@ For merging, you should: 4. Add yourself to ``AUTHORS.rst``. .. [1] If you don't have all the necessary python versions available locally you can rely on Travis - it will - `run the tests <https://travis-ci.org/syncleus/apex/pull_requests>`_ for each change you add in the pull request. + `run the tests <https://travis-ci.org/stockstack/stockstack/pull_requests>`_ for each change you add in the pull request. It will be slower though ... diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..cdf8738 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,48 @@ +FROM python:3 + +LABEL maintainer="Jeffrey Phillips Freeman the@jeffreyfreeman.me" + +ENV PYENV_ROOT="/.pyenv" \ + PATH="/.pyenv/bin:/.pyenv/shims:$PATH" + +RUN curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash + +RUN apt update -y && \ + apt-get upgrade -y && \ + apt-get dist-upgrade -y && \ + apt-get install -y --no-install-recommends \ + libssl-dev \ + libreadline-gplv2-dev \ + libncursesw5-dev \ + libssl-dev \ + libsqlite3-dev \ + tk-dev \ + libgdbm-dev \ + libc6-dev \ + libbz2-dev \ + nano && \ + apt-get clean && \ + rm -r /var/lib/apt/lists/* + +#RUN pyenv install 2.7.18 && \ +# pyenv install 3.3.7 && \ +# pyenv install 3.4.10 && \ +# pyenv install 3.5.10 && \ +# pyenv install 3.9.0 && \ +# pyenv install pypy-5.7.1 + +RUN pyenv install 3.9.0 && \ + pyenv install 2.7.18 && \ + pyenv global 2.7.18 && \ + pyenv global 3.9.0 +RUN /.pyenv/versions/3.9.0/bin/python3.9 -m pip install --upgrade pip +RUN pip install tox + +RUN mkdir -p /usr/src/stockstack && \ + chmod a+rwx -R /usr/src/stockstack && \ + mkdir /.cache && \ + chmod a+rwx /.cache && \ + mkdir /.tox && \ + chmod a+rwx /.tox + +VOLUME /usr/src/stockstack diff --git a/MANIFEST.in b/MANIFEST.in index 92351c4..3290df2 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -18,4 +18,8 @@ include README.rst include tox.ini .travis.yml appveyor.yml +include docker-compose.yml +include Dockerfile +include .python-version + global-exclude *.py[cod] __pycache__ *.so *.dylib diff --git a/README.rst b/README.rst index 010d622..532d33a 100644 --- a/README.rst +++ b/README.rst @@ -16,66 +16,66 @@ Overview * - package - |version| |downloads| |wheel| |supported-versions| |supported-implementations| -.. |docs| image:: https://readthedocs.org/projects/apex/badge/?style=flat - :target: https://readthedocs.org/projects/apex +.. |docs| image:: https://readthedocs.org/projects/stockstack/badge/?style=flat + :target: https://readthedocs.org/projects/stockstack :alt: Documentation Status -.. |travis| image:: https://travis-ci.org/syncleus/apex.svg?branch=master +.. |travis| image:: https://travis-ci.org/stockstack/stockstack.svg?branch=master :alt: Travis-CI Build Status - :target: https://travis-ci.org/syncleus/apex + :target: https://travis-ci.org/stockstack/stockstack -.. |requires| image:: https://requires.io/github/Syncleus/apex/requirements.svg?branch=master +.. |requires| image:: https://requires.io/github/Syncleus/stockstack/requirements.svg?branch=master :alt: Requirements Status - :target: https://requires.io/github/Syncleus/apex/requirements/?branch=master + :target: https://requires.io/github/Syncleus/stockstack/requirements/?branch=master -.. |coveralls| image:: https://coveralls.io/repos/syncleus/apex/badge.svg?branch=master&service=github +.. |coveralls| image:: https://coveralls.io/repos/stockstack/stockstack/badge.svg?branch=master&service=github :alt: Coverage Status - :target: https://coveralls.io/r/syncleus/apex + :target: https://coveralls.io/r/stockstack/stockstack -.. |codecov| image:: https://codecov.io/github/syncleus/apex/coverage.svg?branch=master +.. |codecov| image:: https://codecov.io/github/stockstack/stockstack/coverage.svg?branch=master :alt: Coverage Status - :target: https://codecov.io/github/syncleus/apex + :target: https://codecov.io/github/stockstack/stockstack -.. |landscape| image:: https://landscape.io/github/syncleus/apex/master/landscape.svg?style=flat - :target: https://landscape.io/github/syncleus/apex/master +.. |landscape| image:: https://landscape.io/github/stockstack/stockstack/master/landscape.svg?style=flat + :target: https://landscape.io/github/stockstack/stockstack/master :alt: Code Quality Status .. |codacy| image:: https://img.shields.io/codacy/REPLACE_WITH_PROJECT_ID.svg?style=flat - :target: https://www.codacy.com/app/syncleus/apex + :target: https://www.codacy.com/app/stockstack/stockstack :alt: Codacy Code Quality Status -.. |codeclimate| image:: https://codeclimate.com/github/syncleus/apex/badges/gpa.svg - :target: https://codeclimate.com/github/syncleus/apex +.. |codeclimate| image:: https://codeclimate.com/github/stockstack/stockstack/badges/gpa.svg + :target: https://codeclimate.com/github/stockstack/stockstack :alt: CodeClimate Quality Status -.. |version| image:: https://img.shields.io/pypi/v/apex.svg?style=flat +.. |version| image:: https://img.shields.io/pypi/v/stockstack.svg?style=flat :alt: PyPI Package latest release - :target: https://pypi.python.org/pypi/apex + :target: https://pypi.python.org/pypi/stockstack -.. |downloads| image:: https://img.shields.io/pypi/dm/apex.svg?style=flat +.. |downloads| image:: https://img.shields.io/pypi/dm/stockstack.svg?style=flat :alt: PyPI Package monthly downloads - :target: https://pypi.python.org/pypi/apex + :target: https://pypi.python.org/pypi/stockstack -.. |wheel| image:: https://img.shields.io/pypi/wheel/apex.svg?style=flat +.. |wheel| image:: https://img.shields.io/pypi/wheel/stockstack.svg?style=flat :alt: PyPI Wheel - :target: https://pypi.python.org/pypi/apex + :target: https://pypi.python.org/pypi/stockstack -.. |supported-versions| image:: https://img.shields.io/pypi/pyversions/apex.svg?style=flat +.. |supported-versions| image:: https://img.shields.io/pypi/pyversions/stockstack.svg?style=flat :alt: Supported versions - :target: https://pypi.python.org/pypi/apex + :target: https://pypi.python.org/pypi/stockstack -.. |supported-implementations| image:: https://img.shields.io/pypi/implementation/apex.svg?style=flat +.. |supported-implementations| image:: https://img.shields.io/pypi/implementation/stockstack.svg?style=flat :alt: Supported implementations - :target: https://pypi.python.org/pypi/apex + :target: https://pypi.python.org/pypi/stockstack -.. |scrutinizer| image:: https://img.shields.io/scrutinizer/g/syncleus/apex/master.svg?style=flat +.. |scrutinizer| image:: https://img.shields.io/scrutinizer/g/stockstack/stockstack/master.svg?style=flat :alt: Scrutinizer Status - :target: https://scrutinizer-ci.com/g/syncleus/apex/ + :target: https://scrutinizer-ci.com/g/stockstack/stockstack/ .. end-badges -APEX reference implementation +StockStack reference implementation * Free software: BSD license @@ -84,12 +84,12 @@ Installation :: - pip install apex + pip install stockstack Documentation ============= -https://apex.readthedocs.io/ +https://stockstack.readthedocs.io/ Development =========== diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..2835fe5 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,5 @@ +version: '2' +services: + stockstack: + image: stockstack/stockstack:latest + build: . diff --git a/docs/conf.py b/docs/conf.py index 2943183..fd9f4e7 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -22,7 +22,7 @@ if os.getenv('SPELLCHECK'): source_suffix = '.rst' master_doc = 'index' -project = u'APEX' +project = u'StockStack' year = '2016' author = u'Jeffrey Phillips Freeman' copyright = '{0}, {1}'.format(year, author) @@ -31,14 +31,14 @@ version = release = u'0.1.0' pygments_style = 'trac' templates_path = ['.'] extlinks = { - 'issue': ('https://github.com/syncleus/apex/issues/%s', '#'), - 'pr': ('https://github.com/syncleus/apex/pull/%s', 'PR #'), + 'issue': ('https://git.qoto.org/stockstack/stockstack/issues/%s', '#'), + 'pr': ('https://git.qoto.org/stockstack/stockstack/merge_requests/%s', 'PR #'), } import sphinx_py3doc_enhanced_theme html_theme = "sphinx_py3doc_enhanced_theme" html_theme_path = [sphinx_py3doc_enhanced_theme.get_html_theme_path()] html_theme_options = { - 'githuburl': 'https://github.com/syncleus/apex/' + 'githuburl': 'https://git.qoto.org/stockstack/stockstack/' } html_use_smartypants = True diff --git a/docs/installation.rst b/docs/installation.rst index 4679608..a03ea7b 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -4,4 +4,4 @@ Installation At the command line:: - pip install apex + pip install stockstack diff --git a/docs/reference/apex.rst b/docs/reference/apex.rst deleted file mode 100644 index fc3ed8f..0000000 --- a/docs/reference/apex.rst +++ /dev/null @@ -1,9 +0,0 @@ -apex -==== - -.. testsetup:: - - from apex import * - -.. automodule:: apex - :members: diff --git a/docs/reference/index.rst b/docs/reference/index.rst index 5910edc..e59e51b 100644 --- a/docs/reference/index.rst +++ b/docs/reference/index.rst @@ -4,4 +4,4 @@ Reference .. toctree:: :glob: - apex* + stockstack* diff --git a/docs/reference/stockstack.rst b/docs/reference/stockstack.rst new file mode 100644 index 0000000..7edf198 --- /dev/null +++ b/docs/reference/stockstack.rst @@ -0,0 +1,9 @@ +stockstack +========== + +.. testsetup:: + + from stockstack import * + +.. automodule:: stockstack + :members: diff --git a/docs/usage.rst b/docs/usage.rst index 76c8182..319330c 100644 --- a/docs/usage.rst +++ b/docs/usage.rst @@ -2,6 +2,6 @@ Usage ===== -To use APEX in a project:: +To use StockStack in a project:: - import apex + import stockstack diff --git a/setup.cfg b/setup.cfg index bb5d771..85ee360 100644 --- a/setup.cfg +++ b/setup.cfg @@ -5,7 +5,7 @@ universal = 1 max-line-length = 140 exclude = tests/*,*/migrations/*,*/south_migrations/* -[pytest] +[tool:pytest] norecursedirs = .git .tox @@ -32,9 +32,9 @@ addopts = [isort] force_single_line=True line_length=120 -known_first_party=apex +known_first_party=stockstack default_section=THIRDPARTY -forced_separate=test_apex +forced_separate=test_stockstack not_skip = __init__.py skip = migrations, south_migrations @@ -60,11 +60,7 @@ skip = migrations, south_migrations # - can use as many you want python_versions = - 2.7 - 3.3 - 3.4 - 3.5 - pypy + 3.9 dependencies = # 1.4: Django==1.4.16 !python_versions[3.*] @@ -79,4 +75,3 @@ coverage_flags = environment_variables = - - diff --git a/setup.py b/setup.py index 270bb8a..dcea031 100644 --- a/setup.py +++ b/setup.py @@ -23,17 +23,17 @@ def read(*names, **kwargs): setup( - name='apex', + name='stockstack', version='0.1.0', - license='BSD', - description='APEX reference implementation', + license='Apache', + description='StockStack Algorithmic Trading Platform', long_description='%s\n%s' % ( re.compile('^.. start-badges.*^.. end-badges', re.M | re.S).sub('', read('README.rst')), re.sub(':[a-z]+:`~?(.*?)`', r'``\1``', read('CHANGELOG.rst')) ), author='Jeffrey Phillips Freeman', - author_email='freemo@gmail.com', - url='https://github.com/syncleus/apex', + author_email='the@jeffreyfreeman.me', + url='https://git.qoto.org/stockstack/stockstack', packages=find_packages('src'), package_dir={'': 'src'}, py_modules=[splitext(basename(path))[0] for path in glob('src/*.py')], @@ -43,18 +43,13 @@ setup( # complete classifier list: http://pypi.python.org/pypi?%3Aaction=list_classifiers 'Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', - 'License :: OSI Approved :: BSD License', + 'License :: OSI Approved :: Apache License', 'Operating System :: Unix', 'Operating System :: POSIX', 'Operating System :: Microsoft :: Windows', 'Programming Language :: Python', - 'Programming Language :: Python :: 2.7', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.3', - 'Programming Language :: Python :: 3.4', - 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: Implementation :: CPython', - 'Programming Language :: Python :: Implementation :: PyPy', # uncomment if you test on these interpreters: # 'Programming Language :: Python :: Implementation :: IronPython', # 'Programming Language :: Python :: Implementation :: Jython', @@ -74,7 +69,7 @@ setup( }, entry_points={ 'console_scripts': [ - 'apex = apex.cli:main', + 'stockstack = stockstack.cli:main', ] }, ) diff --git a/src/apex/__init__.py b/src/stockstack/__init__.py similarity index 100% rename from src/apex/__init__.py rename to src/stockstack/__init__.py diff --git a/src/apex/__main__.py b/src/stockstack/__main__.py similarity index 75% rename from src/apex/__main__.py rename to src/stockstack/__main__.py index 2396ef2..4f136b0 100644 --- a/src/apex/__main__.py +++ b/src/stockstack/__main__.py @@ -1,5 +1,5 @@ """ -Entrypoint module, in case you use `python -mapex`. +Entrypoint module, in case you use `python -mstockstack`. Why does this file exist, and why __main__? For more info, read: @@ -8,7 +8,7 @@ Why does this file exist, and why __main__? For more info, read: - https://docs.python.org/2/using/cmdline.html#cmdoption-m - https://docs.python.org/3/using/cmdline.html#cmdoption-m """ -from apex.cli import main +from stockstack.cli import main if __name__ == "__main__": main() diff --git a/src/apex/cli.py b/src/stockstack/cli.py similarity index 77% rename from src/apex/cli.py rename to src/stockstack/cli.py index b794116..c75b014 100644 --- a/src/apex/cli.py +++ b/src/stockstack/cli.py @@ -6,11 +6,11 @@ Why does this file exist, and why not put this in __main__? You might be tempted to import things from __main__ later, but that will cause problems: the code will get executed twice: - - When you run `python -mapex` python will execute + - When you run `python -mstockstack` python will execute ``__main__.py`` as a script. That means there won't be any - ``apex.__main__`` in ``sys.modules``. + ``stockstack.__main__`` in ``sys.modules``. - When you import __main__ it will get executed again (as a module) because - there's no ``apex.__main__`` in ``sys.modules``. + there's no ``stockstack.__main__`` in ``sys.modules``. Also see (1) from http://click.pocoo.org/5/setuptools/#setuptools-integration """ diff --git a/tests/test_apex.py b/tests/test_stockstack.py similarity index 85% rename from tests/test_apex.py rename to tests/test_stockstack.py index 6db136c..5f86208 100644 --- a/tests/test_apex.py +++ b/tests/test_stockstack.py @@ -1,7 +1,7 @@ from click.testing import CliRunner -from apex.cli import main +from stockstack.cli import main def test_main(): diff --git a/tox.ini b/tox.ini index e389a2b..5fb5b6b 100644 --- a/tox.ini +++ b/tox.ini @@ -1,24 +1,16 @@ [tox] envlist = clean, + build, check, - 2.7-cover, - 2.7-nocov, - 3.3-cover, - 3.3-nocov, - 3.4-cover, - 3.4-nocov, - 3.5-cover, - 3.5-nocov, - pypy-cover, - pypy-nocov, + 3.9-cover, + 3.9-nocov, report, docs [testenv] basepython = - {docs,spell}: python2.7 - {clean,check,report,extension-coveralls,coveralls,codecov}: python3.5 + {clean,check,report,extension-coveralls,coveralls,codecov,docs,spell,build}: python3.9 setenv = PYTHONPATH={toxinidir}/tests PYTHONUNBUFFERED=yes @@ -34,7 +26,7 @@ commands = setenv = SPELLCHECK=1 commands = - sphinx-build -b spelling docs dist/docs + sphinx-build -b spelling docs build/docs skip_install = true usedevelop = false deps = @@ -46,8 +38,9 @@ deps = deps = -r{toxinidir}/docs/requirements.txt commands = - sphinx-build {posargs:-E} -b html docs dist/docs - sphinx-build -b linkcheck docs dist/docs + sphinx-build {posargs:-E} -b html docs build/docs + #sphinx-build -b linkcheck docs build/docs + sphinx-build docs build/docs [testenv:bootstrap] deps = @@ -60,6 +53,10 @@ commands = passenv = * +[testenv:build] +commands = + python setup.py sdist bdist_wheel --universal + [testenv:check] deps = docutils @@ -68,10 +65,11 @@ deps = readme-renderer pygments isort + twine skip_install = true usedevelop = false commands = - python setup.py check --strict --metadata --restructuredtext + twine check dist/* check-manifest {toxinidir} flake8 src tests setup.py isort --verbose --check-only --diff --recursive src tests setup.py @@ -82,7 +80,7 @@ deps = skip_install = true usedevelop = false commands = - coverage combine --append + - coverage combine --append coverage report coveralls [] @@ -92,7 +90,7 @@ deps = skip_install = true usedevelop = false commands = - coverage combine --append + - coverage combine --append coverage report coverage xml --ignore-errors codecov [] @@ -103,7 +101,7 @@ deps = coverage skip_install = true usedevelop = false commands = - coverage combine --append + - coverage combine --append coverage report coverage html @@ -113,68 +111,12 @@ skip_install = true usedevelop = false deps = coverage -[testenv:2.7-cover] -basepython = {env:TOXPYTHON:python2.7} -setenv = - {[testenv]setenv} - WITH_COVERAGE=yes -usedevelop = true -commands = - {posargs:py.test --cov --cov-report=term-missing -vv} -deps = - {[testenv]deps} - pytest-cov - -[testenv:2.7-nocov] -basepython = {env:TOXPYTHON:python2.7} - -[testenv:3.3-cover] -basepython = {env:TOXPYTHON:python3.3} -setenv = - {[testenv]setenv} - WITH_COVERAGE=yes -usedevelop = true -commands = - {posargs:py.test --cov --cov-report=term-missing -vv} -deps = - {[testenv]deps} - pytest-cov - -[testenv:3.3-nocov] -basepython = {env:TOXPYTHON:python3.3} - -[testenv:3.4-cover] -basepython = {env:TOXPYTHON:python3.4} -setenv = - {[testenv]setenv} - WITH_COVERAGE=yes -usedevelop = true -commands = - {posargs:py.test --cov --cov-report=term-missing -vv} -deps = - {[testenv]deps} - pytest-cov - -[testenv:3.4-nocov] -basepython = {env:TOXPYTHON:python3.4} - -[testenv:3.5-cover] -basepython = {env:TOXPYTHON:python3.5} -setenv = - {[testenv]setenv} - WITH_COVERAGE=yes -usedevelop = true -commands = - {posargs:py.test --cov --cov-report=term-missing -vv} -deps = - {[testenv]deps} - pytest-cov -[testenv:3.5-nocov] -basepython = {env:TOXPYTHON:python3.5} +[testenv:3.9-nocov] +basepython = {env:TOXPYTHON:python3.9} -[testenv:pypy-cover] -basepython = {env:TOXPYTHON:pypy} +[testenv:3.9-cover] +basepython = {env:TOXPYTHON:python3.9} setenv = {[testenv]setenv} WITH_COVERAGE=yes @@ -184,9 +126,3 @@ commands = deps = {[testenv]deps} pytest-cov - -[testenv:pypy-nocov] -basepython = {env:TOXPYTHON:pypy} - - - -- GitLab