Skip to content

Migrate to uv clean #447

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

Merged
merged 16 commits into from
Aug 8, 2025
Merged

Migrate to uv clean #447

merged 16 commits into from
Aug 8, 2025

Conversation

iQuxLE
Copy link
Contributor

@iQuxLE iQuxLE commented Aug 7, 2025

This is a clean version of the uv intergration (not from my fork). This way we can make sure the weird things around "add docker when syncing uv" are only artifacts of a fork.

iQuxLE added 2 commits August 7, 2025 09:14
- Replace Poetry with uv package manager
- Update all GitHub workflows to use uv
- Add uv.lock file and remove poetry.lock
- Update pyproject.toml to use modern dependency groups
- Remove obsolete tox.ini file
Copy link

codecov bot commented Aug 7, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 77.45%. Comparing base (c62747f) to head (679af5d).
⚠️ Report is 17 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #447      +/-   ##
==========================================
+ Coverage   77.42%   77.45%   +0.02%     
==========================================
  Files          52       52              
  Lines        4479     4479              
  Branches     1304      979     -325     
==========================================
+ Hits         3468     3469       +1     
  Misses        783      783              
+ Partials      228      227       -1     

☔ 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.

iQuxLE added 13 commits August 7, 2025 09:43
… workflow

This fixes ImportError for requests_cache module which is required by linkml-runtime tests.
…endencies

This matches Poetry's '--all-extras' behavior which installs all optional dependencies
needed for the linkml tests, instead of manually adding individual packages.
Instead of manually adding individual packages, use uv's dependency groups
to properly install linkml-runtime with all its dev dependencies (docker,
requests-cache, etc.) that are needed for linkml tests.
Docker is required by upstream linkml tests (imported in tests/conftest.py).
With Poetry this worked due to implicit dependency resolution, but uv
requires explicit declaration of dependencies.
The issue was that adding linkml-runtime to a dependency group doesn't
automatically install linkml-runtime's dev dependencies. We need to
explicitly add the packages that linkml tests require: docker and requests-cache.
Added debug step to see what's installed and added the remaining dependencies
that linkml tests need: jsonpatch, testcontainers, and nbformat.

This should resolve all the ImportError issues we've been seeing.
Instead of manually adding dependencies in the workflow, properly declare
all dependencies needed for upstream linkml testing in linkml-runtime's
dev dependency group:

- docker (for container-based tests)
- jsonpatch (for dict comparison utilities)
- testcontainers (for PlantUML container tests)
- nbformat & nbconvert (for notebook testing)
- requests-cache (for caching test utilities)

This makes the dependency management much cleaner and more maintainable.
The dependency group approach isn't working - uv isn't installing
linkml-runtime's dev dependencies into linkml's environment.

Fall back to explicitly installing every dependency that linkml tests need:
docker, requests-cache, jsonpatch, testcontainers, nbformat, nbconvert.

Sometimes you just have to be explicit with dependency management.
@iQuxLE iQuxLE mentioned this pull request Aug 8, 2025
5 tasks
@sierra-moxon sierra-moxon merged commit 7f86016 into main Aug 8, 2025
17 checks passed
@dalito dalito mentioned this pull request Aug 8, 2025
4 tasks
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