opensafely-core / opensafely-core/opensafely-cli
Not all required dependencies specified under Windows in `requirements.dev.txt`
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2
- Forks
- 5
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 4
Description
I just tried updating all development packages, with hashes, generated in a Linux Python 3.8 install, and found that I couldn't get the Windows build on GitHub to pass.
This is because colorama is required as a dependency for build==0.9.0 (itself a pip-tools dependency) and greater in Windows, but not for Linux.
For now, without package hashes, requirements.dev.txt still installs perfectly well in the GitHub Actions CI, because pip will quite happily install other packages it needs without hashes.
Unfortunately, pip-tools doesn't have much support for generating requirements cross-platform: jazzband/pip-tools#826. Another option is just to add colorama into the requirements, but that's not great either and also would result, I think, in this issue: pypa/build#493.
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
Start with requirements.dev.txt and the Windows GitHub Actions build, comparing the hashed requirements generated on Linux Python 3.8 with the dependencies needed by build==0.9.0 and pip-tools. Review pip-tools#826 and pypa/build#493 before choosing an approach; done means the Windows CI build passes while development dependencies remain correctly specified with hashes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, python
- Domain
- build-system, ci-cd
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100