-
Notifications
You must be signed in to change notification settings - Fork 1
DEVOPS-693: migrate from conda-lock to pixi #153
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
base: develop
Are you sure you want to change the base?
Conversation
- Removed previous dev dependencies under [tool.poetry.group.dev.dependencies]. - Added new [tool.pixi.project] section with channels and platforms. - Defined direct and indirect dependencies under [tool.pixi.dependencies]. - Specified PyPI options and dependencies for Pixi under [tool.pixi.pypi-options] and [tool.pixi.pypi-dependencies]. - Created environments for default and production under [tool.pixi.environments]. - Added build and test features with respective dependencies and tasks.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #153 +/- ##
===========================================
+ Coverage 84.70% 85.16% +0.46%
===========================================
Files 19 19
Lines 1000 1011 +11
Branches 132 134 +2
===========================================
+ Hits 847 861 +14
+ Misses 115 113 -2
+ Partials 38 37 -1 🚀 New features to boost your workflow:
|
…fic version for static analysis and pytest
sebhmg
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please, see some questions and suggestions
- Updated geoh5py dependency to use the latest version from PyPI instead of a specific git revision. - Renamed section for test dependencies for clarity. - Removed geoapps-utils dependency from editable mode.
sebhmg
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please, see comment about declaring dependencies
- Removed specific version constraints for numpy and scipy. - Added pydantic as a dependency with version constraints. - Updated conda channel from "conda-forge" to "https://repo.prefix.dev/conda-forge".
sebhmg
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
see comments about dependencies
…t.toml - Added geoh5py dependency with version constraints. - Updated numpy and scipy dependencies. - Removed commented-out pip dependencies for clarity. - Enhanced environment configurations to include dev-local and dev-git setups. - Specified geoh5py source for dev-local and dev-git environments.
…djust environment configurations
…ble workflows # work around
…eusable workflows
sebhmg
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please see comment: do not have options (yet) for Artifactory
Co-authored-by: Sébastien Hensgen <sebastienh@mirageoscience.com>
…rations in pyproject.toml" This reverts commit 8a8dfdc.
- comment out the production environment for now (future versions not published yet) - commented placeholder for a production+tests environment - no need for the build feature (yet?) - "default" env being a copy of "dev-git", make sure dependencies are resolved the same way - restore the definition of "dev-local" environment
DEVOPS-693: migrate from conda-lock to pixi
as dev-local assumes ../geoh5py exists, it fails with "locked" option on CI. Thus remove dev-local, and use a task instead for force use of local dependencies
patch with task `use-local-deps` is lost upon every pixi command, such as pixi run test
and fix mismatch for pydantic (also move it under comment block for direct dependencies)
To work with the published package, users would simply run conda install. Usage of pixi here is limited to working with the local source of the package
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR migrates the project from conda-lock to pixi for dependency management as part of DEVOPS-693. The migration involves updating the build system configuration, removing conda-lock specific files, and implementing pixi-based environment management.
Key changes:
- Replaced conda-lock configuration with pixi project configuration in pyproject.toml
- Updated CI/CD workflows to use pixi instead of conda package manager
- Simplified test code by removing jinja2 template processing for recipe.yaml
Reviewed Changes
Copilot reviewed 23 out of 25 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/version_test.py | Simplified conda recipe version parsing by removing jinja2 template processing |
| pyproject.toml | Major restructure: moved dependencies from poetry to project section, removed conda-lock config, added comprehensive pixi configuration |
| .pre-commit-config.yaml | Added pixi.lock to codespell exclusions |
| .github/workflows/python_analysis.yml | Updated CI workflows to use pixi package manager instead of conda |
| .gitattributes | Added git attributes for pixi.lock and other lock files for proper language detection |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
just add local package to pixi.pypi-deps
As indirect dependencies come through pip, and we force them from conda, their versions must be specified, or they will conflict with the most recent versions from conda
less risk to break python.toml because error in large config also move ipython to dev dependencies
DEVOPS-693 - migrate from conda-lock to pixi