Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python 3.12 support, various developer-side QoL improvements #7

Merged
merged 4 commits into from Feb 24, 2024
Merged

Conversation

leroyvn
Copy link
Collaborator

@leroyvn leroyvn commented Feb 24, 2024

This PR brings several developer quality-of-life improvements, as well as official Python 3.12 support. Changes are as follows:

  • Official Python 3.12 support. Python 3.12 is now part of our CI matrix, which makes it officially supported!
  • Move from PDM to Rye for project management. Rye, despite its experimental status, is now reliable and has shown its superiority to other project management tools when it comes to managing dependencies. I've been using it for a while now, moving from PDM, and I never regretted it.
  • Drop Nox for testing. The point of using Nox was to be able to run locally the full test matrix (with the Python version as a dimension). This turned out to be rather useless, since the CI doesn't even rely on it. Therefore, I'm retiring this: we test locally against a single Python version, the CI does the rest, and when there is a bug, Rye makes it extremely easy to pin a different Python version for debugging.
  • Drop Conda development environment support. With Rye as the project management solution, virtual environment management becomes very simple. I no longer feel the need to use Conda for this, so I don't see the point of maintaining additional lock files.
  • Use Ruff to format code. The Ruff formatter is basically Black with minor changes. To simplify pre-commit hooks, I switched to the Ruff formatter. This doesn't mean, however, than Black can't be used to format our code.
  • Drop Copier template. I decided to stop sourcing project tooling updates from a Coper template (I realized maintaining it required more work than it saved me).

To do:

  • Update maintainer documentation
  • Update change log
  • Pimp this PR description

@leroyvn leroyvn merged commit 4accf77 into main Feb 24, 2024
1 check passed
@leroyvn leroyvn deleted the rye branch February 24, 2024 15:26
@leroyvn leroyvn changed the title Move project management tooling to Rye Python 3.12 support, various developer-side QoL improvements Feb 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant