mollie / mollie/mollie-api-python
Upgrade packaging setup
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 127
- Forks
- 53
- PR merge metrics
- No merged PRs in 30d
Description
The current setup for packaging is a bit dated, we use setup.py and don't use nide features like extras etc. What we could achieve:
- Use
pyproject.tomlfor configuring the whole package - Use
extrasto install optional packages:pip install mollie-api-python[examples]would installflask,mollie-api-python[test]would installpytestetc. This is better than using separaterequirement.txtfiles, or write things in documentation. - We could setup minimum and maximum versions for dependencies, ensuring that we automatically upgrade a dependency for which a vulnerability was found to a newer version (or trigger a conflict for the vulnerable version).
- Minimum/maximum version specifiers for dependencies can also be used by @dependabot to inform us automatically about vulnerabilities we're not aware of.
- Specify supported python versions for the package, helping our users to use the correct package for their environment.
Reference docs: https://packaging.python.org/en/latest/tutorials/packaging-projects/
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 the existing setup.py and the referenced Python packaging guide, then map the current requirement files and supported Python versions. The work is done when packaging is configured through pyproject.toml with optional extras, dependency version bounds, and declared Python support, while the package can still be installed successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100