python-poetry / python-poetry/poetry
enhance the dependency management capabilities of Poetry
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 34.3k
- Forks
- 2.5k
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 30
Description
Issue Kind
Change in current behaviour
Description
Dear Poetry Team,
I hope this message finds you well. I am writing to propose a feature that I believe would greatly enhance the dependency management capabilities of Poetry, making it even more powerful and flexible.
Feature Request: Dependency Exclusion
Background:
Poetry is an excellent tool for managing Python dependencies, and it has significantly improved the way we handle project dependencies. However, one common challenge in dependency management is dealing with conflicting dependencies. This issue often arises when a package indirectly introduces a version of a dependency that conflicts with another package's requirements.
Proposal:
To address this, I suggest adding a feature similar to what Maven offers, where users can explicitly exclude specific sub-dependencies during the installation of a package. This feature would allow users to fine-tune their dependency tree and avoid conflicts more effectively.
Adding support for excluding specific dependencies would be a valuable addition to Poetry, making it an even more robust and user-friendly tool. I believe this feature would be widely appreciated by the community and would help to streamline dependency management in complex projects.
Thank you for considering this request. I look forward to your thoughts and any feedback you may have.
Impact
no
Workarounds
no
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files, tests, or entry points. Start by tracing Poetry's dependency resolution and installation paths, then review existing dependency-management tests and define how users would declare exclusions and how resolution should behave; done means documented, tested support for excluding selected transitive dependencies.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100