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

Use uv / pixi? #310

Open
TomNicholas opened this issue Nov 20, 2024 · 6 comments
Open

Use uv / pixi? #310

TomNicholas opened this issue Nov 20, 2024 · 6 comments
Labels
CI Continuous Integration Packaging

Comments

@TomNicholas
Copy link
Member

TomNicholas commented Nov 20, 2024

without much context, obligatory pixi endorsement comment

emerging from a rabbit hole (thanks @cisaacstern 😂) I'm floating around this decision framework for feedback:

  • If you're starting a new Python package, use uv
  • If you need to manage multiple Python virtual environments at a time, also use hatch
  • If you need Conda-Forge in addition to PyPI distributions, also use pixi

More on topic, feel welcome to ping me if you'd like to assign any CI / packaging updates.

Originally posted by @maxrjones in #309 (comment)

@TomNicholas TomNicholas added Packaging CI Continuous Integration labels Nov 20, 2024
@cisaacstern
Copy link
Collaborator

cisaacstern commented Nov 20, 2024

In general I think this decision framework makes sense, though (with the caveat that I've never used hatch environments) I might omit the middle bullet to make it just

  • If you're starting a new Python package [and don't conda dependencies], use uv
  • If you need Conda-Forge in addition to PyPI distributions, use pixi

Pixi will manage multiple environments for use in ci, and switching to pixi would mean being able to entirely remove the ci/ directory from this project, moving all of what's specified there into the pixi.toml manifest file, or put directly into the [tool.pixi] table of the pyproject.toml if you prefer.

@cisaacstern
Copy link
Collaborator

Pixi will manage multiple environments for use in ci, and switching to pixi would mean being able to entirely remove the ci/ directory from this project, moving all of what's specified there into the pixi.toml manifest file, or put directly into the [tool.pixi] table of the pyproject.toml if you prefer.

I've been meaning to help out with this project somehow, and if this is of interest, I could make a PR to demonstrate.

@maxrjones
Copy link
Member

Pixi will manage multiple environments for use in ci, and switching to pixi would mean being able to entirely remove the ci/ directory from this project, moving all of what's specified there into the pixi.toml manifest file, or put directly into the [tool.pixi] table of the pyproject.toml if you prefer.

I've been meaning to help out with this project somehow, and if this is of interest, I could make a PR to demonstrate.

I expect that we'll want conda for some of the drivers, so pixi seems like a good option to me for virtualizarr. plus I'd be excited to learn from your PR 😄

@TomNicholas
Copy link
Member Author

if this is of interest, I could make a PR to demonstrate.

This is definitely of interest, and I would love it if you could point us to how it should be done 😁

@cisaacstern
Copy link
Collaborator

Great to know! I'd love to share a PR showing how I'd approach it and get all of your feedback.

Are any other outstanding issues / PRs dependent on this, or are there any deadlines this is needed for?

I will try to get to it ASAP but want to make sure I don't accidentally miss some important context.

@TomNicholas
Copy link
Member Author

Are any other outstanding issues / PRs dependent on this, or are there any deadlines this is needed for?

No none at all. It's already distributed through pip and conda, this would just be modernizing / a quality of life improvement.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Continuous Integration Packaging
Projects
None yet
Development

No branches or pull requests

3 participants