daisybio / daisybio/drevalpy

Modern python tooling

Open
#453 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
44
Forks
12
Avg merge
7d 19h
Merged PRs (30d)
10

Description

Over the last years, the open source tooling from astral proved to be reliable and super quick. The migrations would look as following:

- `uv` instead of poetry
- `ruff` instead of flake8/black
- `ty` instead of mypy (`ty` did not have its stable release yet, but it's already widely adopted)

Other changes I would like to make:

- Add prek as a dev dependency, replaces pre-commit, faster and better `uv` compatibility
- Add complexipy as a pre-commit check, limits cognitive complexity of functions

Some things I would remove:

- Nox: I don't fully understand why nox is used in the repo. From my perspective, it should be sufficient if the tests pass on a single python version locally, and different python versions can then be checked in a CI matrix in github actions
- `setup.cfg`: this can be integrated in `pyproject.toml`
- `requirements.txt`: the `poetry.lock` (or `uv.lock`) should handle version locking conveniently, why is an additional mechanism needed?

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the repository's pyproject.toml, setup.cfg, requirements.txt, Poetry configuration or lockfile, Nox setup, and GitHub Actions workflows. Compare the current Poetry, linting, typing, and pre-commit tooling with the proposed uv, ruff, ty, prek, and complexipy migration; done means the local workflow and CI remain passing across the supported Python versions.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, python
Domain
build-system, ci-cd, tooling
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.