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.

Metadata

Release files for artoolkitnft 0.0.14

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.14
File
artoolkitnft-0.0.14-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
artoolkitnft-0.0.14-cp313-cp313-manylinux_2_39_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.39+ x86-64 Details
artoolkitnft-0.0.14-cp313-cp313-macosx_15_0_arm64.whl CPython 3.13 CPython 3.13 macOS 15.0+ ARM64 Details
artoolkitnft-0.0.14-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
artoolkitnft-0.0.14-cp312-cp312-manylinux_2_39_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.39+ x86-64 Details
artoolkitnft-0.0.14-cp312-cp312-macosx_15_0_arm64.whl CPython 3.12 CPython 3.12 macOS 15.0+ ARM64 Details
artoolkitnft-0.0.14-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
artoolkitnft-0.0.14-cp311-cp311-manylinux_2_39_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.39+ x86-64 Details
artoolkitnft-0.0.14-cp311-cp311-macosx_15_0_arm64.whl CPython 3.11 CPython 3.11 macOS 15.0+ ARM64 Details
artoolkitnft-0.0.14-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
artoolkitnft-0.0.14-cp310-cp310-manylinux_2_39_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.39+ x86-64 Details
artoolkitnft-0.0.14-cp310-cp310-macosx_15_0_arm64.whl CPython 3.10 CPython 3.10 macOS 15.0+ ARM64 Details
artoolkitnft-0.0.14-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
artoolkitnft-0.0.14-cp39-cp39-manylinux_2_39_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.39+ x86-64 Details
artoolkitnft-0.0.14-cp39-cp39-macosx_15_0_arm64.whl CPython 3.9 CPython 3.9 macOS 15.0+ ARM64 Details

Total release size: 6.9 MB

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

Download URL artoolkitnft-0.0.14-cp313-cp313-win_amd64.whl
Size 327.2 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
97634ef11e595848cebaa2877823ee4d2689023835d1def30b2eee7e1a6b3a0c
BLAKE2b-256 checksum
How to use checksums
824272507c5134c966ed971a3487763942f17267c3e1b32ef5cb6ab725b050fd
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 Oct 14, 2026.

Transparency log

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

Download URL artoolkitnft-0.0.14-cp313-cp313-manylinux_2_39_x86_64.whl
Size 586.9 kB
Tags CPython 3.13 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
09ed8654a3c2143aca1113ef6e847ce8f9f8c9abdb11867d2c545a8098f3701d
BLAKE2b-256 checksum
How to use checksums
14e5982c3a031938fda541ed8271a81d364f3bf4c830de6b64ce1a581816f0e9
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 Oct 14, 2026.

Transparency log

Release files / artoolkitnft-0.0.14-cp313-cp313-macosx_15_0_arm64.whl

Download URL artoolkitnft-0.0.14-cp313-cp313-macosx_15_0_arm64.whl
Size 469.8 kB
Tags CPython 3.13 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
1c56a74f29585e980c6699701431a6a5d9173302796f7aef23d9017b77ca62e7
BLAKE2b-256 checksum
How to use checksums
000eb37f72794fe206cd3214d954fd36242abcf21e9f9be063de42c08392e814
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 Oct 14, 2026.

Transparency log

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

Download URL artoolkitnft-0.0.14-cp312-cp312-win_amd64.whl
Size 327.1 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
06d38a8e5d84d7e0f0e15ae26115dcfc12463b2642442bc31becf385c9aebb13
BLAKE2b-256 checksum
How to use checksums
f7b6b9a40c4bb461a351cc47dfd8fe3129c71e565a40b30e88337ce56b0a5ae8
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 Oct 14, 2026.

Transparency log

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

Download URL artoolkitnft-0.0.14-cp312-cp312-manylinux_2_39_x86_64.whl
Size 586.6 kB
Tags CPython 3.12 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
14d119596d91dedbc2d0f4e483b7b5a7b5840ce28a4992cbb5b0976a5687a526
BLAKE2b-256 checksum
How to use checksums
c8ec5c8800d458153e1785c2b014a182110260d6d810c9928ee18994be6ad052
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 Oct 14, 2026.

Transparency log

Release files / artoolkitnft-0.0.14-cp312-cp312-macosx_15_0_arm64.whl

Download URL artoolkitnft-0.0.14-cp312-cp312-macosx_15_0_arm64.whl
Size 469.8 kB
Tags CPython 3.12 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
d3a09897b63c20a32b442d695b6889c381900652466170af1cbcde6103544d7a
BLAKE2b-256 checksum
How to use checksums
eef5d0a1a15e0e24f1a01593e47c2606d665107aed0063cec8bb7da26c6f7e25
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 Oct 14, 2026.

Transparency log

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

Download URL artoolkitnft-0.0.14-cp311-cp311-win_amd64.whl
Size 325.2 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
e92ef4dfe08fca9dd8cc050fceb0f3abcfad86d20c8abc5a906313027aa251b4
BLAKE2b-256 checksum
How to use checksums
38c12fc3be4e384268d521d0db2ab0fe4b64c80a3f520a865aa9fb9f7ba9aced
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 Oct 14, 2026.

Transparency log

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

Download URL artoolkitnft-0.0.14-cp311-cp311-manylinux_2_39_x86_64.whl
Size 586.4 kB
Tags CPython 3.11 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
81cab31f8cce456b736df8b0c51fc4c98b1856cd1fd3472004bb77cbb628485a
BLAKE2b-256 checksum
How to use checksums
ab83d733506a2654429745b2c4226b9413de065a40345f3d3b1a339051d6e897
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 Oct 14, 2026.

Transparency log

Release files / artoolkitnft-0.0.14-cp311-cp311-macosx_15_0_arm64.whl

Download URL artoolkitnft-0.0.14-cp311-cp311-macosx_15_0_arm64.whl
Size 472.4 kB
Tags CPython 3.11 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
949f912e719880c54ee030909a99b7a4b4cd17ed1402e986aee5f1aa68c41995
BLAKE2b-256 checksum
How to use checksums
db75d6d4e878723a59eccf515107a8d747fcdeeaf4f71ebdaefa290fd4625bbc
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 Oct 14, 2026.

Transparency log

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

Download URL artoolkitnft-0.0.14-cp310-cp310-win_amd64.whl
Size 324.5 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
e39a97b39340c18767d2609a1184a1a9acbc4e1fb166389a4911e80c995f5834
BLAKE2b-256 checksum
How to use checksums
769bc17ecf44ed6b46bb20e9f65dea0b823ae8763b8b39b6c1830d91a5c82be1
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 Oct 14, 2026.

Transparency log

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

Download URL artoolkitnft-0.0.14-cp310-cp310-manylinux_2_39_x86_64.whl
Size 585.4 kB
Tags CPython 3.10 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
6e08de9980e65809097daff5529a39b65b716874d53679a40165848627b9e685
BLAKE2b-256 checksum
How to use checksums
1db1d48863d34c97315edd94081532728dea93d869169c62462efebd9c95432c
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 Oct 14, 2026.

Transparency log

Release files / artoolkitnft-0.0.14-cp310-cp310-macosx_15_0_arm64.whl

Download URL artoolkitnft-0.0.14-cp310-cp310-macosx_15_0_arm64.whl
Size 471.3 kB
Tags CPython 3.10 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
04438389b408e70f15e48ac071f1d662fcb29b771b335081297447cbd79900d8
BLAKE2b-256 checksum
How to use checksums
70588bbd467403c7b180e396c5de8d5f4e30c49ba50e2fa5c79c495b78bb4845
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 Oct 14, 2026.

Transparency log

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

Download URL artoolkitnft-0.0.14-cp39-cp39-win_amd64.whl
Size 347.1 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
8e86f7d8fd955e0ff1e11c97282942aa8bbbd6edb6b9aa27b8d9e1d03a6567e0
BLAKE2b-256 checksum
How to use checksums
53d5c0cf0a80d14443a8aa9a450508147d79fb204522bd8152f97eee8d15904c
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 Oct 14, 2026.

Transparency log

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

Download URL artoolkitnft-0.0.14-cp39-cp39-manylinux_2_39_x86_64.whl
Size 584.8 kB
Tags CPython 3.9 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
1673807f98ac3c5c44ff15e094beb5c11224ef42991b45e111d0c1bc510a1ca6
BLAKE2b-256 checksum
How to use checksums
726e7715b829212999add20e6ff0ed130a8c592a22af8fd6a611f5e814927e17
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 Oct 14, 2026.

Transparency log

Release files / artoolkitnft-0.0.14-cp39-cp39-macosx_15_0_arm64.whl

Download URL artoolkitnft-0.0.14-cp39-cp39-macosx_15_0_arm64.whl
Size 471.4 kB
Tags CPython 3.9 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
a3e385d0ba6171f1cca4c506044a231239a6380f6e60c14540cacbf3018e1dca
BLAKE2b-256 checksum
How to use checksums
899d44550964887956c247a1708fa4fd85ba0b307f9ed03256a4117e2a106996
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 Oct 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.14 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