48
The Ultimate Guide You Need To Publish Your Python Package In Just 3 Easy Steps
A reply to The Ultimate Guide You Need To Publish Your Python Package In Just 9 Easy Steps, using poetry instead of a setup.py
script.
I will focus on the steps only, you can read a better and fuller article here.
I am assuming you have python and poetry installed, if you do not have it, install it.
$ poetry new sample-package
Created package sample-package in sample-package
This will create the project layout:
sample-package/
├── sample-package/
│ └── __init__.py
├── tests/
│ ├── __init__.py
│ └── test_sample-package.py
├── pyproject.toml
└── README.rst
Here is where you say what your package does and define dependencies.
For example:
[tool.poetry]
name = "sample-package"
version = "0.0.1"
description = "Sample Description for your sample file"
authors = ["John Doe <[email protected]>"]
[tool.poetry.dependencies]
# Updated Python version
python = "^3.6"
[tool.poetry.dev-dependencies]
pytest = "^3.0"
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"
There isn't a reason to publish an empty package, make sure it does something.
After your package works, all test pass, etc., you want to make it available to the world, lets build:
$ poetry build
This is optional, highly recommended.
Add Test PyPi as a package repository
$ poetry config repositories.testpypi https://test.pypi.org/legacy/
Publish it to Test PyPi:
$ poetry publish -r testpypi
Install it from Test PyPi
pip install --index-url https://test.pypi.org/simple/ flake8-markdown
If all is good, and ready to make it public:
poetry publish
- If you are new to Poetry, read the docs
- You need an account in Test PyPi and PyPi, register if you haven't
48