ntsc-encoder (pybind11)
This directory builds the ntsc_encoder Python extension module using C++/pybind11.
Requirements
- Python 3.9+
- A C++ compiler + CMake 3.18+
- No OpenCV dependency is required to build/install this wheel.
The input is a NumPy HxWx3
uint8array (e.g. produced bycv2.imread()+cv2.cvtColor). - Build tools:
python -m pip install -U build twine
Build a wheel/sdist locally
From this directory (Code/Encoder):
python -m pip install -U pip
python -m pip install -U build twine scikit-build-core pybind11 numpy
python -m build
Artifacts will appear in dist/.
Check metadata:
twine check dist/*
Upload to PyPI
Recommended: upload to TestPyPI first.
# TestPyPI
python -m twine upload -r testpypi dist/*
# PyPI
python -m twine upload dist/*
You’ll need an API token configured in ~/.pypirc or exported via environment variables.
Building wheels for multiple platforms (recommended)
To avoid requiring end users to have a compiler + OpenCV dev libs, publish prebuilt wheels.
Typical approach: GitHub Actions + cibuildwheel.
High-level steps:
- Add
cibuildwheelworkflow - Build wheels for Linux (manylinux), macOS, Windows
- Upload wheels + sdist with
twine
If you want, I can add a ready-to-use GitHub Actions workflow for cibuildwheel.
Troubleshooting
If pip install ntsc-encoder succeeds but import ntsc_encoder fails, it usually means the wheel did not contain the compiled extension (or it was installed into the wrong location). For scikit-build-core, ensure CMakeLists.txt has install(TARGETS ntsc_encoder ... DESTINATION ${SKBUILD_PLATLIB_DIR}).
Metadata
Release files for ntsc-encoder 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ntsc_encoder-0.2.2.tar.gz | 25.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ntsc_encoder-0.2.2-cp314-cp314-macosx_26_0_arm64.whl | CPython 3.14 | CPython 3.14 | macOS 26.0+ ARM64 | Details |
Total release size: 107.6 kB
Release files / ntsc_encoder-0.2.2.tar.gz
| Download URL | ntsc_encoder-0.2.2.tar.gz |
|---|---|
| Size | 25.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
766e1d21607540b245e373feb72e4471d06dd4d7f0dde5be60b1faa775e259a8
|
|
BLAKE2b-256 checksum How to use checksums |
8fa8fa25f944acd00dab042a42edb66f6f2cd3f9c155276de25c83b4059b07c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / ntsc_encoder-0.2.2-cp314-cp314-macosx_26_0_arm64.whl
| Download URL | ntsc_encoder-0.2.2-cp314-cp314-macosx_26_0_arm64.whl |
|---|---|
| Size | 81.8 kB |
| Tags | CPython 3.14 macOS 26.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b1d3e85b3d83d825c1e674a9aa8f55f4ba302f099661147cff930422a5a9685e
|
|
BLAKE2b-256 checksum How to use checksums |
125844e066e1ad95b3cbd82bc14c81e23a4fb9c6552e13cdf0ffc9fcb06a6606
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|