Skip to content

Standardizing Python project setup using uv#429

Merged
mauvais2 merged 39 commits into
1.8.0from
uv-setup
Apr 27, 2026
Merged

Standardizing Python project setup using uv#429
mauvais2 merged 39 commits into
1.8.0from
uv-setup

Conversation

@mauvais2
Copy link
Copy Markdown
Contributor

@mauvais2 mauvais2 commented Apr 8, 2026

Build and packaging

  • Switched Python dependency and virtual environment management to uv, which makes environment setup faster and more consistent across local development and CI.
  • Added pyproject.toml support for platform-specific installs on cpu, cuda, rocm, and mchip, giving us a cleaner and more maintainable way to manage platform differences.
  • Updated packaging configuration so the project is ready for publishing to PyPI, which will make installation easier for users and reduce the need for local builds.
  • Added Dockerfiles for cpu, cuda, rocm, and mchip to support reproducible container builds across supported platforms.

CI and testing

  • Updated CI to use the CPU build configuration defined in pyproject.toml, helping keep CI aligned with the new environment and packaging setup.
  • Refactored the CI pipeline to remove duplicate jobs and replace them with reusable common jobs, which reduces maintenance and makes the pipeline easier to extend.
  • Added pytest profiling to surface the longest-running tests, making it easier to spot bottlenecks and improve test suite performance over time.
  • Updated affected source and test code to work with the new dependency and build structure.

Documentation and release workflow

  • Updated the README and Read the Docs documentation with instructions for using uv and for installing atomsci-ampl from PyPI.
  • Updated the Confluence release documentation to include the package publish package step.
  • Defined the publish pipeline and left it manual for now, so the workflow is in place while still allowing controlled rollout.

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 8, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

@@            Coverage Diff             @@
##            1.8.0     #429      +/-   ##
==========================================
+ Coverage   51.61%   52.90%   +1.29%     
==========================================
  Files          38       38              
  Lines       11982    12205     +223     
==========================================
+ Hits         6184     6457     +273     
+ Misses       5798     5748      -50     
Flag Coverage Δ
unittests 52.90% <100.00%> (+1.29%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
atomsci/ddm/__init__.py 100.00% <ø> (ø)
atomsci/ddm/pipeline/model_wrapper.py 68.73% <100.00%> (-0.13%) ⬇️
atomsci/ddm/pipeline/parameter_parser.py 92.52% <100.00%> (-0.09%) ⬇️

... and 3 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@mauvais2 mauvais2 merged commit cd3d1a1 into 1.8.0 Apr 27, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants