Skip to content

Adopt pixi for environment management and modernize CI#493

Open
martin-springer wants to merge 4 commits intomigrate-NREL-to-NatLabRockiesfrom
pixi-integration
Open

Adopt pixi for environment management and modernize CI#493
martin-springer wants to merge 4 commits intomigrate-NREL-to-NatLabRockiesfrom
pixi-integration

Conversation

@martin-springer
Copy link
Collaborator

Adds pixi for reproducible, lockfile-backed environment management and rewrites CI to use it. Also, adds Python 3.14 support, and introduces composable pip extras.

Changes

Environment management

  • Replaced requirements.txt, requirements-min.txt, and docs/notebook_requirements.txt with pixi environments and a lockfile (pixi.lock).
  • Simplified environment layout: core (bare), default (notebooks), dev (notebooks + test), dev-py310dev-py314, and dev-min (minimum dependency versions).
  • All shared environments pin Python 3.13 via a solve-group to avoid cross-contamination.

Pip extras

  • Added composable optional-dependency groups: [notebooks], [test], [dev], [doc], and [all].

CI

  • Rewrote pytest.yaml and nbval.yaml to use prefix-dev/setup-pixi.
  • Added a validate-envs job that checks core, default, and dev environments resolve and import correctly.
  • Removed the requirements.yaml workflow.
  • Added Python 3.14 to the test matrix and package classifiers.

Other

  • Bumped minimum arch version from 5.0 to 5.6.
  • Updated README, Sphinx index, developer notes, and example notebook setup cells.
  • Fixed a pre-existing broken link to the TrendAnalysis example in the Sphinx docs.

Checklist

  • Code changes are covered by tests
  • Code changes have been evaluated for compatibility/integration with TrendAnalysis
  • New functions added to __init__.py
  • API.rst is up to date, along with other sphinx docs pages
  • Example notebooks are rerun and differences in results scrutinized
  • Updated changelog

@martin-springer martin-springer changed the base branch from master to migrate-NREL-to-NatLabRockies March 6, 2026 18:54
@codecov-commenter
Copy link

codecov-commenter commented Mar 6, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.82%. Comparing base (cadebc6) to head (1798fb4).

Additional details and impacted files
@@                      Coverage Diff                       @@
##           migrate-NREL-to-NatLabRockies     #493   +/-   ##
==============================================================
  Coverage                          96.82%   96.82%           
==============================================================
  Files                                 12       12           
  Lines                               2332     2332           
==============================================================
  Hits                                2258     2258           
  Misses                                74       74           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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