self-contained-runnable-python-package-template
roadmap
Our great sponsors
self-contained-runnable-python-package-template | roadmap | |
---|---|---|
3 | 4 | |
18 | 2 | |
- | - | |
0.0 | 1.8 | |
over 1 year ago | over 2 years ago | |
Python | ||
GNU General Public License v3.0 only | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
self-contained-runnable-python-package-template
-
Underappreciated Challenges with Python Packaging
The approach I prefer is to not mess with setuptools etc at all in the first place, and simply make a nice executable package.
e.g. https://github.com/tpapastylianou/self-contained-runnable-py...
-
How to create a Python package in 2022
The title should be: How to create a "Python DISTRIBUTION package".
The term "python package" means something entirely different (or at the very least is ambiguous in a pypi/distribution context).
To add to the confusion, creating a totally normal, runnable python package in a manner that makes it completely self-contained such that it can be "distributed" in a standalone manner, while still being a totally normal boring python package, is also totally possible (if not preferred, in my view).
Shameless plug: https://github.com/tpapastylianou/self-contained-runnable-py...
-
Show HN: Hatch 1.0.0 – Modern, extensible Python project management
Shameless plug: I use my own template, which organises things as runnable projects.
https://github.com/tpapastylianou/self-contained-runnable-py...
It serves my purposes very well (which is creating projects that represent standalone experiments).
Sharing in case someone else here finds it useful.
More recently I've modified this a bit to also generate nice html reports straight from the __main__.py file, independently of the underlying python code, and use this as lab books (where each lab book contains a single analysis and its report). I'll upload this template separately when I find the time.
roadmap
-
Python Packaging, One Year Later: A Look Back at 2023 in Python Packaging
I wish Poetry were PEP-621 compliant though. [1]
Currently, it uses a proprietary configuration group (or "tool section", as they seem to call it in `pyproject.toml` speech).
- How to improve Python packaging, or why 14 tools are at least 12 too many
-
What are people using to organize virtual environments these days?
Sorry for the late reply. I cannot recall the exact source, but I found this issue in the poetry repo: https://github.com/python-poetry/roadmap/issues/3. IIUC, they are trying to make poetry compliant with PEP621 but the PR was not merged yet? Will update the original comment to add this nuance.
-
How to create a Python package in 2022
I believe that Poetry does conform to PEP 518 (i.e. it specifies `[build-system]requires`), but not to the `dependencies` part of PEP 621 [1]. There are plans for this in the future though [2].
What are some alternatives?
hatch - Modern, extensible Python project management
tox-poetry-installer - A plugin for Tox that lets you install test environment dependencies from the Poetry lockfile
sigstore-python - A codesigning tool for Python packages
publishing-python-packages - Examples and exercises for Publishing Python Packages from Manning Books 🐍 📦 ⬆️
pigar - :coffee: A tool to generate requirements.txt for Python project, and more than that. (IT IS NOT A PACKAGE MANAGEMENT TOOL)
Nuitka - Nuitka is a Python compiler written in Python. It's fully compatible with Python 2.6, 2.7, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, and 3.11. You feed it your Python app, it does a lot of clever things, and spits out an executable or extension module.
pip-audit - Audits Python environments, requirements files and dependency trees for known security vulnerabilities, and can automatically fix them
Poetry - Python packaging and dependency management made easy