tox-multipython


Nametox-multipython JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
Summarytox 3 interpreter discovery plugin for multipython
upload_time2025-01-10 12:20:15
maintainerNone
docs_urlNone
authorNone
requires_python!=3.0,!=3.1,!=3.2,!=3.3,!=3.4,>=2.7
licenseMIT
keywords discovery multipython plugin testing tox tox-plugin
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # tox-multipython
> python interpreter interpreter discovery plugin for [tox](https://tox.wiki) 3 and [multipython](https://github.com/makukha/multipython)

[![license](https://img.shields.io/github/license/makukha/tox-multipython.svg)](https://github.com/makukha/tox-multipython/blob/main/LICENSE)
[![versions](https://img.shields.io/pypi/pyversions/tox-multipython.svg)](https://pypi.org/project/tox-multipython)
[![pypi](https://img.shields.io/pypi/v/tox-multipython.svg#v0.1.0)](https://pypi.python.org/pypi/tox-multipython)  
[![tested with multipython](https://img.shields.io/badge/tested_with-multipython-x)](https://github.com/makukha/multipython)
[![uses docsub](https://img.shields.io/badge/uses-docsub-royalblue)
](https://github.com/makukha/docsub)

> [!NOTE]
> [tox-multipython]() has twin plugin [virtualenv-multipython](https://github.com/makukha/virtualenv-multipython) that serves the same purpose for [tox](https://tox.wiki) 4

This [tox](https://tox.wiki) plugin comes pre-installed in [multipython](https://hub.docker.com/r/makukha/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

Read table below as

> 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](https://hub.docker.com/r/makukha/multipython) executable. For rejected 🚫 *Target tag*, `tox` environment provision fails.

*Host tag* and *Target tags* are valid [multipython](https://hub.docker.com/r/makukha/multipython) tags.

<table>
<thead>
<tr>
    <th rowspan="2">Host tag</th>
    <th colspan="13">Target tag</th>
</tr>
<tr>
    <th><code>py</code><br/><code>314t</code></th>
    <th><code>py</code><br/><code>313t</code></th>
    <th><code>py</code><br/><code>314</code></th>
    <th><code>py</code><br/><code>313</code></th>
    <th><code>py</code><br/><code>312</code></th>
    <th><code>py</code><br/><code>311</code></th>
    <th><code>py</code><br/><code>310</code></th>
    <th><code>py</code><br/><code>39</code></th>
    <th><code>py</code><br/><code>38</code></th>
    <th><code>py</code><br/><code>37</code></th>
    <th><code>py</code><br/><code>36</code></th>
    <th><code>py</code><br/><code>35</code></th>
    <th><code>py</code><br/><code>27</code></th>
</tr>
</thead>
<tbody>
<!-- docsub: begin -->
<!-- docsub: exec bash .dev/gen-tests-summary.sh -->
<tr><th><code>py314t</code></th> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>🚫</td> <td>🚫</td> <td>🚫</td> <td>🚫</td></tr>
<tr><th><code>py313t</code></th> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>🚫</td> <td>🚫</td> <td>🚫</td> <td>🚫</td></tr>
<tr><th><code>py314</code></th> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>🚫</td> <td>🚫</td> <td>🚫</td> <td>🚫</td></tr>
<tr><th><code>py313</code></th> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>🚫</td> <td>🚫</td> <td>🚫</td> <td>🚫</td></tr>
<tr><th><code>py312</code></th> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>🚫</td> <td>🚫</td> <td>🚫</td> <td>🚫</td></tr>
<tr><th><code>py311</code></th> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>🚫</td> <td>🚫</td> <td>🚫</td> <td>🚫</td></tr>
<tr><th><code>py310</code></th> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>🚫</td> <td>🚫</td> <td>🚫</td> <td>🚫</td></tr>
<tr><th><code>py39</code></th> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>🚫</td> <td>🚫</td> <td>🚫</td> <td>🚫</td></tr>
<tr><th><code>py38</code></th> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>🚫</td> <td>🚫</td> <td>🚫</td> <td>🚫</td></tr>
<tr><th><code>py37</code></th> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>🚫</td> <td>🚫</td> <td>🚫</td></tr>
<tr><th><code>py36</code></th> <td>🚫</td> <td>🚫</td> <td>🚫</td> <td>🚫</td> <td>🚫</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td></tr>
<tr><th><code>py35</code></th> <td>🚫</td> <td>🚫</td> <td>🚫</td> <td>🚫</td> <td>🚫</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td></tr>
<tr><th><code>py27</code></th> <td>🚫</td> <td>🚫</td> <td>🚫</td> <td>🚫</td> <td>🚫</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td> <td>✅</td></tr>
<!-- docsub: end -->
</tbody>
</table>

# Authors

* [Michael Makukha](https://github.com/makukha)

This package is a part of [multipython](https://github.com/makukha/multipython) project.


## License

[MIT License](https://github.com/makukha/caseutil/blob/main/LICENSE)


# Changelog

Check repository [CHANGELOG.md](https://github.com/makukha/tox-multipython/tree/main/CHANGELOG.md)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "tox-multipython",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "!=3.0,!=3.1,!=3.2,!=3.3,!=3.4,>=2.7",
    "maintainer_email": null,
    "keywords": "discovery, multipython, plugin, testing, tox, tox-plugin",
    "author": null,
    "author_email": "Michael Makukha <m.makukha@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/2f/c6/aeeb3b642e6dd7ce42df505dd18f0b7c0c8da4800db7ca1a6a4e1674f5e4/tox_multipython-0.1.0.tar.gz",
    "platform": null,
    "description": "# tox-multipython\n> python interpreter interpreter discovery plugin for [tox](https://tox.wiki) 3 and [multipython](https://github.com/makukha/multipython)\n\n[![license](https://img.shields.io/github/license/makukha/tox-multipython.svg)](https://github.com/makukha/tox-multipython/blob/main/LICENSE)\n[![versions](https://img.shields.io/pypi/pyversions/tox-multipython.svg)](https://pypi.org/project/tox-multipython)\n[![pypi](https://img.shields.io/pypi/v/tox-multipython.svg#v0.1.0)](https://pypi.python.org/pypi/tox-multipython)  \n[![tested with multipython](https://img.shields.io/badge/tested_with-multipython-x)](https://github.com/makukha/multipython)\n[![uses docsub](https://img.shields.io/badge/uses-docsub-royalblue)\n](https://github.com/makukha/docsub)\n\n> [!NOTE]\n> [tox-multipython]() has twin plugin [virtualenv-multipython](https://github.com/makukha/virtualenv-multipython) that serves the same purpose for [tox](https://tox.wiki) 4\n\nThis [tox](https://tox.wiki) plugin comes pre-installed in [multipython](https://hub.docker.com/r/makukha/multipython) Docker image and is responsible for resolving tox environment name to Python executable. Most probably, you don't need to install it yourself.\n\nEnvironment names supported are all multipython tags, including free threading Python builds `py313t` and `py314t`. More names may be added in the future.\n\n> [!IMPORTANT]\n> This plugin does not fall back to tox python: interpreter discovery errors are explicit.\n\n# Testing\n\nRead table below as\n\n> When `tox-multipython` is installed inside `Host tag` environment, it allows to use selected \u2705 *Target tag* as `env_list` in `tox.ini` and automatically discovers corresponding [multipython](https://hub.docker.com/r/makukha/multipython) executable. For rejected \ud83d\udeab *Target tag*, `tox` environment provision fails.\n\n*Host tag* and *Target tags* are valid [multipython](https://hub.docker.com/r/makukha/multipython) tags.\n\n<table>\n<thead>\n<tr>\n    <th rowspan=\"2\">Host tag</th>\n    <th colspan=\"13\">Target tag</th>\n</tr>\n<tr>\n    <th><code>py</code><br/><code>314t</code></th>\n    <th><code>py</code><br/><code>313t</code></th>\n    <th><code>py</code><br/><code>314</code></th>\n    <th><code>py</code><br/><code>313</code></th>\n    <th><code>py</code><br/><code>312</code></th>\n    <th><code>py</code><br/><code>311</code></th>\n    <th><code>py</code><br/><code>310</code></th>\n    <th><code>py</code><br/><code>39</code></th>\n    <th><code>py</code><br/><code>38</code></th>\n    <th><code>py</code><br/><code>37</code></th>\n    <th><code>py</code><br/><code>36</code></th>\n    <th><code>py</code><br/><code>35</code></th>\n    <th><code>py</code><br/><code>27</code></th>\n</tr>\n</thead>\n<tbody>\n<!-- docsub: begin -->\n<!-- docsub: exec bash .dev/gen-tests-summary.sh -->\n<tr><th><code>py314t</code></th> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td></tr>\n<tr><th><code>py313t</code></th> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td></tr>\n<tr><th><code>py314</code></th> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td></tr>\n<tr><th><code>py313</code></th> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td></tr>\n<tr><th><code>py312</code></th> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td></tr>\n<tr><th><code>py311</code></th> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td></tr>\n<tr><th><code>py310</code></th> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td></tr>\n<tr><th><code>py39</code></th> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td></tr>\n<tr><th><code>py38</code></th> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td></tr>\n<tr><th><code>py37</code></th> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td></tr>\n<tr><th><code>py36</code></th> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td></tr>\n<tr><th><code>py35</code></th> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td></tr>\n<tr><th><code>py27</code></th> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\ud83d\udeab</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td> <td>\u2705</td></tr>\n<!-- docsub: end -->\n</tbody>\n</table>\n\n# Authors\n\n* [Michael Makukha](https://github.com/makukha)\n\nThis package is a part of [multipython](https://github.com/makukha/multipython) project.\n\n\n## License\n\n[MIT License](https://github.com/makukha/caseutil/blob/main/LICENSE)\n\n\n# Changelog\n\nCheck repository [CHANGELOG.md](https://github.com/makukha/tox-multipython/tree/main/CHANGELOG.md)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "tox 3 interpreter discovery plugin for multipython",
    "version": "0.1.0",
    "project_urls": {
        "Changelog": "https://github.com/makukha/tox-multipython/tree/main/CHANGELOG.md",
        "Homepage": "https://github.com/makukha/tox-multipython",
        "Issues": "https://github.com/makukha/tox-multipython/issues",
        "Repository": "https://github.com/makukha/tox-multipython"
    },
    "split_keywords": [
        "discovery",
        " multipython",
        " plugin",
        " testing",
        " tox",
        " tox-plugin"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3497e6794c33054dfa72c53a42bdb77ca334c003a1f518e76fbd138fdc0e7297",
                "md5": "92ae4e190a6910e55ec8483937708d0d",
                "sha256": "ef14ba557156a50da7ff90d1b4a43c4856eb8258bc6e525994e3d7601b5a5807"
            },
            "downloads": -1,
            "filename": "tox_multipython-0.1.0-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "92ae4e190a6910e55ec8483937708d0d",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": "!=3.0,!=3.1,!=3.2,!=3.3,!=3.4,>=2.7",
            "size": 4544,
            "upload_time": "2025-01-10T12:20:11",
            "upload_time_iso_8601": "2025-01-10T12:20:11.544183Z",
            "url": "https://files.pythonhosted.org/packages/34/97/e6794c33054dfa72c53a42bdb77ca334c003a1f518e76fbd138fdc0e7297/tox_multipython-0.1.0-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2fc6aeeb3b642e6dd7ce42df505dd18f0b7c0c8da4800db7ca1a6a4e1674f5e4",
                "md5": "0315696312aeb1abfba78a8beaa9298d",
                "sha256": "b9cfaeeef9d3f7767b3e4b61f37de34695ea8733c86ccc2c5abf4055fce87e47"
            },
            "downloads": -1,
            "filename": "tox_multipython-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "0315696312aeb1abfba78a8beaa9298d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "!=3.0,!=3.1,!=3.2,!=3.3,!=3.4,>=2.7",
            "size": 53406,
            "upload_time": "2025-01-10T12:20:15",
            "upload_time_iso_8601": "2025-01-10T12:20:15.193431Z",
            "url": "https://files.pythonhosted.org/packages/2f/c6/aeeb3b642e6dd7ce42df505dd18f0b7c0c8da4800db7ca1a6a4e1674f5e4/tox_multipython-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-10 12:20:15",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "makukha",
    "github_project": "tox-multipython",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "tox-multipython"
}
        
Elapsed time: 1.18085s