Tutorial on publishing to PyPI
Project description
pypi-bonjour
Tutorial on publishing to PyPI.
Tutorial
The pypi-bonjour
package gradually adds more functionality over different versions.
v0.0.1: the hello-world example
This version publishes the barebone skeleton code to pypi
which includes:
- the source code with the single pure Python function
hello_world
(in contrast with pybinded functions) - a
pyproject.toml
file for enablingpip install
of the package - the GitHub workflow that publishes the package to
pypi
upon release publish
See this video by Prof.Qiusheng Wu for an introduction to PyPI packaging.
v0.0.2: add dependencies
This version adds NumPy as one of the dependencies.
v0.0.3: add pybind11-binded C++ function
This version adds a function that is pybind11
-binded from C++ from Python without the use of CMake. See here for an intro regarding using pybind11
with setuptools
.
See this video by anthonywritescode for an introduction to manylinux
.
To build the wheels only for CPython (what is PyPy...), non alpine linux (what is musllinux...), x86_64
and aarch64
platforms use the following command:
export CIBW_SKIP="pp* *musllinux*"
export CIBW_ARCHS="x86_64 aarch64"
cibuildwheel
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 Distributions
Hashes for pypi_bonjour-0.0.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 904a00607851db147b4df626499c8f7768932b784dc0b515c2ac620250de4d30 |
|
MD5 | 97eefc76e8ac8b5d4c8fcf865f3572fc |
|
BLAKE2b-256 | 6a01ee8d9fe691cf8cedeaa233fda5222c3ec9c4c7162371777682fc12ca7334 |
Hashes for pypi_bonjour-0.0.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3394d6e440da47bb6a4d94eb1fabbeaad1e6257529293adec2b7f5f378298318 |
|
MD5 | 99ef7c9bd74628efcbcd9a8026a64996 |
|
BLAKE2b-256 | 9d4042bac663fc489b1d44125f68f1e46a6ad60f29eeab07f984de0c73662403 |
Hashes for pypi_bonjour-0.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e296d3f1e06d2d433db99ba5dc3518ce2db4286a805fa60f22448ad85e59ca0f |
|
MD5 | 56301843df1a95fb79c93e348c75082b |
|
BLAKE2b-256 | 8bdac82ce6e068e84490c3c7f619b1c7b99bde504e5722828b5105ded815c1dd |
Hashes for pypi_bonjour-0.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fd1e0e8927e2e71af99014a549c56b58d54150f0d15fdb279d7d95615b86a72 |
|
MD5 | 532ee10f15c0ae509342c873e6fae70e |
|
BLAKE2b-256 | be7855155b1ee2c737c7a2427f3aa8dd3abdf0d887947d9380307b4e0f8a90df |
Hashes for pypi_bonjour-0.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0090b7b400c50cfff8d6f49908b8767bb5f08076268d3cc0157cc5b6382ceafd |
|
MD5 | 7c7060e99771c07d4b1b063c1846d4de |
|
BLAKE2b-256 | 0d60a6b290e3673b2fd7d0b2f0f640ca9a1a21c817a31156da16348590658fae |
Hashes for pypi_bonjour-0.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d6915efb1d9b68ea3016c87279d13a299c9215a16d6ecc4bef38d0f774db5d8 |
|
MD5 | a09912da3ad9ec77b4f68aa9681c9036 |
|
BLAKE2b-256 | b970e9b08febe7d3fb19233789552843e77777a27c5200f09c09424edbbc8933 |
Hashes for pypi_bonjour-0.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c94d7d6f899ea2d5f8d2cf4a9788e914226a50d9db977dfad140b6e435c8b1ee |
|
MD5 | a3ff1ad124fd394f412d3f066b58589b |
|
BLAKE2b-256 | 67f5ef540f7b1132b2c13778ba6f412554d39b9769fcd8575ac69708133fc7b1 |
Hashes for pypi_bonjour-0.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78e7e29fdb980afafb42d3ebbc7ce6c6a2c13f2b231bb898aa4de4ff1957c85f |
|
MD5 | 8ebb9fc170948ed280480c7a17a348cb |
|
BLAKE2b-256 | 2b605e2db07ab985bcf506cdafb86df865ab80d6cf62aa5386982f8b10bc0d02 |
Hashes for pypi_bonjour-0.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c564cc8c2040c45be1e0a16f6dd49f130ac5e95005b354b0444f5b4fcd4bb963 |
|
MD5 | f7f47c5bbb3b48ff23105b17f9469fdb |
|
BLAKE2b-256 | 876b89cbc2c5acdee2f4a6e3b41e1c421f5321c081055ee02b19b7c018ad5802 |
Hashes for pypi_bonjour-0.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c586e9a4720d123f7b5fdefb7c52a1c8c2b289f24b25ed6c5a7e21568ab5816c |
|
MD5 | ac53322c473b023ddc10f268f4914880 |
|
BLAKE2b-256 | 383abcc7e87940e3a700d3cd48443ab460be0914b6388039cf5fd23b15404787 |
Hashes for pypi_bonjour-0.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29dd3576d91a1119bbd2de1d4232cff07fa5a13c06f6d141a894d8cbce89fc12 |
|
MD5 | 41f268c2159675f8241f38e48210929c |
|
BLAKE2b-256 | 83fa9c64f439b1867047a6cbf794435eaa4ea609f16b846774be25217b4a65da |
Hashes for pypi_bonjour-0.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f4d6e3e3ec1b925839cc32cd6c581b6cd417d2c35210b84cc03c7b22123131b |
|
MD5 | c4a82fd9be014e18ab5cfa5f286356db |
|
BLAKE2b-256 | 65a21d01d01324aa65456d7ea5339affa3b4ed6f3d818229abc41feda80339f5 |