Problem Statement
Developing and publishing packages in Python can be a headache. There are a number of steps and challenges to consider, such as installing and managing dependencies, isolating builds, and publishing the resulting packages to PyPI. Lots of tools aim to simplify these steps and address these challenges, but each approaches the task in a variety of ways.
This project needs to choose a packaging framework and associated tool(s) that balance robustness, simplicity, and reliability.
Decision Drivers
- Simple dependency management
- Cross-platform compatibility
- Ease of publishing packages
- Existing user base
Options to Consider
- setuptools + virtual environments
- pipenv
- hatch
- poetry
Research Links
Problem Statement
Developing and publishing packages in Python can be a headache. There are a number of steps and challenges to consider, such as installing and managing dependencies, isolating builds, and publishing the resulting packages to PyPI. Lots of tools aim to simplify these steps and address these challenges, but each approaches the task in a variety of ways.
This project needs to choose a packaging framework and associated tool(s) that balance robustness, simplicity, and reliability.
Decision Drivers
Options to Consider
Research Links