Skip to content

Conversation

@tomicapretto
Copy link
Collaborator

@tomicapretto tomicapretto commented Sep 27, 2025

Summary of changes:

  • Migrated the development environment from Conda to Pixi.
  • Added Pixi specific configurations to pyproject.toml.
    • Development and testing dependencies are not packaged anymore, they're a pixi group dependency, used only for development
  • We're still using setuptools for packaging. We only define the regular installation, a jax-related installation, and another nutpie-related installation. We don't export dev anymore.
  • Removed .pylintrc. We put all in pyproject.toml
  • Updated many dependencies (black, pylint, pytest, ipykernel, etc)
  • Enforce pre-commit in our CI checks
  • Use different Pixi environments to run checks under different python versions
  • Modernize workflow files by updating actions, but also by removing unnecessary steps, and making steps run only under relevant conditions.
  • Removed the scripts directory and all of its contents.
  • The number of files modified is very large because of some pre-commit hooks.

Points I think we could discuss:

  • Pushing pixi.lock. This can be a source of pain in the future. The reason why I'm including it is to be able to use the cache: true option in our workflows. It didn't took me much time to revert this decision, very quickly I got few errors and I can imagine this will be worse in the future.
  • Usage of Pylint over Ruff. I'm very well aware that Pylint is way slower than Ruff. However, in the past, I've found Ruff to be extremely permissive and Pylint to be way more restrictive and louder about (potential) issues. Here, I prefer to be very pedantic about checks instead of saving a few seconds. Also, Pylint is not included in pre-commit, because of reasons (see https://pylint.pycqa.org/en/stable/user_guide/installation/pre-commit-integration.html), but it's included within our CI. I think it's possible to achieve near-pylint "safety" or "pedanticness" with ruff plus other tools, but I'm not sure if it's worth the effort.

@tomicapretto tomicapretto marked this pull request as ready for review September 27, 2025 17:23
@ahartikainen
Copy link
Collaborator

I personally like ruff, but ofc I'm much less restrictive what goes in to the codebase.

And it is not about the speed but less tools (ruff format + ruff check).

@tomicapretto
Copy link
Collaborator Author

I personally like ruff, but ofc I'm much less restrictive what goes in to the codebase.

And it is not about the speed but less tools (ruff format + ruff check).

@ahartikainen do you have an example at hand I can have a look at? I'm curious about how people set it up (I'm trying to find if I can eventually get convinced that ruff is all I need)

@tomicapretto tomicapretto mentioned this pull request Sep 27, 2025
@tomicapretto tomicapretto merged commit a3c2999 into bambinos:main Sep 29, 2025
5 of 8 checks passed
@tomicapretto tomicapretto deleted the improve-workflows branch October 19, 2025 02:45
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.

2 participants