google / google/slo-generator

💡 [REQUEST] - Migrate to a modern Python stack

Open
#459 1 comment 0 reactions 1 assignee Claimed by @lvaylet View on GitHub
ci dependencies docs documentation github_actions refactor tests
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.