Skip to main content

tox 3 interpreter discovery plugin for multipython

Project description

tox-multipython

python interpreter interpreter discovery plugin for tox 3 and multipython

license versions pypi
tested with multipython uses docsub

[!NOTE] tox-multipython has twin plugin virtualenv-multipython that serves the same purpose for tox 4

This tox plugin comes pre-installed in multipython Docker image and is responsible for resolving tox environment name to Python executable. Most probably, you don't need to install it yourself.

Environment names supported are all multipython tags, including free threading Python builds py313t and py314t. More names may be added in the future.

[!IMPORTANT] This plugin does not fall back to tox python: interpreter discovery errors are explicit.

Testing

There is one type of tests performed:

  1. Tox 3. tox and virtualenv are installed in host tag environment, and tox run is executed on tox.ini with env names equal to target tags. Tox environment's python version must match tox env name and target tag. In these tests we test all multipython tags as both host tags and target tags.

Virtualenv supports discovery plugins since v20. In v20.22, it dropped support for Python <=3.6, in v20.27 it dropped support for Python 3.7.

This is why we use 3 different test setups:

  1. Tox 3, tox>=3,<4, virtualenv>=20
  2. Tox 3, tox>=3,<4, virtualenv>=20,<20.27
  3. Tox 3, tox>=3,<4, virtualenv>=20,<20.22

Test report

When tox-multipython is installed inside Host tag environment, it allows to use selected โœ… Target tag as env_list in tox.ini and automatically discovers corresponding multipython executable. For rejected ๐Ÿšซ Target tag, python executable is discovered, but tox environment provision fails.

Host tag and Target tags are valid multipython tags.

[!NOTE] The fully green line for py313 is a multipython design flaw that should be fixed soon: https://github.com/makukha/multipython/issues/76

tox>=3,<4, virtualenv>=20
          TARGETS
  HOST    Aโ€‚Bโ€‚Cโ€‚Dโ€‚Eโ€‚Fโ€‚Gโ€‚Hโ€‚Iโ€‚Jโ€‚Kโ€‚Lโ€‚M
py314t  A โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซ
py313t  B โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซ
 py314  C โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซ
 py313  D โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…
 py312  E โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซ
 py311  F โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซ
 py310  G โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซ
  py39  H โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซ
  py38  I โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซ
  py37  J โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…๐Ÿšซ๐Ÿšซ๐Ÿšซ
  py36  K ๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซโœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…
  py35  L ๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซโœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…
  py27  M ๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซโœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…
tox>=3,<4, virtualenv>=20,<20.27
          TARGETS
  HOST    Aโ€‚Bโ€‚Cโ€‚Dโ€‚Eโ€‚Fโ€‚Gโ€‚Hโ€‚Iโ€‚Jโ€‚Kโ€‚Lโ€‚M
py314t  A โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…๐Ÿšซ๐Ÿšซ๐Ÿšซ
py313t  B โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…๐Ÿšซ๐Ÿšซ๐Ÿšซ
 py314  C โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…๐Ÿšซ๐Ÿšซ๐Ÿšซ
 py313  D โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…
 py312  E โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…๐Ÿšซ๐Ÿšซ๐Ÿšซ
 py311  F โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…๐Ÿšซ๐Ÿšซ๐Ÿšซ
 py310  G โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…๐Ÿšซ๐Ÿšซ๐Ÿšซ
  py39  H โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…๐Ÿšซ๐Ÿšซ๐Ÿšซ
  py38  I โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…๐Ÿšซ๐Ÿšซ๐Ÿšซ
  py37  J โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…๐Ÿšซ๐Ÿšซ๐Ÿšซ
  py36  K ๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซโœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…
  py35  L ๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซโœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…
  py27  M ๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซโœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…
tox>=3,<4, virtualenv>=20,<20.22
          TARGETS
  HOST    Aโ€‚Bโ€‚Cโ€‚Dโ€‚Eโ€‚Fโ€‚Gโ€‚Hโ€‚Iโ€‚Jโ€‚Kโ€‚Lโ€‚M
py314t  A โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…
py313t  B โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…
 py314  C โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…
 py313  D โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…
 py312  E โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…
 py311  F โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…
 py310  G โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…
  py39  H โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…
  py38  I โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…
  py37  J โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…
  py36  K ๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซโœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…
  py35  L ๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซโœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…
  py27  M ๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซ๐Ÿšซโœ…โœ…โœ…โœ…โœ…โœ…โœ…โœ…

Authors

This package is a part of multipython project.

License

MIT License

Changelog

Check repository CHANGELOG.md

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tox_multipython-0.2.0.tar.gz (57.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tox_multipython-0.2.0-py2.py3-none-any.whl (5.1 kB view details)

Uploaded Python 2Python 3

File details

Details for the file tox_multipython-0.2.0.tar.gz.

File metadata

  • Download URL: tox_multipython-0.2.0.tar.gz
  • Upload date:
  • Size: 57.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.13

File hashes

Hashes for tox_multipython-0.2.0.tar.gz
Algorithm Hash digest
SHA256 5f75009f5c4278048545545b05ee9de274aac39bb0df6740e14bd810a471f7c6
MD5 a333991d1a12286c952d3e1e4f0999e2
BLAKE2b-256 1576c6d9467b0f78a2d7f9d063ee3b29c90dd55953ff82ebb0ebe9388e4e53fc

See more details on using hashes here.

File details

Details for the file tox_multipython-0.2.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for tox_multipython-0.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 47a7698f7fff6437dac96316feb6e3d8567b8d0c1d3bcada69e6cc150873538f
MD5 116bf5d8ea4938846634be641a146858
BLAKE2b-256 ccab860afa1cc9d316617cf824ff23bbcb5f6f74a36d29cee4f473d164b0a8f4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page