Skip to content

Conversation

@olivier-lacroix
Copy link
Contributor

fixes #2024

This PR depends on PyO3/pyproject-toml-rs#30

@olivier-lacroix olivier-lacroix force-pushed the recursive-optional-dependencies branch from d41c693 to 9709fbf Compare April 21, 2025 07:43
@olivier-lacroix olivier-lacroix force-pushed the recursive-optional-dependencies branch from 9709fbf to 32d6c86 Compare April 23, 2025 10:43
@dhirschfeld
Copy link
Contributor

Glad to see this might be resolved shortly! ❤️

@lucascolley lucascolley added enhancement New features pypi Issue related to PyPI dependencies pyproject labels Jul 21, 2025
@dhirschfeld
Copy link
Contributor

This PR depends on PyO3/pyproject-toml-rs#30

This has now been released in 0.13.6:
https://github.com/PyO3/pyproject-toml-rs/releases/tag/v0.13.6

@olivier-lacroix olivier-lacroix marked this pull request as ready for review September 28, 2025 02:30
@olivier-lacroix
Copy link
Contributor Author

Alright. I think this is ready for review.

As we now rely on a top-level pyproject-toml::PyprojectToml::resolve() method, I chose to convert to and rely on pyproject-toml::PyprojectToml directly, which simplifies the code quite a bit.

@olivier-lacroix
Copy link
Contributor Author

@tdejager you may want to give this a look

@olivier-lacroix olivier-lacroix force-pushed the recursive-optional-dependencies branch 3 times, most recently from 6aeb41c to ea8a258 Compare September 28, 2025 03:11
@olivier-lacroix olivier-lacroix force-pushed the recursive-optional-dependencies branch 2 times, most recently from 24c7473 to ac17e4b Compare September 28, 2025 03:33
@olivier-lacroix olivier-lacroix force-pushed the recursive-optional-dependencies branch from ac17e4b to b939cbf Compare September 28, 2025 06:19
@tdejager tdejager self-requested a review October 1, 2025 07:01
Copy link
Contributor

@tdejager tdejager left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is gonna be great, found some small changes.

@tdejager
Copy link
Contributor

tdejager commented Oct 1, 2025

@olivier-lacroix I added a test to test the issue from in the test-suite. Do we also need to add recursive depency groups to the the test or do we still rely on the pixi init behavior there?

@tdejager tdejager added the test:extra_slow Run the extra slow tests label Oct 1, 2025
@tdejager
Copy link
Contributor

tdejager commented Oct 1, 2025

Also lets run the full suite, added the label.

@tdejager tdejager removed the test:extra_slow Run the extra slow tests label Oct 1, 2025
@tdejager
Copy link
Contributor

tdejager commented Oct 1, 2025

I removed the label, all relevant tests seemed to pass.

@olivier-lacroix
Copy link
Contributor Author

@olivier-lacroix I added a test to test the issue from in the test-suite. Do we also need to add recursive depency groups to the the test or do we still rely on the pixi init behavior there?

Optional dependencies and dependency groups are managed in the same way by pixi. pixi init will now only create an environment table that maps each environment to a single feature (an optional depedency group or a dependency group).

This to say we can add dependency groups to the test as well :)

@olivier-lacroix olivier-lacroix force-pushed the recursive-optional-dependencies branch 2 times, most recently from 4e268a8 to a0ac067 Compare October 2, 2025 00:21
@olivier-lacroix olivier-lacroix force-pushed the recursive-optional-dependencies branch from a0ac067 to 2fa6b8a Compare October 2, 2025 07:24
@tdejager tdejager merged commit 7f157b2 into prefix-dev:main Oct 2, 2025
41 checks passed
@olivier-lacroix
Copy link
Contributor Author

Thanks @tdejager !

Hofer-Julian pushed a commit to Hofer-Julian/pixi that referenced this pull request Oct 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New features pypi Issue related to PyPI dependencies pyproject

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support Recursive Optional Dependencies

4 participants