Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## dev #1408 +/- ##
=======================================
Coverage 92.85% 92.85%
=======================================
Files 41 41
Lines 9990 9990
Branches 2054 2054
=======================================
Hits 9276 9276
Misses 436 436
Partials 278 278 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
I propose a slightly different solution. test-min-deps is used only in CI, and the dependencies are derived from the main dependencies - just pinned. What do you think @h-mayorquin ? |
I think this makes more sense. See the latest changes for my version of this to see if this is what you envisioned. |
|
Yes, exactly! Can you update the |
…encies_uv_compatible' into make_project_dependencies_uv_compatible
Ok, check the last commit. |
|
Thanks. I was exploring a solution to the last failing issue as well. Since there are only two "minimum" environments, I worry that the !minimum negation approach (which is clever) is hard to understand and clutters the main |
Replace factor negation (!minimum) in base [testenv] with explicit [testenv:pytest-py310-minimum] and [testenv:gallery-py310-minimum] sections. This is easier to read — all minimum env config is in one place — and avoids the pip --group flag (requires pip 24.3+). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
It's a little redundant, but explicit and hopefully easier to understand for this use case. @h-mayorquin, let me know what you think. |
I think this is better, more surgical. Restrict the special configuration to that environment might be more verbose but is more decoupled. |
I have been working with uv lately and would like to make this package compatible with it. Currently
uv lockanduv runfail because the resolver cannot build a single lockfile that satisfies all dependency groups and extras together:test-min-depspinsnumpy==1.22.0whilehdmf-zarr(via thezarrextra) requiresnumpy>=1.24.0,test-min-depspinsjsonschema==3.2.0whilelinkml(via thetermsetextra) requiresjsonschema>=4.0.0, and pinned versions likepandas==1.4.0cannot even build on Python >=3.12. In short, the dependencies are locally consistent but not globally.To fix this, this PR:
h5py,numpy, andpandasto versions that are installable on Python >=3.12python_version == '3.10'markers to alltest-min-depspins so the resolver does not attempt to use them on newer Python versions[tool.uv] conflictsbetweentest-min-depsand the optional extras (all,zarr,termset) so uv resolves them in separate forks.The last addition is the only one that is uv-specific, the first two are standard PEP 508/PEP 735 dependency specifications and should help any resolver while making the specification more precise.
If this make sense maybe it should go after the next release to avoid introducing risk into the current release cycle.
Checklist
CHANGELOG.mdwith your changes?