Skip to main content

ARToolKitNFT for python

This is a python binding for WebARKitLib library. It is based on the WebARKitLib library and provides a python interface to the library. Install from PyPI:

pip install artoolkitnft

Supported platforms

platform wheels
Linux x86_64 CPython 3.9-3.13
macOS Apple silicon (arm64) CPython 3.9-3.13
Windows x86_64 CPython 3.9-3.13
macOS Intel (x86_64) none -- see below

There is deliberately no source distribution: the build compiles sources from outside the package directory and needs the WebARKitLib git submodule, neither of which survives an sdist. So on a platform without a wheel, pip reports no matching distribution found rather than attempting a build that cannot succeed.

Intel macOS is not supported. GitHub retired its free Intel runner (macos-13) in December 2025; the replacement is a paid runner, and GitHub removes x86_64 macOS entirely in August 2027. Apple has already discontinued the architecture. If you need Intel macOS, build from a repository checkout following Local development below, or open an issue -- cross-compiling universal2 wheels is possible if there is demand.

Rehearsal builds are published to TestPyPI by running the Publish Python package workflow manually with the testpypi target. Note that any python/* tag publishes to PyPI, including a pre-release version such as 0.0.14rc1 -- routing is chosen by how the workflow is triggered, not by the version number. To install a rehearsal build:

pip install -i https://test.pypi.org/simple/ artoolkitnft

Local development (build and install from source)

To build the bindings locally and test them without publishing to TestPyPI:

Prerequisites

  • Python 3.9+ with pip
  • A C/C++ toolchain (MSVC Build Tools on Windows, build-essential on Linux)
  • cmake available on PATH (used by setup.py to build the bundled zlib)
  • The git submodules initialised:
    git submodule update --init
    
  • On Windows: vcpkg with libjpeg-turbo and pthreads installed (see the build-windows job in .github/workflows/build-python.yml for the exact commands).
  • On Linux: sudo apt-get install -y libjpeg9

Build and install

From the python-bindings/ directory:

pip install --upgrade pip setuptools wheel pybind11 numpy pillow pytest
python setup.py bdist_wheel
pip install --force-reinstall dist/artoolkitnft-*.whl

On Windows PowerShell the last step needs an explicit Get-ChildItem because PowerShell does not expand globs the way bash does:

pip install --force-reinstall (Get-ChildItem dist\artoolkitnft-*.whl | Select-Object -First 1).FullName

--force-reinstall is important — without it, pip sees the version has not changed and skips reinstalling, so your C++ changes never land.

Run the example

python example.py

Notes

  • Do not use python -m build here: it creates an isolated build environment that does not inherit cmake (or vcpkg) from your shell. Use the legacy python setup.py bdist_wheel instead, which keeps your current PATH.
  • Working inside a virtualenv (python -m venv .venv) is recommended so you do not pollute the system / Anaconda site-packages.

Publishing

Releases are built and published by the Publish Python package workflow, through PyPI trusted publishing (OIDC). There is no token, and nothing is uploaded by hand.

  1. Bump the version in both pyproject.toml and setup.py — the workflow refuses to publish if the tag and the two files disagree.
  2. Rehearse: run the workflow manually with the testpypi target and confirm the wheels build on all three platforms.
  3. Release: tag python/<version> (for example python/0.0.13) and push it.

Do not publish by hand

This section previously documented a manual twine upload. It has been removed because it produced a broken artifact that is still on TestPyPI. The instruction was:

# DO NOT DO THIS
python setup.py sdist bdist_wheel --plat-name manylinux2014_x86_64
twine upload --repository-url https://test.pypi.org/legacy/ dist/*

--plat-name forcibly stamps a platform tag onto whatever was just built, without checking it. Run on Windows, or with a stale build tree, it labels a Windows .pyd as Linux. That is exactly what artoolkitnft-0.0.12-cp311-cp311-manylinux2014_x86_64.whl on TestPyPI contains: artoolkitnft_core.cp311-win_amd64.pyd, which installs on Linux and then fails to load.

It also uploads dist/*, which includes an sdist — and a source build cannot work here, because it needs sources from outside the package directory and the WebARKitLib submodule.

The workflow avoids all of this: it builds natively per platform, repairs wheels with auditwheel / delocate, rejects any wheel whose contents disagree with its tag (.github/scripts/check_wheel.py), installs and imports each one in a clean virtualenv, and publishes nothing unless every wheel in the matrix succeeded.

Release files for artoolkitnft 0.0.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for artoolkitnft 0.0.13
File
artoolkitnft-0.0.13-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
artoolkitnft-0.0.13-cp313-cp313-manylinux_2_39_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.39+ x86-64 Details
artoolkitnft-0.0.13-cp313-cp313-macosx_10_14_x86_64.macosx_15_0_arm64.whl CPython 3.13 CPython 3.13 macOS 10.14+ x86-64, macOS 15.0+ ARM64 Details
artoolkitnft-0.0.13-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
artoolkitnft-0.0.13-cp312-cp312-manylinux_2_39_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.39+ x86-64 Details
artoolkitnft-0.0.13-cp312-cp312-macosx_10_14_x86_64.macosx_15_0_arm64.whl CPython 3.12 CPython 3.12 macOS 10.14+ x86-64, macOS 15.0+ ARM64 Details
artoolkitnft-0.0.13-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
artoolkitnft-0.0.13-cp311-cp311-manylinux_2_39_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.39+ x86-64 Details
artoolkitnft-0.0.13-cp311-cp311-macosx_10_14_x86_64.macosx_15_0_arm64.whl CPython 3.11 CPython 3.11 macOS 15.0+ ARM64, macOS 10.14+ x86-64 Details
artoolkitnft-0.0.13-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
artoolkitnft-0.0.13-cp310-cp310-manylinux_2_39_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.39+ x86-64 Details
artoolkitnft-0.0.13-cp310-cp310-macosx_10_14_x86_64.macosx_15_0_arm64.whl CPython 3.10 CPython 3.10 macOS 15.0+ ARM64, macOS 10.14+ x86-64 Details
artoolkitnft-0.0.13-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
artoolkitnft-0.0.13-cp39-cp39-manylinux_2_39_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.39+ x86-64 Details
artoolkitnft-0.0.13-cp39-cp39-macosx_10_14_x86_64.macosx_15_0_arm64.whl CPython 3.9 CPython 3.9 macOS 10.14+ x86-64, macOS 15.0+ ARM64 Details

Total release size: 8.7 MB

Release files / artoolkitnft-0.0.13-cp313-cp313-win_amd64.whl

Download URL artoolkitnft-0.0.13-cp313-cp313-win_amd64.whl
Size 322.3 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
c1d757678dc43b5625b3536402154cc7d8b63b155869029b3707e112efe73690
BLAKE2b-256 checksum
How to use checksums
9a35b024b690fdc6bc6b340768e9e4b41e8c437230fbfbbd510e86f95a2a5871
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / artoolkitnft-0.0.13-cp313-cp313-manylinux_2_39_x86_64.whl

Download URL artoolkitnft-0.0.13-cp313-cp313-manylinux_2_39_x86_64.whl
Size 579.1 kB
Tags CPython 3.13 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
b9764d3463bea237abe5094e0a09c5395a75477c4413bbde1aceccf5f88f8302
BLAKE2b-256 checksum
How to use checksums
3b737b56b8077866353f6e577e9e047c60f360d113e503f0f0517a155c1da0a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / artoolkitnft-0.0.13-cp313-cp313-macosx_10_14_x86_64.macosx_15_0_arm64.whl

Download URL artoolkitnft-0.0.13-cp313-cp313-macosx_10_14_x86_64.macosx_15_0_arm64.whl
Size 842.2 kB
Tags CPython 3.13 macOS 10.14+ x86-64 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
3e555f0501b71d02decfc97c0e608d0b42ca89b78767d775e9f2ce235a484ac3
BLAKE2b-256 checksum
How to use checksums
2f1cdddbecc44fb7eee95f9ec9a4c40c6371947b93f9df0db160862ecaf3834d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / artoolkitnft-0.0.13-cp312-cp312-win_amd64.whl

Download URL artoolkitnft-0.0.13-cp312-cp312-win_amd64.whl
Size 322.3 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
238406071fbbedfa2670386f796adcf05c21250b11ad49cd33de3f6fbbf44ac9
BLAKE2b-256 checksum
How to use checksums
9ec94a41cbc792e016b9aded8ff547876b60f917be2e8cfa3c5ca887c2ecea3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / artoolkitnft-0.0.13-cp312-cp312-manylinux_2_39_x86_64.whl

Download URL artoolkitnft-0.0.13-cp312-cp312-manylinux_2_39_x86_64.whl
Size 578.9 kB
Tags CPython 3.12 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
7305c5a69fcf18ef85169afd8afe0dd0c1a2973885d9d3b4871f81aa98342696
BLAKE2b-256 checksum
How to use checksums
f31f6a7a34b53807a463ae26c0c21cead64c151e09dcbc5f4f58058eafbad03d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / artoolkitnft-0.0.13-cp312-cp312-macosx_10_14_x86_64.macosx_15_0_arm64.whl

Download URL artoolkitnft-0.0.13-cp312-cp312-macosx_10_14_x86_64.macosx_15_0_arm64.whl
Size 842.2 kB
Tags CPython 3.12 macOS 10.14+ x86-64 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
41f2601c13febedf10c0bda248d9feb4e9880d2d6ae7111cb58e861eeca28b6e
BLAKE2b-256 checksum
How to use checksums
ca0546d81fa1064cc900ffd6d0d485474601f4cd0c44d1c116d6afa84e344f81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / artoolkitnft-0.0.13-cp311-cp311-win_amd64.whl

Download URL artoolkitnft-0.0.13-cp311-cp311-win_amd64.whl
Size 320.5 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
b782442ec25eed704a99da3f39d368aebca4ab2442aaa627b45be66a11b9f9d3
BLAKE2b-256 checksum
How to use checksums
fd25533ec7324d47d29a697cd8573a7b4ac2983117fbba105f0a397c9230066b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / artoolkitnft-0.0.13-cp311-cp311-manylinux_2_39_x86_64.whl

Download URL artoolkitnft-0.0.13-cp311-cp311-manylinux_2_39_x86_64.whl
Size 578.9 kB
Tags CPython 3.11 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
2443bea302ffde1687941e39aa673deb3560a5089dc9e6479d9ae6ee28ff27c9
BLAKE2b-256 checksum
How to use checksums
db2cf5189a5fceff42ee24572c00da55e54cede87439949d4f82f1fa537a696b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / artoolkitnft-0.0.13-cp311-cp311-macosx_10_14_x86_64.macosx_15_0_arm64.whl

Download URL artoolkitnft-0.0.13-cp311-cp311-macosx_10_14_x86_64.macosx_15_0_arm64.whl
Size 845.6 kB
Tags CPython 3.11 macOS 10.14+ x86-64 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
3ff7f64226cf99431643e55e71f21e8a397d318dac860ab52d6d6162eb262444
BLAKE2b-256 checksum
How to use checksums
e752fcf8b2706666abb4517b77b856142747d48bf8ed500f42204da2d5bec963
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / artoolkitnft-0.0.13-cp310-cp310-win_amd64.whl

Download URL artoolkitnft-0.0.13-cp310-cp310-win_amd64.whl
Size 319.7 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
c22e975fd9cd2f51b6de4ffa9e6e40e4491653f404b4f4e86c79c8e09a63e6e0
BLAKE2b-256 checksum
How to use checksums
b56ed2af470bb9c874c8780eeb4101903f34dee18a2e77cb10c62933ff0a2530
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / artoolkitnft-0.0.13-cp310-cp310-manylinux_2_39_x86_64.whl

Download URL artoolkitnft-0.0.13-cp310-cp310-manylinux_2_39_x86_64.whl
Size 578.0 kB
Tags CPython 3.10 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
c59623b02f6d60a54817ab5b602f58dc47854c7794c1dc33e2451d7384394918
BLAKE2b-256 checksum
How to use checksums
2c0a2e50b389846b1e84999ebf8976c74b05dfc529cf1615e4e2998fc7d0fb0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / artoolkitnft-0.0.13-cp310-cp310-macosx_10_14_x86_64.macosx_15_0_arm64.whl

Download URL artoolkitnft-0.0.13-cp310-cp310-macosx_10_14_x86_64.macosx_15_0_arm64.whl
Size 842.8 kB
Tags CPython 3.10 macOS 10.14+ x86-64 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
efef01d249a867efe5efde8fc719a849df23bd08b6b75069cf424fb65a28f0e9
BLAKE2b-256 checksum
How to use checksums
b71938db5ae4b09a7de1554b2283283f627a4bf37648b4e95f0ef33b401e3540
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / artoolkitnft-0.0.13-cp39-cp39-win_amd64.whl

Download URL artoolkitnft-0.0.13-cp39-cp39-win_amd64.whl
Size 342.6 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
23dbac41db712dbd894ef65b8bceb057696ac3291cad74e41278c20a9891a134
BLAKE2b-256 checksum
How to use checksums
eaa18c543de4fffd5159df3faf7a3ad84870a5b64a0956ae7e71167865f2d0b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / artoolkitnft-0.0.13-cp39-cp39-manylinux_2_39_x86_64.whl

Download URL artoolkitnft-0.0.13-cp39-cp39-manylinux_2_39_x86_64.whl
Size 577.3 kB
Tags CPython 3.9 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
fe705287eaf1bea98c5c2707172cd40d6ae4df3ff10e4612699c9a38370a2a4a
BLAKE2b-256 checksum
How to use checksums
578755a9790f40e9520347dd965bcda45b90e3fc824f9b87f80ee5a1c5d1bd37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / artoolkitnft-0.0.13-cp39-cp39-macosx_10_14_x86_64.macosx_15_0_arm64.whl

Download URL artoolkitnft-0.0.13-cp39-cp39-macosx_10_14_x86_64.macosx_15_0_arm64.whl
Size 843.0 kB
Tags CPython 3.9 macOS 10.14+ x86-64 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
ba6a78a29a97b951ac2997d604d0f8114add44f485301c4fb93c8bfe5af71791
BLAKE2b-256 checksum
How to use checksums
6d099a25f04274625b9949cc1d2146c8e2c1b5828d2f6df9ba34cc070febd97d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.13 This release

15 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