A tox plugin built to allow sharing of a common tox.ini file across repositories with high package counts.
Project description
tox-monorepo
This plugin changes {toxinidir} to be the directory that executes the tox command, rather than where the tox.ini actually lives on disk. This allows a monorepo to easily share a single tox.ini file rather than have to keep copies up to date.
Features
Once installed, tox-monorepo
will actively post-process the loaded tox config
and replace all instances of {toxinidir}
with a reference to the current working directory.
Note that if there are any out-of-ordinary changes present within your tox config, it is highly likely that this plugin has not been tested with them. Reference Contributing
section for how to reach out if issues crop up.
Requirements
Tested on tox 3.1+
, Python 2.7+
Installation
You can install "tox-monorepo" via pip from PyPI:
pip install tox-monorepo
Usage
Install the plugin, then try to reference a tox config from within a package directory.
tox -c <otherpath>/to/tox.ini
Note that all the .tox
folder + any environments are now created relative to the directory that executed tox.
Complete Set of Updated Config Values
Base Config Values:
{toxinidir}
{toxworkdir}
{temp_dir}
{setupdir}
{distdir}
{sdistsrc}
{changedir}
Env-Specific Config Values
{commands}
{commands_pre}
{commands_post}
{envdir}
{changedir}
{envtmpdir}
Contributing
Contributions are very welcome, though the plugin is extremely straightforward and shouldn't really require updates. Just submit a PR or an Issue on the the current repo!
License
Distributed under the terms of the MIT license, tox-monorepo
is
free and open source software.
Issues
If you encounter any problems, please
file an issue
along with tox-monorepo
in the title.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file tox-monorepo-0.1.0.zip
.
File metadata
- Download URL: tox-monorepo-0.1.0.zip
- Upload date:
- Size: 7.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 069a3d164e4de468cba46d7e91b8459de1d11251779a7e98d164c3292a7ffcb8 |
|
MD5 | 435563afd0f2fbd03bd5465ede3ee7b8 |
|
BLAKE2b-256 | deeb7ac2346fd5a91c33a91414afd062a458e745b920c616b838ca1e738b4abb |
File details
Details for the file tox_monorepo-0.1.0-py2.py3-none-any.whl
.
File metadata
- Download URL: tox_monorepo-0.1.0-py2.py3-none-any.whl
- Upload date:
- Size: 3.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1392b3bc4db7c82ae33712820e94b6dc884b5f17ffc3a47b1c88ceb0ab1defd |
|
MD5 | 5f620a04565bb86a385e6143a84f8281 |
|
BLAKE2b-256 | d327e261917d0c82f3e63b678bd96d01127ee364913d778c5257f6b22441fcdd |