Materials-Consortia / Materials-Consortia/optimade-python-tools
CI test for the minimum deps versions specified in setup.py
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 91
- Forks
- 54
- PR merge metrics
- No merged PRs in 30d
Description
We try to keep broad version compatibility with our dependencies by only bumping the setup.py if a dep bump required code changes for continued support. We then test everything with the requirements file pinned deps, and the loose deps in the setup.py (which will download all the latest compatible versions, i.e., more recent than the requirements file) (we actually don't do this anymore either).
In order to better support people upgrading optimade-python-tools within existing environments (which won't trigger deps upgrades until necessary), we should probably test the minimum versions specified in our setup.py. This might cause a load of issues between minimum deps not working correctly with each other, but it will also prevent us from making changes to code that work with latest versions but break our minimum deps without realizing (as they are not tested).
I'm hoping I can find a simple way of doing this with pip, i.e., just install use the minimum compatible versions in the setup.py and just run through the tests, but failing this we might need a script to parse these out and create some additional minimum pinned reqs files.
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
Start by inspecting setup.py and the existing requirements file to identify how dependency versions are declared and how CI installs them. Try using pip to install the minimum compatible versions, then run the existing test suite; done means CI reliably tests those minimum versions and reports incompatibilities.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- ci-cd, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100