-
Notifications
You must be signed in to change notification settings - Fork 40
Closed
Labels
a: devopsRelated to CI /CD workflows or project toolings (e.g. auto-formatter)Related to CI /CD workflows or project toolings (e.g. auto-formatter)
Description
If we googled "why to use tox", there will be a list of reasons. But those are useless in present days, mostly because of CI and poetry existence.
- Tox aims to fix incompatibility between machines.
This is what poetry already does! It installs own venv for every project and ensures that all requirements (like python version or packages versions) were met. - Tox simplifies setup system.
Tox complicates setup system. Instead of just havingpoetry install && pytest, we need to use a bunch of workarounds and tools. Liketox-poetry, poetry inside our dependencies (see this discussion) etc. - Tox makes it easy to test against different versions of Python.
This had lost its actuality when Python 2 was deprecated. Python is too backwards compatible, so there is no need to run tests on dev machine. Instead, CI exists, which pretty rarely fails by this reason.
There also were ~10 more reasons, why to use tox, but the answer on all of those was just "use CI/poetry, it covers such case much better".
Although, tox is still used in releasing process, to ensure that exact release works. We can just replace it with automatic releases, as it's done in mcproto.
Metadata
Metadata
Assignees
Labels
a: devopsRelated to CI /CD workflows or project toolings (e.g. auto-formatter)Related to CI /CD workflows or project toolings (e.g. auto-formatter)