Step by step procedure to build .whl files for Pinggy, depending on different OS & Architecture.
Looking for usage docs? See
PyPI_Description.mdfor a quick start andAPI_DOC.mdfor the full API reference.
pinggy/
├── __init__.py
├── __main__.py
├── __version__.py
├── core.py # ctypes bindings for libpinggy
├── loader.py # native library loader
├── pinggyexception.py # SDK exceptions
└── pylib.py # high-level Tunnel / BaseTunnelHandler API
setup.py
generate_docs.py
syncVersionWithTag.py- Python 3.6+
wheelandsetuptools
pip install wheel setuptools requests
- Shared libraries (
.so,.dll,.dylib) hosted on an HTTP server. However, they are packaged in zip/tgz along with dependencies. Zips/tgzs are categories by os and architectures.- libpinggy-{version}-ssl-linux-aarch64.tgz
- libpinggy-{version}-ssl-linux-armv7.tgz
- libpinggy-{version}-ssl-linux-i686.tgz
- libpinggy-{version}-ssl-linux-x86_64.tgz
- libpinggy-{version}-ssl-macos-universal.tgz
- libpinggy-{version}-windows-aarch64-MT.zip
- libpinggy-{version}-windows-armv7-MT.zip
- libpinggy-{version}-windows-i686-MT.zip
- libpinggy-{version}-windows-x86_64-MT.zip
- Linux and Macosx need explicit OpenSSL libs which is present at openssl/lib dir
- Linux system for building all platform wheels (cross-platform)
Set the environment variable for the shared library server:
export LIB_PINGGY_SERVER=http://lib_pinggy_server.com/python setup.py bdist_wheel --plat-name=win-amd64
python setup.py bdist_wheel --plat-name=linux-x86_64
python setup.py bdist_wheel --plat-name=macosx-universal
pip install .
Wheel filenames follow the pattern pinggy-{version}-cp310-abi3-{plat_tag}.whl:
