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

chore: Support uv #79

Merged
merged 3 commits into from
Mar 19, 2024
Merged

chore: Support uv #79

merged 3 commits into from
Mar 19, 2024

Conversation

jstlaurent
Copy link
Contributor

Changelogs

  • Synch the dependencies in pyproject.toml with those in env.yml
  • Add a some commands to run when using uv for local development

Checklist:

  • Was this PR discussed in an issue? It is recommended to first discuss a new feature into a GitHub issue before opening a PR.
  • Add tests to cover the fixed bug(s) or the newly introduced feature(s) (if appropriate).
  • Update the API documentation if a new function is added, or an existing one is deleted.
  • Write concise and explanatory changelogs above.
  • If possible, assign one of the following labels to the PR: feature, fix or test (or ask a maintainer to do it for you).

discussion related to that PR

@jstlaurent jstlaurent added the enhancement New feature or request label Mar 18, 2024
@jstlaurent jstlaurent self-assigned this Mar 18, 2024
Copy link
Collaborator

@cwognum cwognum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

Do you know if there's an automated way to keep things in sync? I assume not and I expect it's not that big an issue because we won't frequently update it, but just out of curiosity.

Finally, if you're curious, I would also recommend to give pixi a look. From the creators of mamba. It's built on top of Conda (and thus cross-platform and multi-language), fast (written in Rust) and feels like a more complete package manager (e.g. it has lock files, task manager). pixi actually wants to integrate PyPi and Conda workflows and has written its own PyPi resolver called rip. It seems though they are now switching to uv instead! See https://prefix.dev/blog/uv_in_pixi

README.md Outdated Show resolved Hide resolved
@cwognum
Copy link
Collaborator

cwognum commented Mar 19, 2024

The failing test cases seem to be an upstream issue. Maybe we need to set a limit on pandas, datamol or rdkit?

@jstlaurent
Copy link
Contributor Author

The failing test cases seem to be an upstream issue. Maybe we need to set a limit on pandas, datamol or rdkit?

I put an upper limit on pandas. It looks like rdkit tries to patch a function that's moved around in 2.2.0.

@jstlaurent
Copy link
Contributor Author

Do you know if there's an automated way to keep things in sync? I assume not and I expect it's not that big an issue because we won't frequently update it, but just out of curiosity.

I don't believe so, unfortunately. We'd need to set something up ourselves in CI, if we wanted that.

Finally, if you're curious, I would also recommend to give pixi a look. From the creators of mamba. It's built on top of Conda (and thus cross-platform and multi-language), fast (written in Rust) and feels like a more complete package manager (e.g. it has lock files, task manager). pixi actually wants to integrate PyPi and Conda workflows and has written its own PyPi resolver called rip. It seems though they are now switching to uv instead! See https://prefix.dev/blog/uv_in_pixi

Hadrien had mentioned it. I had a look and it seems like the goals are pretty much the same as with uv (becoming Cargo for Python). I personally prefer uv's leveraging the Python standards through pyproject.toml, rather than using a custom format, like pixi's. It doesn't force potential users to use one specific tool.

@jstlaurent jstlaurent merged commit d8936ae into main Mar 19, 2024
4 checks passed
@jstlaurent jstlaurent deleted the chore/uv-support branch March 19, 2024 15:00
@cwognum
Copy link
Collaborator

cwognum commented Mar 19, 2024

I agree! That's why I haven't switched, but they have some PRs on importing / exporting requirements to other formats.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants