diff options
author | Bernát Gábor <bgabor8@bloomberg.net> | 2020-10-27 09:47:10 +0000 |
---|---|---|
committer | Bernát Gábor <bgabor8@bloomberg.net> | 2020-10-27 09:47:10 +0000 |
commit | fde61350973b849149e98836b30fb8d89b29ba4a (patch) | |
tree | 7ba2b38c87e267741afabaaebc9391d8a5c1e70c /README.md | |
parent | 5b231cd2875b80625092f5400ad5ba2e53430d2f (diff) | |
download | tox-git-fde61350973b849149e98836b30fb8d89b29ba4a.tar.gz |
Update README
Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 115 |
1 files changed, 25 insertions, 90 deletions
@@ -1,13 +1,10 @@ -[!![check](https://github.com/tox-dev/tox/workflows/check/badge.svg)](https://github.com/tox-dev/tox/actions?query=workflow%3Acheck) -[![Latest version on -PyPi](https://badge.fury.io/py/tox.svg)](https://badge.fury.io/py/tox) -[![Supported Python -versions](https://img.shields.io/pypi/pyversions/tox.svg)](https://pypi.org/project/tox/) -[![Documentation -status](https://readthedocs.org/projects/tox/badge/?version=latest&style=flat-square)](https://tox.readthedocs.io/en/latest/?badge=latest) +[![check](https://github.com/tox-dev/tox/workflows/check/badge.svg)](https://github.com/tox-dev/tox/actions?query=workflow%3Acheck) +[![codecov](https://codecov.io/gh/tox-dev/tox/branch/rewrite/graph/badge.svg)](https://codecov.io/gh/tox-dev/tox/branch/rewrite) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) +## Rewrite branch + <a href="https://tox.readthedocs.io"> <img src="https://raw.githubusercontent.com/tox-dev/tox/master/docs/_static/img/tox.png" alt="tox logo" @@ -15,97 +12,35 @@ black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://gith align="right"> </a> -# tox automation project - -**Command line driven CI frontend and development task automation tool** - -At its core tox povides a convenient way to run arbitrary commands in isolated environments to serve as a single entry -point for build, test and release activities. - -tox is highly [configurable](https://tox.readthedocs.io/en/latest/config.html) and -[pluggable](https://tox.readthedocs.io/en/latest/plugins.html). - -## Example: run tests with Python 2.7 and Python 3.7 - -tox is mainly used as a command line tool and needs a `tox.ini` or a `tool.tox` section in `pyproject.toml` containing -the configuration. - -To test a simple project that has some tests, here is an example with a `tox.ini` in the root of the project: - -```{.sourceCode .ini} -[tox] -envlist = py27,py37 - -[testenv] -deps = pytest -commands = pytest -``` - -```{.sourceCode .console} -$ tox - -[lots of output from what tox does] -[lots of output from commands that were run] +You've arrived at the rewrite branch. This is a fresh start for tox in which we aim to create a better implementation +for what tox is. The broad goal is to: -__________________ summary _________________ - py27: commands succeeded - py37: commands succeeded - congratulations :) -``` +- use modern Python with type annotations (`3.6+` only) +- be more flexible in from where we take our configuration (proper `pyproject.toml` support besides our canonical + `tox.ini` file) +- a better interface to plug and play your own python environment (historically tox was designed to work with the + `virtualenv` project, but we want to be able to use instead `conda`, `Docker`, OS package manager, remote machines, + etc.) +- first class support for non-sdist packages (in python land e.g. wheels) +- ability to plugin support for other languages that follow the build/install/test paradigm (e.g. node) +- make it more flexible (ability to override any value via the CLI) +- make it faster (improve interpreter discovery, lazy configuration manifestation, and many more). -tox created two `testenvs` - one based on Python2.7 and one based on Python3.7, it installed pytest in them and ran the -tests. The report at the end summarizes which `testenvs` have failed and which have succeeded. - -**Note:** To learn more about what you can do with tox, have a look at -[the collection of examples in the documentation](https://tox.readthedocs.io/en/latest/examples.html) or -[existing projects using tox](https://github.com/search?l=INI&q=tox.ini+in%3Apath&type=Code). - -### How it works - -tox creates virtual environments for all configured so called `testenvs`, it then installs the project and other -necessary dependencies and runs the configured set of commands. See -[system overview](https://tox.readthedocs.io/en/latest/#system-overview) for more details. - -<a href="https://tox.readthedocs.io/en/latest/#system-overview"> - <img src="https://raw.githubusercontent.com/tox-dev/tox/master/docs/img/tox_flow.png" - alt="tox flow" - width="800px" - align="center"> -</a> - -### tox can be used for ... - -- creating development environments -- running static code analysis and test tools -- automating package builds -- running tests against the package build by tox -- checking that packages install correctly with different Python versions/interpreters -- unifying Continuous Integration and command line based testing -- building and deploying project documentation -- releasing a package to PyPI or any other platform -- limit: your imagination +**Compatibility wise we aim to be (excluding some weird edge cases) configuration file compatible with tox 3. We'll not +be API compatible though (all plugins will break).** ### Documentation -Documentation for tox can be found at [Read The Docs](https://tox.readthedocs.org). +To be done. ### Communication and questions -If you have questions or suggestions you can first check if they have already been answered or discussed on our -[issue tracker](https://github.com/tox-dev/tox/issues?utf8=%E2%9C%93&q=is%3Aissue+sort%3Aupdated-desc+label%3A%22type%3Aquestion+%3Agrey_question%3A%22+) -on [Stack Overflow (tagged with `tox`)](https://stackoverflow.com/questions/tagged/tox). - -If you want to discuss topics or propose changes that might not (yet) fit into an issue, you can get in touch via mail -through <tox-dev@python.org>. - -We also have a [Gitter community](https://gitter.im/tox-dev/). +For now reach out to [Bernat Gabor](https://github.com/gaborbernat/) directly. ### Contributing -Contributions are welcome. See [contributing](https://github.com/tox-dev/tox/blob/master/CONTRIBUTING.rst) and our -[Contributor Covenant Code of Conduct](https://github.com/tox-dev/tox/blob/master/CODE_OF_CONDUCT.md). - -Currently the [code](https://github.com/tox-dev/tox) and the [issues](https://github.com/tox-dev/tox/issues) are hosted -on Github. - -The project is licensed under [MIT](https://github.com/tox-dev/tox/blob/master/LICENSE). +Contributions are welcome, though expect a lot of rough edges at this early point of development. See +[contributing](https://github.com/tox-dev/tox/blob/master/CONTRIBUTING.rst) and our +[Contributor Covenant Code of Conduct](https://github.com/tox-dev/tox/blob/master/CODE_OF_CONDUCT.md). Currently the +[code](https://github.com/tox-dev/tox) and the [issues](https://github.com/tox-dev/tox/issues) are hosted on Github. The +project is licensed under [MIT](https://github.com/tox-dev/tox/blob/master/LICENSE). |