Switch to better version management with Python
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 270
- Forks
- 123
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 3
Description
Description of feature
Adopt some sort of tool to directly grab the version string from the git tag, instead of hard-coding it manually in the code. I think we've all made mistakes in versioning and the __version__ is not guaranteed to be 100% correct.
Note that this applies to all MDOLab-related packages so perhaps this is a worthy topic at the maintenance meeting? CC @eirikurj. I'd be happy to help prototype/implement.
Potential solution
Candidates include
- setuptools_scm which I have successfully used in the past
- versioneer which has more stars but has not had a release in ~2 years.
- bump-my-version (previously bump2version) can be applied manually or part of a build process
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 by reviewing how version is currently hard-coded and how releases are built for pyoptsparse and the other MDOLab packages. Compare setuptools_scm, versioneer, and bump-my-version against the stated goal, then document a selected approach and its rollout scope. Done means versions are derived consistently from git tags without manual duplication.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100