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

Presence of tox-pip-version and tox-venv causes isolation issues #20

Closed
jaraco opened this issue Oct 13, 2019 · 4 comments · Fixed by #21
Closed

Presence of tox-pip-version and tox-venv causes isolation issues #20

jaraco opened this issue Oct 13, 2019 · 4 comments · Fixed by #21

Comments

@jaraco
Copy link
Contributor

jaraco commented Oct 13, 2019

See tox-dev/tox#1435 for the details, but it seems that by having tox-pip-version installed alongside tox and tox-venv can cause tox to incorrectly provision a Python 2.7 virtualenv and to then use the system Python for installing dependencies and running tests.

@jaraco
Copy link
Contributor Author

jaraco commented Oct 20, 2019

This issue is a deal-breaker for me. Today I ran tox -e py27 on one of my projects and it polluted my system site-packages again. I'm going to have to drop use of tox-pip-version until this issue can be fixed.

jaraco added a commit to jaraco/skeleton that referenced this issue Oct 20, 2019
…ox to use the wrong Python version to install packages and run tests. Ref pglass/tox-pip-version#20 and tox-dev/tox-venv#40.
@pglass
Copy link
Owner

pglass commented Oct 22, 2019

Hi, sorry for the delay. I am able to reproduce this.

This is tox-pip-version's fault. Basically, with tox-venv and python 2, tox-venv will "fail" to create the virtualenv (which is expected, since there's no python2 -m venv) but tox-pip-version doesn't realize that, so it proceeds without a virtualenv.

I'll get a fix for this released tonight.

@pglass
Copy link
Owner

pglass commented Oct 23, 2019

@jaraco I released a fix for this: https://pypi.org/project/tox-pip-version/0.0.6/#history. Let me know if you still see a problem.

@jaraco
Copy link
Contributor Author

jaraco commented Oct 25, 2019

Confirmed the fix:

draft $ cat > Dockerfile                                                                                                                                                  
FROM jaraco/py37-tox
RUN apt install -y python2.7
RUN python -m venv tox-venv
RUN tox-venv/bin/python -m pip install tox tox-venv tox-pip-version
RUN echo "[tox]\nskipsdist = True\n[testenv]\ncommands = python -V\nskipinstall = True" > tox.ini
RUN tox-venv/bin/tox -e py27
draft $ docker build . --no-cache                                                                                                                                         
Sending build context to Docker daemon  14.85kB
Step 1/6 : FROM jaraco/py37-tox
 ---> da91dc50cea2
Step 2/6 : RUN apt install -y python2.7
 ---> Running in e870154df373

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  libpython2.7-minimal libpython2.7-stdlib python2.7-minimal
Suggested packages:
  python2.7-doc binutils binfmt-support
The following NEW packages will be installed:
  libpython2.7-minimal libpython2.7-stdlib python2.7 python2.7-minimal
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 3786 kB of archives.
After this operation, 16.0 MB of additional disk space will be used.
Get:1 http://security.ubuntu.com/ubuntu bionic-security/main amd64 libpython2.7-minimal amd64 2.7.15-4ubuntu4~18.04.2 [336 kB]
Get:2 http://security.ubuntu.com/ubuntu bionic-security/main amd64 python2.7-minimal amd64 2.7.15-4ubuntu4~18.04.2 [1296 kB]
Get:3 http://security.ubuntu.com/ubuntu bionic-security/main amd64 libpython2.7-stdlib amd64 2.7.15-4ubuntu4~18.04.2 [1916 kB]
Get:4 http://security.ubuntu.com/ubuntu bionic-security/main amd64 python2.7 amd64 2.7.15-4ubuntu4~18.04.2 [239 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 3786 kB in 2s (2132 kB/s)
Selecting previously unselected package libpython2.7-minimal:amd64.
(Reading database ... 15563 files and directories currently installed.)
Preparing to unpack .../libpython2.7-minimal_2.7.15-4ubuntu4~18.04.2_amd64.deb ...
Unpacking libpython2.7-minimal:amd64 (2.7.15-4ubuntu4~18.04.2) ...
Selecting previously unselected package python2.7-minimal.
Preparing to unpack .../python2.7-minimal_2.7.15-4ubuntu4~18.04.2_amd64.deb ...
Unpacking python2.7-minimal (2.7.15-4ubuntu4~18.04.2) ...
Selecting previously unselected package libpython2.7-stdlib:amd64.
Preparing to unpack .../libpython2.7-stdlib_2.7.15-4ubuntu4~18.04.2_amd64.deb ...
Unpacking libpython2.7-stdlib:amd64 (2.7.15-4ubuntu4~18.04.2) ...
Selecting previously unselected package python2.7.
Preparing to unpack .../python2.7_2.7.15-4ubuntu4~18.04.2_amd64.deb ...
Unpacking python2.7 (2.7.15-4ubuntu4~18.04.2) ...
Setting up libpython2.7-minimal:amd64 (2.7.15-4ubuntu4~18.04.2) ...
Setting up libpython2.7-stdlib:amd64 (2.7.15-4ubuntu4~18.04.2) ...
Setting up python2.7-minimal (2.7.15-4ubuntu4~18.04.2) ...
Linking and byte-compiling packages for runtime python2.7...
Setting up python2.7 (2.7.15-4ubuntu4~18.04.2) ...
Processing triggers for mime-support (3.60ubuntu1) ...
Removing intermediate container e870154df373
 ---> 3d5880fdba5c
Step 3/6 : RUN python -m venv tox-venv
 ---> Running in 68942b4f1236
Removing intermediate container 68942b4f1236
 ---> b1d722a58242
Step 4/6 : RUN tox-venv/bin/python -m pip install tox tox-venv tox-pip-version
 ---> Running in 39e7959e003e
Collecting tox
  Using cached https://files.pythonhosted.org/packages/a7/0c/ed234b83d2c4fcef1cfccf97371183d51dafae62e64334de34d0a6333114/tox-3.14.0-py2.py3-none-any.whl
Collecting tox-venv
  Downloading https://files.pythonhosted.org/packages/11/92/3bf5efd94dcc470b15d351ba77294bb3d7faf221b1c9912c08dff7ce33a5/tox_venv-0.4.0-py2.py3-none-any.whl
Collecting tox-pip-version
  Downloading https://files.pythonhosted.org/packages/94/f3/3e68654797b8c42717ba6ae0e4d163f93995d648b493c8699638e4d8f22c/tox-pip-version-0.0.6.tar.gz
Collecting pluggy<1,>=0.12.0 (from tox)
  Using cached https://files.pythonhosted.org/packages/92/c7/48439f7d5fd6bddb4c04b850bb862b42e3e2b98570040dfaf68aedd8114b/pluggy-0.13.0-py2.py3-none-any.whl
Collecting six<2,>=1.0.0 (from tox)
  Using cached https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl
Collecting importlib-metadata<1,>=0.12; python_version < "3.8" (from tox)
  Using cached https://files.pythonhosted.org/packages/f6/d2/40b3fa882147719744e6aa50ac39cf7a22a913cbcba86a0371176c425a3b/importlib_metadata-0.23-py2.py3-none-any.whl
Collecting py<2,>=1.4.17 (from tox)
  Using cached https://files.pythonhosted.org/packages/76/bc/394ad449851729244a97857ee14d7cba61ddb268dce3db538ba2f2ba1f0f/py-1.8.0-py2.py3-none-any.whl
Collecting virtualenv>=14.0.0 (from tox)
  Downloading https://files.pythonhosted.org/packages/c5/97/00dd42a0fc41e9016b23f07ec7f657f636cb672fad9cf72b80f8f65c6a46/virtualenv-16.7.7-py2.py3-none-any.whl (3.4MB)
Collecting filelock<4,>=3.0.0 (from tox)
  Using cached https://files.pythonhosted.org/packages/93/83/71a2ee6158bb9f39a90c0dea1637f81d5eef866e188e1971a1b1ab01a35a/filelock-3.0.12-py3-none-any.whl
Collecting toml>=0.9.4 (from tox)
  Using cached https://files.pythonhosted.org/packages/a2/12/ced7105d2de62fa7c8fb5fce92cc4ce66b57c95fb875e9318dba7f8c5db0/toml-0.10.0-py2.py3-none-any.whl
Collecting packaging>=14 (from tox)
  Using cached https://files.pythonhosted.org/packages/cf/94/9672c2d4b126e74c4496c6b3c58a8b51d6419267be9e70660ba23374c875/packaging-19.2-py2.py3-none-any.whl
Collecting zipp>=0.5 (from importlib-metadata<1,>=0.12; python_version < "3.8"->tox)
  Using cached https://files.pythonhosted.org/packages/74/3d/1ee25a26411ba0401b43c6376d2316a71addcc72ef8690b101b4ea56d76a/zipp-0.6.0-py2.py3-none-any.whl
Collecting pyparsing>=2.0.2 (from packaging>=14->tox)
  Using cached https://files.pythonhosted.org/packages/11/fa/0160cd525c62d7abd076a070ff02b2b94de589f1a9789774f17d7c54058e/pyparsing-2.4.2-py2.py3-none-any.whl
Collecting more-itertools (from zipp>=0.5->importlib-metadata<1,>=0.12; python_version < "3.8"->tox)
  Using cached https://files.pythonhosted.org/packages/45/dc/3241eef99eb45f1def35cf93af35d1cf9ef4c0991792583b8f33ea41b092/more_itertools-7.2.0-py3-none-any.whl
Installing collected packages: more-itertools, zipp, importlib-metadata, pluggy, six, py, virtualenv, filelock, toml, pyparsing, packaging, tox, tox-venv, tox-pip-version
  Running setup.py install for tox-pip-version: started
    Running setup.py install for tox-pip-version: finished with status 'done'
Successfully installed filelock-3.0.12 importlib-metadata-0.23 more-itertools-7.2.0 packaging-19.2 pluggy-0.13.0 py-1.8.0 pyparsing-2.4.2 six-1.12.0 toml-0.10.0 tox-3.14.0 tox-pip-version-0.0.6 tox-venv-0.4.0 virtualenv-16.7.7 zipp-0.6.0
You are using pip version 19.0.3, however version 19.3.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Removing intermediate container 39e7959e003e
 ---> e49509275457
Step 5/6 : RUN echo "[tox]\nskipsdist = True\n[testenv]\ncommands = python -V\nskipinstall = True" > tox.ini
 ---> Running in 91bde1481ba4
Removing intermediate container 91bde1481ba4
 ---> 8ba0ee79f503
Step 6/6 : RUN tox-venv/bin/tox -e py27
 ---> Running in 01d6a2eb428e
py27 create: //.tox/py27
py27 installed: DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
py27 run-test-pre: PYTHONHASHSEED='2512785504'
py27 run-test: commands[0] | python -V
Python 2.7.15+
___________________________________ summary ____________________________________
  py27: commands succeeded
  congratulations :)
Removing intermediate container 01d6a2eb428e
 ---> a442ce71337b
Successfully built a442ce71337b

Thanks!

jaraco added a commit to jaraco/skeleton that referenced this issue Oct 25, 2019
clrpackages pushed a commit to clearlinux-pkgs/pytest-runner that referenced this issue Oct 28, 2019
…t special versions of tox-venv.

Jason R. Coombs (10):
      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.
      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.
      Update changelog. Ref #52.

Thomas Grainger (5):
      Add deprecation notice Fixes #50
      Update README.rst
      Update README.rst
      add note how to securely install test deps
      be less prescriptive about alternatives
clrpackages pushed a commit to clearlinux-pkgs/portend that referenced this issue Nov 1, 2019
…t special versions of tox-venv.

Jason R. Coombs (12):
      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.
      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
      Update changelog for 2.6
clrpackages pushed a commit to clearlinux-pkgs/keyring that referenced this issue Dec 3, 2019
…hout special versions of tox-venv.

Jason R. Coombs (32):
      Add new test capturing failure. Ref #281.
      Add support for .persist property on WinVaultKeyring
      Probably need to specify type=None for a proper descriptor.
      Update badge URL
      Add funding reference to project
      List sidebars to avoid errors looking for template 't'
      Add some notes about troubleshooting config issues.
      Prefer pytest fixtures for fixture mechanics
      Remove use of unittest.TestCase to enable use of pytest fixtures.
      Add support for KEYRING_PROPERTY_*
      Add period to changelog
      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).
      Rely on importlib.metadata (and backport) for entry points.
      Update changelog.
      Update changelog. Ref #404.
      Skip tests in environments known to fail. Ref #281.
      Mark tests as xfail. Ref #410.
      Mark tests as xfailing (intermittently) regardless of Python version. Ref #410.
      Fade to black

Joshua Nelson (1):
      Don't import all keyrings unless necessary (#404)
clrpackages pushed a commit to clearlinux-pkgs/jaraco.functools that referenced this issue Dec 25, 2019
…rsion 3.0.0

Jason R. Coombs (40):
      Add black config, pre-commit including black, check code with black.
      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
      Prefer types.MethodType to functools.partial for binding a method to its instance.
      Also use MethodType in _special_method_cache
      Rewrite docstring on Python 3.7.3 to allow the test to pass. Fixes #12.
      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
      Fade to black
      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 changelog
      Remove legacy code
      Mark test code as nocover as it's xfailed.
clrpackages pushed a commit to clearlinux-pkgs/tempora that referenced this issue Dec 25, 2019
…2.0.0

Jason R. Coombs (59):
      Add black config, pre-commit including black, check code with black.
      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
      Fade to black
      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
      Add test capturing no format string matching
      Add support for %f and add tests
      Limit the compatibility behavior now that Python supports it natively.
      Replace strptime with the new version in Python
      Suppress coverage on selective code
      Remove DatetimeConstructor
      Extend tests for get_nearest_year
      Add tests for prorated_values
      Add test for branch
      Add test to date_range
      Combine tests
      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 changelog
      Remove compatibility code
      Add test for calculate_prorated_values
      Clean up conftest
      Remove compatibility code
      Restore 4-digit year compatibility for affected systems.
      Update changelog
      Remove more compatibility code
      Remove naive_times fixture (unused).
      Suppress coverage failures in selective code
      Expand test coverage
      Improve test coverage
      Fix suppressed warning
      Improve test coverage
      Improve test coverage
      Improve test coverage
      Suppress AttributeError when time is not a date.
clrpackages pushed a commit to clearlinux-pkgs/zipp that referenced this issue Jan 24, 2020
Hugo van Kemenade (1):
      Spelling and capitalisation (#8)

Jason R. Coombs (23):
      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.
      Update changelog to reflect dropped Python 3.5 support.
      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).

johnthagen (1):
      Line wrap LICENSE file
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)
jaraco added a commit to jaraco/jaraco.vcs that referenced this issue Jun 20, 2023
…ox to use the wrong Python version to install packages and run tests. Ref pglass/tox-pip-version#20 and tox-dev/tox-venv#40.
jaraco added a commit to jaraco/jaraco.vcs that referenced this issue Jun 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants