Skip to main content

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 uint8 array (e.g. produced by cv2.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:

  1. Add cibuildwheel workflow
  2. Build wheels for Linux (manylinux), macOS, Windows
  3. 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)

Source distribution for ntsc-encoder 0.2.2
File Size Uploaded
ntsc_encoder-0.2.2.tar.gz 25.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ntsc-encoder 0.2.2
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page