python-poetry / python-poetry/poetry-plugin-export
poetry export - should it include optional extras by default?
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 335
- Forks
- 57
- Avg merge
- 1h 23m
- Merged PRs (30d)
- 3
Description
What is the intention for poetry export with respect to default behavior for optional dependencies? It seems to include them in the output requirements.txt file.
poetry export --without-hashes --format requirements.txt --output requirements.txt
For example, if scipy is an optional extra, it should not be in requirements.txt (right?)
scipy = {version = "^1.5.3", optional = true}
But, there it is:
scipy==1.5.4; python_version >= "3.6"
Given there are additional command options to include optional extras, it suggests the default behavior is to exclude all optional dependencies (unless explicitly requested with an --extras {x}).
Could it be that a dev-dep for e.g. seaborn has a dep on scipy and the poetry export is not filtering out a dep of a dev-dep when it exports? As in python-poetry/poetry#3448 ?
Contributor guide
No contributing guide indexed for this repository
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
Reproduce the poetry export --without-hashes --format requirements.txt --output requirements.txt command with scipy marked optional, then compare the output with an explicitly requested --extras case. Trace whether scipy enters through the optional dependency itself or through a dev dependency such as seaborn; done means the intended default behavior is established and the export behavior or documentation matches it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100