Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tox fails due to ssl #809

Closed
BeyondEvil opened this issue May 8, 2018 · 16 comments
Closed

tox fails due to ssl #809

BeyondEvil opened this issue May 8, 2018 · 16 comments

Comments

@BeyondEvil
Copy link
Contributor

BeyondEvil commented May 8, 2018

Thanks for submitting an issue!

You're welcome.

Stacktrace:

Jims-MacBook-Pro:pytest-tags jimbrannlund$ tox
GLOB sdist-make: /Users/jimbrannlund/dev/pytest-tags/setup.py
py27-pytest29 inst-nodeps: /Users/jimbrannlund/dev/pytest-tags/.tox/dist/pytest-tags-1.5.dev3+gc8cf057.d20180508.zip
ERROR: invocation failed (exit code 1), logfile: /Users/jimbrannlund/dev/pytest-tags/.tox/py27-pytest29/log/py27-pytest29-4.log
ERROR: actionid: py27-pytest29
msg: installpkg
cmdargs: ['/Users/jimbrannlund/dev/pytest-tags/.tox/py27-pytest29/bin/pip', 'install', '-U', '--no-deps', '/Users/jimbrannlund/dev/pytest-tags/.tox/dist/pytest-tags-1.5.dev3+gc8cf057.d20180508.zip']

Processing ./.tox/dist/pytest-tags-1.5.dev3+gc8cf057.d20180508.zip
    Complete output from command python setup.py egg_info:
    Download error on https://pypi.org/simple/setuptools_scm/: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) -- Some packages may not be found!
    Download error on https://pypi.org/simple/setuptools-scm/: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) -- Some packages may not be found!
    Couldn't find index page for 'setuptools_scm' (maybe misspelled?)
    Download error on https://pypi.org/simple/: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) -- Some packages may not be found!
    No local packages or working download links found for setuptools_scm
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/8g/g0s3c_xn0d793245v_mj5khm0000gn/T/pip-req-build-QWAMDv/setup.py", line 41, in <module>
        'Programming Language :: Python :: 3.6'])
      File "/Users/jimbrannlund/dev/pytest-tags/.tox/py27-pytest29/lib/python2.7/site-packages/setuptools/__init__.py", line 128, in setup
        _install_setup_requires(attrs)
      File "/Users/jimbrannlund/dev/pytest-tags/.tox/py27-pytest29/lib/python2.7/site-packages/setuptools/__init__.py", line 123, in _install_setup_requires
        dist.fetch_build_eggs(dist.setup_requires)
      File "/Users/jimbrannlund/dev/pytest-tags/.tox/py27-pytest29/lib/python2.7/site-packages/setuptools/dist.py", line 504, in fetch_build_eggs
        replace_conflicting=True,
      File "/Users/jimbrannlund/dev/pytest-tags/.tox/py27-pytest29/lib/python2.7/site-packages/pkg_resources/__init__.py", line 774, in resolve
        replace_conflicting=replace_conflicting
      File "/Users/jimbrannlund/dev/pytest-tags/.tox/py27-pytest29/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1057, in best_match
        return self.obtain(req, installer)
      File "/Users/jimbrannlund/dev/pytest-tags/.tox/py27-pytest29/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1069, in obtain
        return installer(requirement)
      File "/Users/jimbrannlund/dev/pytest-tags/.tox/py27-pytest29/lib/python2.7/site-packages/setuptools/dist.py", line 571, in fetch_build_egg
        return cmd.easy_install(req)
      File "/Users/jimbrannlund/dev/pytest-tags/.tox/py27-pytest29/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 667, in easy_install
        raise DistutilsError(msg)
    distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('setuptools_scm')
    
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/8g/g0s3c_xn0d793245v_mj5khm0000gn/T/pip-req-build-QWAMDv/

MacOS 10.12.6

tox --version: 3.0.0 imported from /usr/local/lib/python3.6/site-packages/tox/init.py

pip3 list:

Package          Version  
---------------- ---------
certifi          2018.4.16
pip              10.0.1   
pipenv           11.10.3  
pluggy           0.6.0    
py               1.5.3    
setuptools       39.1.0   
six              1.11.0   
tox              3.0.0    
virtualenv       15.2.0   
virtualenv-clone 0.3.0    
wheel            0.31.0   

tox.ini:


# Tox (http://tox.testrun.org/) is a tool for running tests
# in multiple virtualenvs. This configuration file will run the
# test suite on all supported python versions. To use it, "pip install tox"
# and then run "tox" from this directory.

[tox]
envlist = py{27,36}-pytest{29,30,31,32,33,34,35}, flake8

[testenv]
commands = py.test -v -r a {posargs}
deps =
    pytest29: pytest==2.9.2
    pytest30: pytest==3.0.7
    pytest31: pytest==3.1.3
    pytest32: pytest==3.2.5
    pytest33: pytest==3.3.2
    pytest34: pytest==3.4.2
    pytest35: pytest==3.5.1

[testenv:flake8]
skip_install = true
basepython = python
deps = flake8
commands = flake8 {posargs:.}

[flake8]
exclude = .tox,build

@BeyondEvil
Copy link
Contributor Author

Fixed by installing non mac os python 2.7 brew install python@2

@jaraco
Copy link

jaraco commented Dec 1, 2018

I'm experiencing this issue as well on more recent Pythons (latest available Python 3.5 binary for macOS).

I can replicate the issue by simply invoking tox twice on any of my projects. For example, consider portend:

portend master $ tox -e py35
py35 create: /Users/jaraco/code/main/portend/.tox/py35
py35 installdeps: setuptools>=31.0.1
py35 develop-inst: /Users/jaraco/code/main/portend
py35 installed: You are using pip version 10.0.1, however version 18.1 is available.,You should consider upgrading via the 'pip install --upgrade pip' command.,atomicwrites==1.2.1,attrs==18.2.0,docutils==0.14,flake8==3.6.0,importlib-metadata==0.7,jaraco.functools==1.20,mccabe==0.6.1,more-itertools==4.3.0,pathlib2==2.3.3,pluggy==0.8.0,-e git+gh://jaraco/portend@00351e5cf677a5636dd5466ef6b5b50548fb72c5#egg=portend,py==1.7.0,pycodestyle==2.4.0,pyflakes==2.0.0,pytest==4.0.1,pytest-checkdocs==1.1.1,pytest-flake8==1.0.2,pytz==2018.7,six==1.11.0,tempora==1.14
py35 run-test-pre: PYTHONHASHSEED='2537722485'
py35 runtests: commands[0] | pytest
================================================================================== test session starts ==================================================================================
platform darwin -- Python 3.5.4, pytest-4.0.1, py-1.7.0, pluggy-0.8.0
cachedir: .tox/py35/.pytest_cache
rootdir: /Users/jaraco/code/main/portend, inifile: pytest.ini
plugins: flake8-1.0.2, checkdocs-1.1.1
collected 14 items

portend.py ......                                                                                                                                                                 [ 42%]
setup.py ..                                                                                                                                                                       [ 57%]
test_portend.py .....                                                                                                                                                             [ 92%]
docs/conf.py .                                                                                                                                                                    [100%]

=============================================================================== 14 passed in 1.26 seconds ===============================================================================
________________________________________________________________________________________ summary ________________________________________________________________________________________
  py35: commands succeeded
  congratulations :)
portend master $ tox -e py35 -v
using tox.ini: /Users/jaraco/code/main/portend/tox.ini
using tox-3.5.3 from /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tox/__init__.py
py35 reusing: /Users/jaraco/code/main/portend/.tox/py35
  /Users/jaraco/code/main/portend$ /Users/jaraco/code/main/portend/.tox/py35/bin/python /Users/jaraco/code/main/portend/setup.py --name
Download error on https://pypi.org/simple/setuptools_scm/: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:719) -- Some packages may not be found!
Download error on https://pypi.org/simple/setuptools-scm/: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:719) -- Some packages may not be found!
Couldn't find index page for 'setuptools_scm' (maybe misspelled?)
Download error on https://pypi.org/simple/: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:719) -- Some packages may not be found!
No local packages or working download links found for setuptools_scm>=1.15.0
Traceback (most recent call last):
  File "/Users/jaraco/code/main/portend/setup.py", line 8, in <module>
    setuptools.setup(use_scm_version=True)
  File "/Users/jaraco/code/main/portend/.tox/py35/lib/python3.5/site-packages/setuptools/__init__.py", line 128, in setup
    _install_setup_requires(attrs)
  File "/Users/jaraco/code/main/portend/.tox/py35/lib/python3.5/site-packages/setuptools/__init__.py", line 123, in _install_setup_requires
    dist.fetch_build_eggs(dist.setup_requires)
  File "/Users/jaraco/code/main/portend/.tox/py35/lib/python3.5/site-packages/setuptools/dist.py", line 504, in fetch_build_eggs
    replace_conflicting=True,
  File "/Users/jaraco/code/main/portend/.tox/py35/lib/python3.5/site-packages/pkg_resources/__init__.py", line 774, in resolve
    replace_conflicting=replace_conflicting
  File "/Users/jaraco/code/main/portend/.tox/py35/lib/python3.5/site-packages/pkg_resources/__init__.py", line 1057, in best_match
    return self.obtain(req, installer)
  File "/Users/jaraco/code/main/portend/.tox/py35/lib/python3.5/site-packages/pkg_resources/__init__.py", line 1069, in obtain
    return installer(requirement)
  File "/Users/jaraco/code/main/portend/.tox/py35/lib/python3.5/site-packages/setuptools/dist.py", line 571, in fetch_build_egg
    return cmd.easy_install(req)
  File "/Users/jaraco/code/main/portend/.tox/py35/lib/python3.5/site-packages/setuptools/command/easy_install.py", line 667, in easy_install
    raise DistutilsError(msg)
distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('setuptools_scm>=1.15.0')
  /Users/jaraco/code/main/portend$ /Users/jaraco/code/main/portend/.tox/py35/bin/python -m pip freeze >/Users/jaraco/code/main/portend/.tox/py35/log/py35-4.log
py35 installed: You are using pip version 10.0.1, however version 18.1 is available.,You should consider upgrading via the 'pip install --upgrade pip' command.,atomicwrites==1.2.1,attrs==18.2.0,docutils==0.14,flake8==3.6.0,importlib-metadata==0.7,jaraco.functools==1.20,mccabe==0.6.1,more-itertools==4.3.0,pathlib2==2.3.3,pluggy==0.8.0,-e git+gh://jaraco/portend@00351e5cf677a5636dd5466ef6b5b50548fb72c5#egg=portend,py==1.7.0,pycodestyle==2.4.0,pyflakes==2.0.0,pytest==4.0.1,pytest-checkdocs==1.1.1,pytest-flake8==1.0.2,pytz==2018.7,six==1.11.0,tempora==1.14
________________________________________________________________________________________ summary ________________________________________________________________________________________
ERROR:   py35: InvocationError for command '/Users/jaraco/code/main/portend/.tox/py35/bin/python /Users/jaraco/code/main/portend/setup.py --name' (exited with code 1)

Upgrading pip and setuptools to the latest results in the same outcome.

The first run works fine, but the second run fails when tox invokes setup.py --name. Because the package declares a setup_requires argument, and because tox isn't honoring the PEP-518 declaration for that build dependency, the setup.py invocation falls back to honoring setup_requires, invoking the deprecated easy_install which has only old TLS support as was included in the Python 3.5.4 build on macOS.

My instinct is that tox should not be invoking setup.py (anything) and if it needs the name of the local package, it should get it another way. I believe the importlib_metadata project would be the best place for that functionality, and in issue 27, I've captured the shortcoming of that library. That issue also links to a workaround I've implemented in pytest-checkdocs that works with the current releases of importlib_metadata.

@gaborbernat
Copy link
Member

gaborbernat commented Dec 1, 2018

This is a pip/setuptools issue at its core. Rightly identified the problem though, did you consider switching to isolated build? it really should be default mode, but we can't do that for backwards compatibility reasons. https://tox.readthedocs.io/en/latest/config.html#conf-isolated_build_env

@gaborbernat
Copy link
Member

setup requires is deprecated though and shouldn't be used with pyproject toml around unless you can't have pip 10 installed.

@jaraco
Copy link

jaraco commented Dec 1, 2018

setup requires is deprecated though and shouldn't be used with pyproject toml around unless you can't have pip 10 installed.

I'm considering dropping setup_requires for this reason... I'm wary of distributing packages that break on pip 9 and earlier, though, which is what would happen if I removed the setup_requires. Although, as I think about it more, these packages also distribute wheels, and so environments that support wheel installs would not be affected - only those that build from source. So maybe that's the best course of action. I've confirmed, removing setup_requires allows the tests to proceed.

did you consider switching to isolated build?

I hadn't, but I just tried it and it has no effect, probably because I'm also using usedevelop = True.

portend master $ git diff
diff --git a/tox.ini b/tox.ini
index 4121a91..955a549 100644
--- a/tox.ini
+++ b/tox.ini
@@ -9,6 +9,7 @@ commands =
        pytest {posargs}
 usedevelop = True
 extras = testing
+isolated_build = True

 [testenv:build-docs]
 extras =

jaraco added a commit to jaraco/skeleton that referenced this issue Dec 1, 2018
… build/install from sdist. Older installers will still install the packages from wheels. Ref tox-dev/tox#809.
@jaraco
Copy link

jaraco commented Dec 1, 2018

I plan to proceed by eliminating the setup_requires declaration. I'll report back if that turns out not to be a viable option.

@jaraco
Copy link

jaraco commented Dec 5, 2018

I've found another situation that triggers this failure. In importlib_metadata's setup.py, it doesn't use setuptools_scm as a setuptools plugin, but instead invokes it explicitly in the setup.py. Thus when tox calls setup.py --name, it fails. And again, isolated_build = True has no effect.

I think this issue should be solved in tox. If you agree, would you recommend to re-open this issue or should I file a separate one?

@gaborbernat
Copy link
Member

separate it's got to do with setup.py name, but yeah I'll accept the issue

@pquentin
Copy link

pquentin commented Dec 7, 2018

Thanks for the investigation, @jaraco! This saved me a lof of time.

I got hit by a related issue when using Python 3.5 from python.org in Travis. While I was using tox, the issue was not about tox: it was about using an extra in a dependency. While pip install twisted works with a recent enough pip, pip install twisted[tls] does not:

$ pip install "twisted[tls]"
Collecting twisted[tls]
  Downloading https://files.pythonhosted.org/packages/5d/0e/a72d85a55761c2c3ff1cb968143a2fd5f360220779ed90e0fadf4106d4f2/Twisted-18.9.0.tar.bz2 (3.1MB)
    100% |████████████████████████████████| 3.2MB 1.3MB/s
    Complete output from command python setup.py egg_info:
    Download error on https://pypi.org/simple/incremental/: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:719) -- Some packages may not be found!
    Couldn't find index page for 'incremental' (maybe misspelled?)
    Download error on https://pypi.org/simple/: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:719) -- Some packages may not be found!
    No local packages or working download links found for incremental>=16.10.1
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/g7/hm9bdhbx30j7cdzt9f9n4h0c0000gn/T/pip-install-j5k26gd5/twisted/setup.py", line 20, in <module>
        setuptools.setup(**_setup["getSetupArgs"]())
      File "/.../lib/python3.5/site-packages/setuptools/__init__.py", line 142, in setup
        _install_setup_requires(attrs)
      File "/.../lib/python3.5/site-packages/setuptools/__init__.py", line 137, in _install_setup_requires
        dist.fetch_build_eggs(dist.setup_requires)
      File "/.../lib/python3.5/site-packages/setuptools/dist.py", line 586, in fetch_build_eggs
        replace_conflicting=True,
      File "/.../lib/python3.5/site-packages/pkg_resources/__init__.py", line 780, in resolve
        replace_conflicting=replace_conflicting
      File "/.../lib/python3.5/site-packages/pkg_resources/__init__.py", line 1063, in best_match
        return self.obtain(req, installer)
      File "/.../lib/python3.5/site-packages/pkg_resources/__init__.py", line 1075, in obtain
        return installer(requirement)
      File "/.../lib/python3.5/site-packages/setuptools/dist.py", line 653, in fetch_build_egg
        return cmd.easy_install(req)
      File "/.../lib/python3.5/site-packages/setuptools/command/easy_install.py", line 673, in easy_install
        raise DistutilsError(msg)
    distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('incremental>=16.10.1')

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/g7/hm9bdhbx30j7cdzt9f9n4h0c0000gn/T/pip-install-j5k26gd5/twisted/

@jaraco
Copy link

jaraco commented Dec 9, 2018

I plan to proceed by eliminating the setup_requires declaration. I'll report back if that turns out not to be a viable option.

Turns out, that's not a viable option because build tools don't currently have a way to build an sdist based on pyproject.toml files.

@jaraco
Copy link

jaraco commented Dec 10, 2018

@pquentin I believe the issue you've encountered is similar, but probably can be addressed in the Twisted project by adding a pyproject.toml and specifying the setup_requires dependencies as build dependencies and the installers using pip 10 or later. Or Twisted could cut binary releases as wheels for your platform. I would recommend one or both of those actions in that project.

jaraco added a commit to jaraco/skeleton that referenced this issue Dec 11, 2018
…later to build/install from sdist. Older installers will still install the packages from wheels. Ref tox-dev/tox#809."

This reverts commit 2c91e8e.
@pquentin
Copy link

pquentin commented Dec 12, 2018

@jaraco I'm confused by the situation, sorry. I thought adding "[tls]" simply meant that more runtime dependencies would get installed. Since wheels and pyproject.toml are about build dependencies, how would they help here?

@jaraco
Copy link

jaraco commented Dec 13, 2018

@pquentin I think you're confused because you were installing twisted[tls] but the command failed early in the build of twisted (irrespective of [tls]). I was able to replicate your error without requesting the tls extra. The issue you hit is that Twisted declares incremental as a setup_requires dependency. But doesn't declare that as a build dependency in their pyproject.toml (PEP 518 style). If they did, and you were installing with pip 10 or later, you would not have encountered the error.

clrpackages pushed a commit to clearlinux-pkgs/jaraco.functools that referenced this issue Jan 2, 2019
…workaround

Jason R. Coombs (38):
      Add appveyor badge (commented). Disable RTD by default.
      Limit workaround to affected Python
      Bump minimum pytest version
      Add pyproject.toml declaring build dependencies.
      When ignoring linter warnings, document the reason.
      Disable the (broken) IPv6 in Travis. Ref travis-ci/travis-ci#8361.
      Don't match issues if preceeded by some other indicator.
      skip_upload_docs is default
      Drop the dot; http://blog.pytest.org/2016/whats-new-in-pytest-30/
      Rely on declarative config to create long_description.
      Remove workaround for pyyaml 126.
      Revert "Remove workaround for pyyaml 126."
      We're getting close, but Python 3.7 still requires a workaround
      Extend docstring to demonstrate assign_params on methods.
      Use xenial to include support for Python 3.7.
      Remove release, no longer needed. Use twine instead.
      Also ignore W504 in flake8, following the indication in OCA/maintainer-quality-tools that neither W503 nor W504 are worthwhile in general.
      Release of pyyaml 3.13 seems to have fixed install issues on Python 3.7.
      Block pytest 3.7.3 due to pytest-dev/pytest#3888.
      Move most package config to declarative config
      Ignore pycodestyle warning. Seems it's not going to be fixed anytime soon.
      Also ignore flake8 error
      Require setuptools 34.4 to support python_requires in declarative config.
      Add workaround for Teemu/pytest-sugar#159.
      Remove workaround for pytest-sugar 159, now fixed.
      Remove pytest-sugar plugin from standard pipelines as recommended in Teemu/pytest-sugar#159.
      Prefer pytest-checkdocs to collective.checkdocs
      Suppress deprecation warning in docutils
      Remove use of setup_requires. Builders now require pip 10 or later to build/install from sdist. Older installers will still install the packages from wheels. Ref tox-dev/tox#809.
      Revert "Remove use of setup_requires. Builders now require pip 10 or later to build/install from sdist. Older installers will still install the packages from wheels. Ref tox-dev/tox#809."
      Indicate build backend of setuptools
      Add support for cutting releases without DPL and using pep517.
      Rely on pep517 0.5
      Add documentation on the skeleton. Fixes #5.
      Add workaround for DeprecationWarning in flake8
      Use consistent encoding quoting in pyproject.toml
      Clarify purpose of local/upstream extras
      Switch to pkgutil namespace technique

Sebastian Kriems (1):
      spaces, style and formatters (#4)

2.0
===

Switch to `pkgutil namespace technique
<https://packaging.python.org/guides/packaging-namespace-packages/#pkgutil-style-namespace-packages>`_
for the ``jaraco`` namespace.
@ssbarnea
Copy link
Member

ssbarnea commented Jan 4, 2019

I encountered an almost indentical bug while using a local http_proxy which rewrites SSL certificats. I was ready to "blame" pip for not respecting the local CA certificate store but I discovered that running pip worked just fine, only tox was failing. Even more interesting tox was failing while trying to install the dependencies mentioned in deps. Running pip install with the same arguments from deps, in side the same virtualenv under tox worked. The envinronment was py36, but probably this does not matter.

You can find the broken environment at https://github.com/openstack/python-tripleoclient/blob/master/tox.ini#L85

I tried an alternative way to rewrite it which worked:

[testenv:lower-constraints]
basepython = python3
commands = pip install -c{toxinidir}/lower-constraints.txt -r{toxinidir}/test-requirements.txt -r{toxinidir}/requirements.txt

Full error at https://gist.github.com/ssbarnea/7f154af55f4e479e1055ed49fafbc6f8

I mention that I did add REQUESTS_CA_BUNDLE to the passenv, which is the workaround for making pip work with SSL proxies (pip uses requests, and requests library does not use the standard SSL_CERT_FILE variable so you need to define all).

Any more ideas?

GitHub
python utility to manage a tripleo based cloud. Contribute to openstack/python-tripleoclient development by creating an account on GitHub.
Gist
GitHub Gist: instantly share code, notes, and snippets.

@gaborbernat
Copy link
Member

It's not pip that fails here, or tox. It's easy_install. To fix your issue you need to find out where easy_install pulls the certificate from (best guess SSL_CERT_FILE).

clrpackages pushed a commit to clearlinux-pkgs/portend that referenced this issue Apr 8, 2019
Jason R. Coombs (36):
      Don't match issues if preceeded by some other indicator.
      skip_upload_docs is default
      Drop the dot; http://blog.pytest.org/2016/whats-new-in-pytest-30/
      Rely on declarative config to create long_description.
      Remove workaround for pyyaml 126.
      Revert "Remove workaround for pyyaml 126."
      We're getting close, but Python 3.7 still requires a workaround
      Use xenial to include support for Python 3.7.
      Remove release, no longer needed. Use twine instead.
      Also ignore W504 in flake8, following the indication in OCA/maintainer-quality-tools that neither W503 nor W504 are worthwhile in general.
      Consistent formatting in readme
      Release of pyyaml 3.13 seems to have fixed install issues on Python 3.7.
      Block pytest 3.7.3 due to pytest-dev/pytest#3888.
      Move most package config to declarative config
      Ignore pycodestyle warning. Seems it's not going to be fixed anytime soon.
      Also ignore flake8 error
      Require setuptools 34.4 to support python_requires in declarative config.
      Add workaround for Teemu/pytest-sugar#159.
      Remove workaround for pytest-sugar 159, now fixed.
      Remove pytest-sugar plugin from standard pipelines as recommended in Teemu/pytest-sugar#159.
      Prefer pytest-checkdocs to collective.checkdocs
      Fix deprecation warning.
      Suppress deprecation warning in docutils
      Remove use of setup_requires. Builders now require pip 10 or later to build/install from sdist. Older installers will still install the packages from wheels. Ref tox-dev/tox#809.
      Rely on getaddrinfo to determine viable family to which to bind. Fixes #6.
      Revert "Remove use of setup_requires. Builders now require pip 10 or later to build/install from sdist. Older installers will still install the packages from wheels. Ref tox-dev/tox#809."
      Indicate build backend of setuptools
      Add support for cutting releases without DPL and using pep517.
      Rely on pep517 0.5
      Add documentation on the skeleton. Fixes #5.
      Add workaround for DeprecationWarning in flake8
      Use consistent encoding quoting in pyproject.toml
      Clarify purpose of local/upstream extras
      Suppress E117 as workaround for PyCQA/pycodestyle#836
      Amend skeleton documentation to expand on the value of the approach.
      Remove sudo declaration in Travis config.

Sebastian Kriems (1):
      spaces, style and formatters (#4)
clrpackages pushed a commit to clearlinux-pkgs/tempora that referenced this issue Apr 16, 2019
…he year running up to a leap day. Fixes #7.

Jason R. Coombs (20):
      Update readme to reference UTC module.
      Add workaround for Teemu/pytest-sugar#159.
      Remove workaround for pytest-sugar 159, now fixed.
      Remove pytest-sugar plugin from standard pipelines as recommended in Teemu/pytest-sugar#159.
      Add test demonstrating aware comparisons
      Prefer pytest-checkdocs to collective.checkdocs
      Suppress deprecation warning in docutils
      Remove use of setup_requires. Builders now require pip 10 or later to build/install from sdist. Older installers will still install the packages from wheels. Ref tox-dev/tox#809.
      Revert "Remove use of setup_requires. Builders now require pip 10 or later to build/install from sdist. Older installers will still install the packages from wheels. Ref tox-dev/tox#809."
      Indicate build backend of setuptools
      Add support for cutting releases without DPL and using pep517.
      Rely on pep517 0.5
      Add documentation on the skeleton. Fixes #5.
      Add workaround for DeprecationWarning in flake8
      Use consistent encoding quoting in pyproject.toml
      Clarify purpose of local/upstream extras
      Suppress E117 as workaround for PyCQA/pycodestyle#836
      Amend skeleton documentation to expand on the value of the approach.
      Remove sudo declaration in Travis config.
      Fix error in parse_timedelta doctest when run in the year running up to a leap day. Fixes #7.

Sebastian Kriems (1):
      spaces, style and formatters (#4)
clrpackages pushed a commit to clearlinux-pkgs/keyring that referenced this issue May 6, 2019
… but doesn't violate linter's sensibilities.

Andrew Dibble (1):
      add more specific error messages from _OS_X_API and re-raise more specific cross-platform exceptions from OS_X backend

Dmitry Shachnev (1):
      Remove no longer used imports

Hugo (5):
      sudo no longer needed https://blog.travis-ci.com/2018-11-19-required-linux-infrastructure-migration
      Drop support for EOL Python 2.7 - 3.4
      Upgrade Python syntax with pyupgrade --py3-plus
      The future is now
      Major bump: Drop support for EOL Python 2.7 - 3.4

Jason R. Coombs (49):
      Move most package config to declarative config
      Ignore pycodestyle warning. Seems it's not going to be fixed anytime soon.
      Also ignore flake8 error
      Update changelog. Ref #353. Ref #354.
      Require setuptools 34.4 to support python_requires in declarative config.
      Once again allow low-priority keyrings to participate. Fixes #357.
      Chained keyring needs to exclude the fail.Keyring, so a chainer doesn't fall on it when no backends resolve the password.
      Update changelog. Ref #357.
      Set priority to 0, set viability to permanently null. Add test to ensure keyring can render itself. Ref #358.
      Reveal appveyor badge
      Add workaround for Teemu/pytest-sugar#159.
      Remove old workaround
      In Windows backend, rely on ExceptionRaisedContext to catch all exceptions during import of pywin32-ctypes (or pywin32). Fixes #319.
      Remove workaround for pytest-sugar 159, now fixed.
      Remove pytest-sugar plugin from standard pipelines as recommended in Teemu/pytest-sugar#159.
      Chainer is now a normal backend, discovered like any other, but with the highest priority.
      Add a test for the chainer.
      ChainerBackend now functions as a normal backend.
      Avoid circular import in core. Workaround and fixes #362.
      Prefer pytest-checkdocs to collective.checkdocs
      Update changelog. Ref #346.
      Suppress deprecation warning in docutils
      Remove use of setup_requires. Builders now require pip 10 or later to build/install from sdist. Older installers will still install the packages from wheels. Ref tox-dev/tox#809.
      In ChainerBackend, honor any limit that might have been set during init_backend. Fixes #366.
      Move by_priority and _limit to keyring.backend to avoid circular import issues.
      Avoid hanging indent
      Remove reference to 'demo' as part of the repository; just illustrate the concept. Fixes #318.
      Revert "Remove use of setup_requires. Builders now require pip 10 or later to build/install from sdist. Older installers will still install the packages from wheels. Ref tox-dev/tox#809."
      Indicate build backend of setuptools
      Add support for cutting releases without DPL and using pep517.
      Rely on pep517 0.5
      Add documentation on the skeleton. Fixes #5.
      Update changelog. Fixes #368.
      Add workaround for DeprecationWarning in flake8
      Use consistent encoding quoting in pyproject.toml
      Clarify purpose of local/upstream extras
      For brevity, reference the project page.
      Add Tidelift template
      Try building with 'alabaster' theme
      Suppress E117 as workaround for PyCQA/pycodestyle#836
      Amend skeleton documentation to expand on the value of the approach.
      Update changelog. Ref #376.
      Remove sudo declaration in Travis config.
      ExceptionInfo no longer retains a reference to the traceback. Fixes #386.
      Add test capturing expectation around the ExceptionInfo object. Ref #386.
      Assign to _, which saves a reference to the object but doesn't violate linter's sensibilities.
      Avoid contractions
      Add dependency on backports.unittest_mock
      Update changelog

Preston Cowley (1):
      Fix for issue #371:  Keyring no longer tells user to use non-recommended backend.

Sebastian Kriems (1):
      spaces, style and formatters (#4)

Steve Dower (5):
      Fixes #352 Allow all backends to participate
      Fixes #323 Race condition in Windows delete_password
      Remove extra newline
      Add get_credential() info
      Fix ReST formatting

pavlos.platanias (1):
      Fixes #345 by removing application field from stored passwords using SecretService
clrpackages pushed a commit to clearlinux-pkgs/pytest-runner that referenced this issue May 24, 2019
…support setuptools older than 30.4. Fixes #49.

Jason R. Coombs (57):
      Bump minimum pytest version
      Add pyproject.toml declaring build dependencies.
      When ignoring linter warnings, document the reason.
      Disable the (broken) IPv6 in Travis. Ref travis-ci/travis-ci#8361.
      Don't match issues if preceeded by some other indicator.
      skip_upload_docs is default
      Drop the dot; http://blog.pytest.org/2016/whats-new-in-pytest-30/
      Rely on declarative config to create long_description.
      Remove workaround for pyyaml 126.
      Revert "Remove workaround for pyyaml 126."
      We're getting close, but Python 3.7 still requires a workaround
      Use xenial to include support for Python 3.7.
      Remove release, no longer needed. Use twine instead.
      Also ignore W504 in flake8, following the indication in OCA/maintainer-quality-tools that neither W503 nor W504 are worthwhile in general.
      Release of pyyaml 3.13 seems to have fixed install issues on Python 3.7.
      Block pytest 3.7.3 due to pytest-dev/pytest#3888.
      Move most package config to declarative config
      Ignore pycodestyle warning. Seems it's not going to be fixed anytime soon.
      Also ignore flake8 error
      Require setuptools 34.4 to support python_requires in declarative config.
      Add workaround for Teemu/pytest-sugar#159.
      Add black config, pre-commit including black, check code with black.
      Remove workaround for pytest-sugar 159, now fixed.
      Remove pytest-sugar plugin from standard pipelines as recommended in Teemu/pytest-sugar#159.
      Prefer pytest-checkdocs to collective.checkdocs
      Suppress deprecation warning in docutils
      Remove use of setup_requires. Builders now require pip 10 or later to build/install from sdist. Older installers will still install the packages from wheels. Ref tox-dev/tox#809.
      Revert "Remove use of setup_requires. Builders now require pip 10 or later to build/install from sdist. Older installers will still install the packages from wheels. Ref tox-dev/tox#809."
      Indicate build backend of setuptools
      Add support for cutting releases without DPL and using pep517.
      Rely on pep517 0.5
      Add documentation on the skeleton. Fixes #5.
      Add workaround for DeprecationWarning in flake8
      Use consistent encoding quoting in pyproject.toml
      Clarify purpose of local/upstream extras
      Suppress E117 as workaround for PyCQA/pycodestyle#836
      Amend skeleton documentation to expand on the value of the approach.
      Pin to old versions of pytest as workaround for man-group/pytest-plugins#110.
      Add workaround for man-group/pytest-plugins/issues/122
      Update changelog. Ref #42.
      pytest-runner has a single module, not a package. Fixes #44.
      Remove sudo declaration in Travis config.
      Enable tox-pip-extensions ext_venv_update if available. Fixes jaraco/skeleton#6
      Rely on tox 3.2 and pip 10 or later for all builds
      It adds no value to add a pip requirement for the tox install
      Pin to pip 19.0 for now for pypa/pip#6434.
      Revert "Pin to pip 19.0 for now for pypa/pip#6434."
      Only install and invoke pytest-black on Python 3
      Use pytest-black-multipy to enable simple support for pytest-black where available. Ref pytest-dev/pytest#5272.
      Update skeleton documentation to reflect black adoption.
      Fade to black
      Update changelog.
      Update changelog from master.
      Update changelog.
      Update changelog for 5.0
      Clarify changelog. Ref #49.
      Duplicately supply a minimal metadata in setup.py to support setuptools older than 30.4. Fixes #49.

Sebastian Kriems (1):
      spaces, style and formatters (#4)
@bcb
Copy link

bcb commented Jan 6, 2020

This worked for me in tox.ini

[testenv]
install_command=pip install --trusted-host=pypi.org --trusted-host=files.pythonhosted.org {opts} {packages}

clrpackages pushed a commit to clearlinux-pkgs/jsonpickle that referenced this issue May 1, 2020
…1.4.1

David Aguilar (56):
      tests: add tests for pandas Series with multi indexes
      pandas: improve serialization for Series objects
      pandas: improve serialization for Series objects
      pandas: add more tests for pandas.Series multi-indexes
      tests: add enum tests demonstrating more supported use cases
      jsonpickle: improve serialization for non-string keys
      pickler: simplify _flatten_key_value_pair()
      jsonpickle: preserve dict order on Python3
      travis: disable python3.5 for now
      compat: support python3.4 + 3.5
      docs: update author details
      conf: wrap filter() in list()
      unpickler: use only add or append, but not both
      handlers: add a custom handler for array.array
      bson: add tests demonstrating incremental restoration
      datetime: use ISO format for string representation
      tests: add a unit test demonstrating Exceptions that take arguments
      pickler: document the numeric_keys keyword argument
      jsonpickle: add `indent` and `separators` to `encode()`
      tests: make sure we can skip the bson tests
      tests: add the Wizard tests from #92
      tests: flake8 tweaks for the wizard tests
      tests: add a test to ensure numpy.random.random() is supported
      Makefile: pass flags as late as possible
      Makefile: fix "make tox V=1"
      Makefile: mention "tox" in "make help"
      Makefile: run tox in parallel
      tox: sort env-specific sections
      jsonpickle: python3.8 support
      travis: python3.8
      travis: run tests serially
      docs: Python3.8 support
      requirements-dev.txt: add pytest-black and pytest-flake8
      .gitignore: cleanup and ignore .eggs + docs/build
      Makefile: clean __pycache__ cruft
      .gitignore: ignore .coverage
      travis: set latest_py to 3.8
      Revert "Finish dropping support for Python 2 (I hope)."
      Python 2.7 compatibility
      coverage: customize for jsonpickle
      Makefile: update for skeleton semantics
      requirements+setup: prepare for davvid/skeleton
      README.rst: document the multi-version "make tox multi=1" feature
      Makefile: pair down "make tox multi=1" versions to sensible versions per davvid/skeleton
      Makefile: improve cpu detection on macOS
      Makefile: document make tox mulit=1
      Makefile: update tox --parallel comment
      tox: guard against parallel pytest coverage execution
      coverage: lock down to coverage 4
      Revert "Prefer pytest-black to pytest-black-multipy"
      Makefile: clean coverage during "make tox multi=1"
      requirements-dev: pytest-cov requires coverage<5
      Makefile: remove obsolete "check" target
      jsonpickle: allow importing from the source tree
      Makefile: update tox --parallel comment
      version: catch OSError for Python 3.8 importlib_metadata support

Hugo (1):
      Fix AppVeyor typo

Hugo van Kemenade (2):
      Spelling and capitalisation (#8)
      Link badge to PyPI rather than static image

Jason R. Coombs (188):
      Generate project skeleton
      Remove the package from the skeleton. It has no value.
      Add gitignore. Make .hgignore empty - there's nothing here that's project specific.
      Upon further reading, hg-git supports .gitignore, so omit .hgignore.
      Update copyright
      Learning from lessons in the keyring 8.4 release (jaraco/keyring#210), always clean the build artifacts before cutting a release.
      Derive description, url, and namespace_packages from name
      Add PyPI deployment
      Remove duplicate provider line
      Add support for linking to issues and adding datestamps to changelog entries.
      Move Python 3.5 condition to 'on' section
      Update comment to reflect the Github-backed skeleton model (preferred to the generation library-backed model).
      Exclude the skeleton branch from testing
      Add badges for PyPI, downloads, and Travis-CI.
      Change indentation to match that which the travis tool generates when adding the password.
      Use shields.io, as some of these other providers seem to have gone out of business.
      Also add pyversions
      Path is now .org
      Update release process to use warehouse rather than legacy PyPI. Ref pypi/warehouse#1422.
      The name of the project need not be in the README
      No need for a .gitignore file; projects may want to add one, but I recommend not having one unless the project has project-specific files to ignore.
      Remove support for building docs, now that docs support for pypi is deprecated. I hope at some point RTD comes up with an API that once again allows automatic building of docs.
      Use tox instead of pytest-runner
      Use pkg_resources to resolve the version. Requires that the necessary package metadata have been built before building docs.
      Each requirement line is passed as a single parameter to pip, so you can't have a space separating the option and its value.
      Python Packaging -- never do with one command what you can do with two.
      Provide a reference to the license declaration in the readme. Fixes jaraco/skeleton#1.
      Use usedevelop to workaround tox-dev/tox#373
      Incorporate pre-release of setuptools to cause releases to include the PEP-420 deferral.
      Just upgrade to released setuptools now.
      Exclude versions of setuptools_scm due to pypa/setuptools-scm#109.
      Allow passing posargs
      Need a later version of setuptools_scm until it's released.
      Update to setuptools_scm 1.15.0rc1
      Gotta get an sdist - so use one jaraco built
      Bump to setuptools_scm 1.15.0.
      Update config to support building on ReadTheDocs
      Add note about the broken docs problem.
      Skip upload docs as it's deprecated anyway
      Remove rant about docs. If there's no link to the docs, then this is the docs.
      Prefer get_distribution
      No longer rely on the package being installed to retrieve the version. Instead, load the project name and version by invoking the setup script.
      Also get the URL from the project metadata
      Also grab the author from the package metadata
      Strip the trailing newline and then split on newline.
      Default upload URL is now in Python 3.6. Use that.
      setup is already present in the module name. Just call them params.
      Use Python 3.6 by default
      No longer rely on setup_requires for wheel.
      Add PEP substitution in changelog.
      Add support for Python 2.6 in docs conf
      Set the origin date once and forget it.
      Add python_requires directive.
      Don't bother with copyright year(s). Let the repository history track the changes and copyright years. YAGNI.
      Include the project (for docstrings). Include Sphinx (for environments where it's not an implied provision).
      Include pytest-sugar for nicer test output.
      Rely on jaraco.packaging for loading the package metadata from the package for Sphinx.
      Use single-quotes to satisfy the style nazis.
      The requirement is no longer needed for tests.
      Add readthedocs yml file
      Move requirements for docs and testing into extras
      Add appveyor script for CI testing on Windows.
      Require tox 2.4 or later; fixes #2.
      Remove namespace_packages declaration, no longer needed.
      Use a simple build number rather than prefixing with '1.0.'
      Restore support for namespace package declaration, selected on a 'nspkg_technique' setting
      Inspired by pypa/setuptools#1059, use the preferred bdist_wheel heading.
      Check the docs during tests
      Use stages in travis to have deployment depend on success in all Python versions.
      Remove 'bootstrap', artifact from setuptools
      --add doesn't work in a list
      Add a license file. Fixes jaraco/skeleton#1.
      Remove downloads shield, no longer available.
      Add documentation badge.
      Normalize indentation in docs/conf.py
      Declare 'python' factor at top level
      Correct travis syntax
      reference the license file in metadata
      Use https
      Add build-docs env in tox.
      Run only default environment by default.
      To support namespace packages, Setuptools must be 31.0.1. This change is necessary with the adoption of tox-venv, which uses Python's venv, which does not install the latest setuptools by default.
      Need to avoid .eggs in recursing dirs. Ref pypa/setuptools-scm#212.
      Use tox-venv for future compatibility.
      Disable pytest-sugar until Teemu/pytest-sugar#133 is addressed.
      Bring back pytest-sugar with a minimum version to support Pytest 3.4.
      Save the pip cache across builds. Ref pypa/setuptools#1279.
      Add workaround for build failures on Python 3.7 (yaml/pyyaml#126).
      Run flake8 with tests. Add flake8 config to ignore common exclusions. Add comments to testing and docs extras to aid with merges.
      Add appveyor badge (commented). Disable RTD by default.
      Limit workaround to affected Python
      Bump minimum pytest version
      Add pyproject.toml declaring build dependencies.
      When ignoring linter warnings, document the reason.
      Disable the (broken) IPv6 in Travis. Ref travis-ci/travis-ci#8361.
      Don't match issues if preceeded by some other indicator.
      skip_upload_docs is default
      Drop the dot; http://blog.pytest.org/2016/whats-new-in-pytest-30/
      Rely on declarative config to create long_description.
      Remove workaround for pyyaml 126.
      Revert "Remove workaround for pyyaml 126."
      We're getting close, but Python 3.7 still requires a workaround
      Use xenial to include support for Python 3.7.
      Remove release, no longer needed. Use twine instead.
      Also ignore W504 in flake8, following the indication in OCA/maintainer-quality-tools that neither W503 nor W504 are worthwhile in general.
      Release of pyyaml 3.13 seems to have fixed install issues on Python 3.7.
      Block pytest 3.7.3 due to pytest-dev/pytest#3888.
      Move most package config to declarative config
      Ignore pycodestyle warning. Seems it's not going to be fixed anytime soon.
      Also ignore flake8 error
      Require setuptools 34.4 to support python_requires in declarative config.
      Add workaround for Teemu/pytest-sugar#159.
      Add black config, pre-commit including black, check code with black.
      Remove workaround for pytest-sugar 159, now fixed.
      Remove pytest-sugar plugin from standard pipelines as recommended in Teemu/pytest-sugar#159.
      Prefer pytest-checkdocs to collective.checkdocs
      Suppress deprecation warning in docutils
      Remove use of setup_requires. Builders now require pip 10 or later to build/install from sdist. Older installers will still install the packages from wheels. Ref tox-dev/tox#809.
      Revert "Remove use of setup_requires. Builders now require pip 10 or later to build/install from sdist. Older installers will still install the packages from wheels. Ref tox-dev/tox#809."
      Indicate build backend of setuptools
      Add support for cutting releases without DPL and using pep517.
      Rely on pep517 0.5
      Add documentation on the skeleton. Fixes #5.
      Add workaround for DeprecationWarning in flake8
      Use consistent encoding quoting in pyproject.toml
      Clarify purpose of local/upstream extras
      Suppress E117 as workaround for PyCQA/pycodestyle#836
      Amend skeleton documentation to expand on the value of the approach.
      Remove sudo declaration in Travis config.
      Enable tox-pip-extensions ext_venv_update if available. Fixes jaraco/skeleton#6
      Rely on tox 3.2 and pip 10 or later for all builds
      It adds no value to add a pip requirement for the tox install
      Pin to pip 19.0 for now for pypa/pip#6434.
      Revert "Pin to pip 19.0 for now for pypa/pip#6434."
      Only install and invoke pytest-black on Python 3
      Use pytest-black-multipy to enable simple support for pytest-black where available. Ref pytest-dev/pytest#5272.
      Update skeleton documentation to reflect black adoption.
      Rely on twine 1.13 or later
      Upgrade tox and virtualenv to ensure that environments get recent pips
      Define passenv in tox release section. Rely on __token__ for default username.
      Update docs to reflect changes to deployment.
      Python 3 only
      Enable coverage reporting on project
      Report the lines missing coverage
      Ensure that a late version of pip is installed without special versions of tox-venv.
      Disable tox-pip-version as it interacts badly with tox-venv causing tox to use the wrong Python version to install packages and run tests. Ref pglass/tox-pip-version#20 and tox-dev/tox-venv#40.
      Bring back tox-pip-version now that pglass/tox-pip-version#20 is fixed.
      Test/release on Python 3.8
      Apply black to docs/conf.py
      Update black version and links
      Expect flake8 3.6 or later and remove suppression of warnings from Flake8 prior to 3.6.
      Rely on pytest-checkdocs 1.2.3, eliminating workaround for docutils warning.
      Remove workaround for gitlab.com/PyCQA/flake8/issues/275, apparently no longer necessary.
      Normalize indentation
      Include keyring support from twine
      Rename 'build-docs' to simply 'docs' (matching more popular convention).
      Prefer 'path' to 'path.py'
      Cover Python 3.8 in Windows tests
      Update black in pre-commit and add blacken-docs.
      Test and release using Azure Pipelines
      Correct guidance on project creation.
      Rely on setuptools_scm 3.4 and setuptools 42. Now setup.py is optional. Remove setuptools from test environment.
      Finish dropping support for Python 2 (I hope).
      Normalize whitespace
      Revert "setup.cfg: let python-tag mirror python_requires"
      Declare pep518 build requirements. Fixes #290
      Also declare the file in manifest to include it in the source dist.
      👹 Feed the hobgoblins (delint).
      Fade to black
      Normalize whitespace
      In jsonpickle.version, reflect the version from metadata.
      Remove sphinxtogithub.
      Replace changelog headings to match tagged releases. Now release dates are injected automatically during docs builds.
      Replace references to jsonpickle.github.io to reference readthedocs.
      Remove submodules and thirdparty.
      Update to bionic for Travis. Correct comment about IPv6 workaround.
      Run on the same python as tox by default.
      Restore test execution on older Pythons.
      By default, just run tests once. Only in CI run the matrix of envs.
      Simplify test and development workflow based on tox.
      Move sqlalchemy deps back to tox.
      Update the bands so they're not overlapping, but key correctly into specific minor version.
      Add 'sqlalchemy' as a standard test and defer to 'saNN' for older versions.
      Don't bother testing on Python 3.4 as master doesn't and pandas tests fail.
      Mark tests as xfail for now. Ref #281.
      Suppress warnings in pytest-flake8, pytest-black, and pytest-checkdocs.
      Prefer pytest-black to pytest-black-multipy
      Test against Windows and Mac

Sebastian Kriems (1):
      spaces, style and formatters (#4)

Sebastian Pipping (2):
      readme: Fix syntax issue "Title underline too short"
      readme: Inform about security implications

Vincent Fazio (1):
      setup.cfg: let python-tag mirror python_requires

johnthagen (1):
      Line wrap LICENSE file

layday (1):
      Require toml extra for setuptools_scm (#12)
clrpackages pushed a commit to clearlinux-pkgs/hgtools that referenced this issue May 12, 2020
….2.0

Hugo (1):
      Fix AppVeyor typo

Hugo van Kemenade (2):
      Spelling and capitalisation (#8)
      Link badge to PyPI rather than static image

Jason R. Coombs (84):
      Disable the (broken) IPv6 in Travis. Ref travis-ci/travis-ci#8361.
      Don't match issues if preceeded by some other indicator.
      skip_upload_docs is default
      Drop the dot; http://blog.pytest.org/2016/whats-new-in-pytest-30/
      Rely on declarative config to create long_description.
      Remove workaround for pyyaml 126.
      Revert "Remove workaround for pyyaml 126."
      We're getting close, but Python 3.7 still requires a workaround
      Use xenial to include support for Python 3.7.
      Remove release, no longer needed. Use twine instead.
      Also ignore W504 in flake8, following the indication in OCA/maintainer-quality-tools that neither W503 nor W504 are worthwhile in general.
      Release of pyyaml 3.13 seems to have fixed install issues on Python 3.7.
      Block pytest 3.7.3 due to pytest-dev/pytest#3888.
      Move most package config to declarative config
      Ignore pycodestyle warning. Seems it's not going to be fixed anytime soon.
      Also ignore flake8 error
      Require setuptools 34.4 to support python_requires in declarative config.
      Add workaround for Teemu/pytest-sugar#159.
      Add black config, pre-commit including black, check code with black.
      Remove workaround for pytest-sugar 159, now fixed.
      Remove pytest-sugar plugin from standard pipelines as recommended in Teemu/pytest-sugar#159.
      Prefer pytest-checkdocs to collective.checkdocs
      Suppress deprecation warning in docutils
      Remove use of setup_requires. Builders now require pip 10 or later to build/install from sdist. Older installers will still install the packages from wheels. Ref tox-dev/tox#809.
      Revert "Remove use of setup_requires. Builders now require pip 10 or later to build/install from sdist. Older installers will still install the packages from wheels. Ref tox-dev/tox#809."
      Indicate build backend of setuptools
      Add support for cutting releases without DPL and using pep517.
      Rely on pep517 0.5
      Add documentation on the skeleton. Fixes #5.
      Add workaround for DeprecationWarning in flake8
      Use consistent encoding quoting in pyproject.toml
      Clarify purpose of local/upstream extras
      Suppress E117 as workaround for PyCQA/pycodestyle#836
      Amend skeleton documentation to expand on the value of the approach.
      Remove sudo declaration in Travis config.
      Enable tox-pip-extensions ext_venv_update if available. Fixes jaraco/skeleton#6
      Rely on tox 3.2 and pip 10 or later for all builds
      It adds no value to add a pip requirement for the tox install
      Pin to pip 19.0 for now for pypa/pip#6434.
      Revert "Pin to pip 19.0 for now for pypa/pip#6434."
      Only install and invoke pytest-black on Python 3
      Use pytest-black-multipy to enable simple support for pytest-black where available. Ref pytest-dev/pytest#5272.
      Update skeleton documentation to reflect black adoption.
      Rely on twine 1.13 or later
      Upgrade tox and virtualenv to ensure that environments get recent pips
      Define passenv in tox release section. Rely on __token__ for default username.
      Update docs to reflect changes to deployment.
      Python 3 only
      Enable coverage reporting on project
      Report the lines missing coverage
      Ensure that a late version of pip is installed without special versions of tox-venv.
      Disable tox-pip-version as it interacts badly with tox-venv causing tox to use the wrong Python version to install packages and run tests. Ref pglass/tox-pip-version#20 and tox-dev/tox-venv#40.
      Bring back tox-pip-version now that pglass/tox-pip-version#20 is fixed.
      Test/release on Python 3.8
      Apply black to docs/conf.py
      Update black version and links
      Expect flake8 3.6 or later and remove suppression of warnings from Flake8 prior to 3.6.
      Rely on pytest-checkdocs 1.2.3, eliminating workaround for docutils warning.
      Remove workaround for gitlab.com/PyCQA/flake8/issues/275, apparently no longer necessary.
      Normalize indentation
      Include keyring support from twine
      Rename 'build-docs' to simply 'docs' (matching more popular convention).
      Prefer 'path' to 'path.py'
      Cover Python 3.8 in Windows tests
      Update black in pre-commit and add blacken-docs.
      Test and release using Azure Pipelines
      Correct guidance on project creation.
      Rely on setuptools_scm 3.4 and setuptools 42. Now setup.py is optional. Remove setuptools from test environment.
      Finish dropping support for Python 2 (I hope).
      Normalize whitespace
      Revert "setup.cfg: let python-tag mirror python_requires"
      Update to bionic for Travis. Correct comment about IPv6 workaround.
      Suppress warnings in pytest-flake8, pytest-black, and pytest-checkdocs.
      Prefer pytest-black to pytest-black-multipy
      Test against Windows and Mac
      Define a default pool_vm_image
      Remove tox-venv and tox-pip-version. Tox-venv is discouraged (tox-dev/tox-venv#48 (comment)) and tox-pip-version was only there to support tox-venv. venv is dead; long live virtualenv.
      Remove more references to tox-venv
      Add workaround for warning emitted when junitxml is used. Ref pytest-dev/pytest#6178.
      Include mypy for type checking during tests.
      Fade to black
      Suppress type errors
      Add workaround for failing tests on Azure Pipelines.
      Update changelog.

Sebastian Kriems (1):
      spaces, style and formatters (#4)

Vincent Fazio (1):
      setup.cfg: let python-tag mirror python_requires

johnthagen (1):
      Line wrap LICENSE file

layday (1):
      Require toml extra for setuptools_scm (#12)
@tox-dev tox-dev locked and limited conversation to collaborators Jan 14, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants