Skip to main content

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


Download files

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

Source Distribution

tox-monorepo-0.1.0.zip (7.6 kB view details)

Uploaded Source

Built Distribution

tox_monorepo-0.1.0-py2.py3-none-any.whl (3.9 kB view details)

Uploaded Python 2 Python 3

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

Hashes for tox-monorepo-0.1.0.zip
Algorithm Hash digest
SHA256 069a3d164e4de468cba46d7e91b8459de1d11251779a7e98d164c3292a7ffcb8
MD5 435563afd0f2fbd03bd5465ede3ee7b8
BLAKE2b-256 deeb7ac2346fd5a91c33a91414afd062a458e745b920c616b838ca1e738b4abb

See more details on using hashes here.

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

Hashes for tox_monorepo-0.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e1392b3bc4db7c82ae33712820e94b6dc884b5f17ffc3a47b1c88ceb0ab1defd
MD5 5f620a04565bb86a385e6143a84f8281
BLAKE2b-256 d327e261917d0c82f3e63b678bd96d01127ee364913d778c5257f6b22441fcdd

See more details on using hashes here.

Supported by

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