Merge adding tox into main
All Submissions:
- [x] Have you followed the guidelines in our Contributing documentation?
- [x] Have you verified that there aren't any other open Pull Requests for the same update/change?
- [x] Does the Pull Request pass all tests?
Description
This PR makes tests more automated as they run via tox. This introduces tox environments, for future uses, such as automated code reformatting, code analysis, releases, doc updates, etc ... within isolated environments.
Any news on a potential review on this please ? @LadyChristina
Hi @MokhFn, thanks for the nudge, as I had taken a look at this last month but forgot to follow up. My issue was that I was getting some errors while running this locally, so I wasn't sure if there was sth wrong with the PR or my local tox configuration. But I also didn't know about tox before so it would help if you could explain why it's useful to have? If we go for it, it would be useful to include some instructions for how to use it (e.g. in the README), as I assume other people may not be familiar with it either
No problem @LadyChristina, and thanks for reaching back. Tox is basically a virtualenv manager to isolate specific tasks (it does a lot more than that btw, but in a nutshell).
Where it adds a lot of value here, is enabling us to setup specific and different environments for each step of the pipeline. 1 env for unit tests, 1 env for releasing/packaging, 1 env for updating docs, etc ... With each env having it's own config, separately.
Another, important use case too, is testing our package within multiple python versions, which is easier to do with tox.
For more details, you can maybe check the tox doc, or this article.
Finally, there is also nox, which is a more pythonic way compared to tox (basically tox, but without the tox.ini file, instead, we use a noxfile.py). I personally never used nox, but i am open to implementing it instead of tox if you prefer a more pythonic tool.
Now, for the local issues, i just added a requirement for tox installation. Could you retry and let me know please ? If it doesn't fix your issues, could you publish details ? On another hand, doc updates are noted, will be updated once the issues are resolved.