fix enriching [project.optional-dependencies]#857
Merged
radoering merged 1 commit intopython-poetry:mainfrom Apr 24, 2025
Merged
fix enriching [project.optional-dependencies]#857radoering merged 1 commit intopython-poetry:mainfrom
radoering merged 1 commit intopython-poetry:mainfrom
Conversation
Reviewer's Guide by SourceryThis pull request fixes an issue where optional dependencies and their extras were not being correctly handled during dependency enrichment. The changes ensure that the Sequence diagram for enriching dependencysequenceDiagram
participant DependencyGroup
participant Dependency
participant PoetryDependency
participant ProjectDependency
DependencyGroup->>DependencyGroup: _enrich_dependency(project_dependency, poetry_dependency, constraint, marker)
alt poetry_dependency is None
DependencyGroup->>ProjectDependency: with_features(project_dependency.features)
ProjectDependency-->>DependencyGroup: dependency
DependencyGroup->>dependency: _optional = project_dependency.is_optional()
DependencyGroup->>dependency: _in_extras = project_dependency.in_extras
end
DependencyGroup->>Dependency: constraint = constraint
DependencyGroup->>Dependency: marker = marker
Updated class diagram for DependencyclassDiagram
class Dependency {
- _in_extras: list[str]
- _optional: bool
+ marker(marker: str | BaseMarker) : void
}
note for Dependency._in_extras "List of extras the dependency is in"
note for Dependency._optional "Whether the dependency is optional"
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Hey @radoering - I've reviewed your changes - here's some feedback:
Overall Comments:
- It looks like you're modifying
_in_extrasin multiple places; consider consolidating this logic into a single helper function.
Here's what I looked at during the review
- 🟢 General issues: all looks good
- 🟢 Security: all looks good
- 🟢 Testing: all looks good
- 🟢 Complexity: all looks good
- 🟢 Documentation: all looks good
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
ac29f1a to
006d07e
Compare
Secrus
reviewed
Apr 23, 2025
Secrus
approved these changes
Apr 24, 2025
006d07e to
1bb2555
Compare
This was referenced May 4, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resolves: python-poetry/poetry#10331
Summary by Sourcery
Fix dependency enrichment process to correctly preserve optional dependencies and extras
Bug Fixes:
Enhancements:
Tests: