💡 [REQUEST] - Migrate to a modern Python stack
- Dominant language
- Python
- Stars
- 564
- Forks
- 88
- PR merge metrics
- No merged PRs in 30d
Description
### Summary
Following up on issues like https://github.com/google/slo-generator/issues/432 and https://github.com/google/slo-generator/issues/456 that involve dependency management and packaging, moving to a more modern Python stack would make things a lot simple and a lot easier.
### Basic Example
For example, mature tools like [Poetry](https://python-poetry.org/) and [Hatch](https://github.com/pypa/hatch) support lock files for reproducibility. They can also isolate different parts of a CI pipeline in dedicated virtual environments, allowing linting and testing to have different dependencies from the default installation. Finally, they are able to publish to PyPi without `twine`.
[Ruff](https://github.com/astral-sh/ruff) is a fast and reliable drop-in replacement for packages like `flake8`, `black`, `isort` and `pylint`. And it is written in Rust! It does not replace type checkers like `mypy` though.
### Screenshots
_No response_
### Drawbacks
A bit of work required to migrate. Hatch is able to migrate from `setuptools` with `hatch new --init`.
### Unresolved questions
_No response_
### Code of Conduct
- [X] I agree to follow this project's Code of Conduct
Contributor guide
Assessment
This issue has not been assessed yet.