A small example package
Project description
Template for building a Python package
Mark all directories as "Sources Root".
py -m pip install --upgrade pip python -m pip install --upgrade pip-tools
Use pipreqs to make a requirements.txt file based on all packages in environment
pipreqs /path/to/package pipreqs --force # To overwrite existing requirements.txt file
Use piptools to make a requirements.txt file based on dependencies specified in setup.py/setup.cfg/pyproject.toml (https://github.com/jazzband/pip-tools)
python -m pip install pip-tools pip-compile -o requirements.txt pyproject.toml
To update, run:
pip-compile --output-file=requirements.txt pyproject.toml
Install the package in editable mode (no need to activate the virtual environment in Pycharm, https://setuptools.pypa.io/en/latest/userguide/development_mode.html)
cd packaging_tutorial pip install -e . # or equivalently, --editable rather than -e
Publish on Pypi
For full instructions, follow https://packaging.python.org/en/latest/guides/distributing-packages-using-setuptools/.
- Build source distribution and wheel (better than running "python setup.py sdist bdist_wheel");
py -m pip install --upgrade build python -m build
- Before trying to upload your distribution, you should check to see if your brief / long descriptions provided in setup.py are valid. You can do this by running twine check on your package files:
py -m pip install --upgrade twine twine check dist/*
- It's also highly recommended to
- first upload your package on TestPyPi (https://packaging.python.org/en/latest/tutorials/packaging-projects/#uploading-your-project-to-pypi):
py -m twine upload --repository testpypi dist/*
- Check whether the installation worked
py -m pip install --index-url https://test.pypi.org/simple/ --no-deps template_KCEvers
- Upload distribution to PyPi
twine upload dist/*
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for template_kcevers-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b511c638fea3a84a621929163a3e443e28301a5b3620f8c7139a3ac43ea6d5e5 |
|
MD5 | a40fc23f75ad40209b35ed738a8564c7 |
|
BLAKE2b-256 | 99005664223060713c5b267e8e080fbc212730fc45f463bb83e6861522dd6aae |