Skip to content

Remove tox #488

@PerchunPak

Description

@PerchunPak

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.

  1. 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.
  2. Tox simplifies setup system.
    Tox complicates setup system. Instead of just having poetry install && pytest, we need to use a bunch of workarounds and tools. Like tox-poetry, poetry inside our dependencies (see this discussion) etc.
  3. 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)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions