Skip to main content

pypolaris

Cross-platform SWIG/C++ wrapper for NDI Polaris trackers.

  • CAPIcommon/: NDI communication library.
  • CAPIsample/src/main.cpp: Python-facing implementation.
  • pypolaris.i and pypolaris.h: SWIG interface and public wrapper API.
  • sroms/: tool definition files used by examples and local testing.
  • CMakeLists.txt: the only native build definition.

Build from the repository root:

uv run --python 3.12 python build-system/build_wheel.py pypolaris

This creates one wheel for the selected Python and the current operating system. Cross-platform wheels are built by the repository's GitHub Actions matrix, not by cross-compiling this command locally.

Multiple-object support introduced in version 0.0.9 remains available. Pass the tool definitions in a StringVector to Initialize; the corresponding measurements and visibility flags are exposed through objs and objIDs:

objects = pypolaris.StringVector()
objects.push_back(b"coil-1.rom")
objects.push_back(b"coil-2.rom")
tracker.Initialize(b"COM1", b"NBSprobe", b"NBSref", objects)
tracker.Run()
print(tracker.objs, tracker.objIDs)

The single-object Initialize overload and the obj/objID attributes from version 0.0.7 remain available for compatibility.

The native calls release Python's GIL while waiting for the tracker. Access to each Polaris connection is serialized, so concurrent Python work can continue without interleaving device commands. Separate pypolaris instances no longer share a connection or tracking state.

For the lowest per-frame overhead, use ReadFrame() instead of Run(). It returns numeric values directly and avoids creating the legacy CSV strings:

frame = tracker.ReadFrame()
if frame.status == 0:
    for transform in frame.transforms:
        if transform.visible:
            print(transform.toolHandle, transform.tx, transform.ty, transform.tz)

frame.status is 0 on success, -1 after a transport/parse failure and -2 when tracking has not been started. Run() remains backward compatible, updates probe, ref, objs and their ID flags, and returns 1, -1 or -2 for those same states.

Do not commit generated pypolaris.py, _pypolaris.*, CMake build trees or wheels. The shared builder stages those files automatically.

Metadata

Release files for pypolaris 0.0.9

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 pypolaris 0.0.9
File Actions
pypolaris-0.0.9-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for pypolaris-0.0.9-cp312-cp312-win_amd64.whl
pypolaris-0.0.9-cp312-cp312-manylinux_2_34_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.34+ x86-64 Details for pypolaris-0.0.9-cp312-cp312-manylinux_2_34_x86_64.whl
pypolaris-0.0.9-cp312-cp312-macosx_14_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 14.0+ x86-64 Details for pypolaris-0.0.9-cp312-cp312-macosx_14_0_x86_64.whl
pypolaris-0.0.9-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for pypolaris-0.0.9-cp311-cp311-win_amd64.whl
pypolaris-0.0.9-cp311-cp311-manylinux_2_34_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ x86-64 Details for pypolaris-0.0.9-cp311-cp311-manylinux_2_34_x86_64.whl
pypolaris-0.0.9-cp311-cp311-macosx_14_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 14.0+ x86-64 Details for pypolaris-0.0.9-cp311-cp311-macosx_14_0_x86_64.whl
pypolaris-0.0.9-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for pypolaris-0.0.9-cp310-cp310-win_amd64.whl
pypolaris-0.0.9-cp310-cp310-manylinux_2_34_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.34+ x86-64 Details for pypolaris-0.0.9-cp310-cp310-manylinux_2_34_x86_64.whl
pypolaris-0.0.9-cp310-cp310-macosx_14_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 14.0+ x86-64 Details for pypolaris-0.0.9-cp310-cp310-macosx_14_0_x86_64.whl
pypolaris-0.0.9-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details for pypolaris-0.0.9-cp39-cp39-win_amd64.whl
pypolaris-0.0.9-cp39-cp39-manylinux_2_34_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.34+ x86-64 Details for pypolaris-0.0.9-cp39-cp39-manylinux_2_34_x86_64.whl
pypolaris-0.0.9-cp39-cp39-macosx_14_0_x86_64.whl CPython 3.9 CPython 3.9 macOS 14.0+ x86-64 Details for pypolaris-0.0.9-cp39-cp39-macosx_14_0_x86_64.whl
pypolaris-0.0.9-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details for pypolaris-0.0.9-cp38-cp38-win_amd64.whl
pypolaris-0.0.9-cp38-cp38-manylinux_2_34_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.34+ x86-64 Details for pypolaris-0.0.9-cp38-cp38-manylinux_2_34_x86_64.whl
pypolaris-0.0.9-cp38-cp38-macosx_14_0_x86_64.whl CPython 3.8 CPython 3.8 macOS 14.0+ x86-64 Details for pypolaris-0.0.9-cp38-cp38-macosx_14_0_x86_64.whl

Total release size: 4.6 MB

Release files / pypolaris-0.0.9-cp312-cp312-win_amd64.whl

Download URL pypolaris-0.0.9-cp312-cp312-win_amd64.whl
Size 283.1 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
5d43b185829bf517dfddbbcec26f8b8046512c92fece233dbf3753448d9072b8
BLAKE2b-256 checksum
How to use checksums
8253f9c56bc6543d1706503e8679a93a512d85375f0dd6f0242737bac2aafc04
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / pypolaris-0.0.9-cp312-cp312-manylinux_2_34_x86_64.whl

Download URL pypolaris-0.0.9-cp312-cp312-manylinux_2_34_x86_64.whl
Size 339.2 kB
Tags CPython 3.12 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
5efe74bcc449bab0386ba62e5a9564a21ae18f473458372702c8e17776656a6a
BLAKE2b-256 checksum
How to use checksums
ae08b2b581a41e0f9967efbc3e14acfd27cfdfc8eb62f4dd242fbb8a6acb6d5d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / pypolaris-0.0.9-cp312-cp312-macosx_14_0_x86_64.whl

Download URL pypolaris-0.0.9-cp312-cp312-macosx_14_0_x86_64.whl
Size 305.3 kB
Tags CPython 3.12 macOS 14.0+ x86-64
SHA-256 checksum
How to use checksums
733838262bfa3b3dc3d34d4f1846bbeb345401257f51afdf2bb6e74fb5815649
BLAKE2b-256 checksum
How to use checksums
04cf0b44616d33a4d1697242eb71ea97c964ea051d4ba0881c3d1c9276f467b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / pypolaris-0.0.9-cp311-cp311-win_amd64.whl

Download URL pypolaris-0.0.9-cp311-cp311-win_amd64.whl
Size 282.2 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
552d8782e075249f1ce24d9557c662b20b94ee7d2a21e20d29b170dc45d39b74
BLAKE2b-256 checksum
How to use checksums
b400a9cede71d3c8a11610ad3585d40da22c15ceb8dda1cbce0bc24dd95b33b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / pypolaris-0.0.9-cp311-cp311-manylinux_2_34_x86_64.whl

Download URL pypolaris-0.0.9-cp311-cp311-manylinux_2_34_x86_64.whl
Size 339.8 kB
Tags CPython 3.11 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
0359343da90b89c4be0c171e8f1fc439bde4e69c7b5f535946ed405a8805ddfa
BLAKE2b-256 checksum
How to use checksums
69178b48680e94e8b78e4a8e3aafdd7135a5988aac8c2d2a2a8bb700c82d7ebf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / pypolaris-0.0.9-cp311-cp311-macosx_14_0_x86_64.whl

Download URL pypolaris-0.0.9-cp311-cp311-macosx_14_0_x86_64.whl
Size 304.1 kB
Tags CPython 3.11 macOS 14.0+ x86-64
SHA-256 checksum
How to use checksums
31f72f002729f424c2d1450d953653fd2e186b9518c4d9af7b584da65b6a60cd
BLAKE2b-256 checksum
How to use checksums
1f5939f0c6d366042181bdf606f9e5a88350bd867103ac4ebeac29c687d23d2c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / pypolaris-0.0.9-cp310-cp310-win_amd64.whl

Download URL pypolaris-0.0.9-cp310-cp310-win_amd64.whl
Size 282.3 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
2a4759b3f336df9f9b8509023d20f190f0d8c32c8ae13fb0d574a77713805ed6
BLAKE2b-256 checksum
How to use checksums
92792c72f401b57340bc3a683af38e52da8d650dc695711614f59b0b3781af88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / pypolaris-0.0.9-cp310-cp310-manylinux_2_34_x86_64.whl

Download URL pypolaris-0.0.9-cp310-cp310-manylinux_2_34_x86_64.whl
Size 339.8 kB
Tags CPython 3.10 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
f3612379b42d26b23e4283eec74e8e6a255ce97016afe63efdc05428deee8a1b
BLAKE2b-256 checksum
How to use checksums
e013bff7da9650bb1387deb1442f55d32c810b1f903b87a0f497bf6d2e925806
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / pypolaris-0.0.9-cp310-cp310-macosx_14_0_x86_64.whl

Download URL pypolaris-0.0.9-cp310-cp310-macosx_14_0_x86_64.whl
Size 303.5 kB
Tags CPython 3.10 macOS 14.0+ x86-64
SHA-256 checksum
How to use checksums
d2dd3e2b41048e25d3f187bc7cfdae56e6533061068725a52598e38c491a829a
BLAKE2b-256 checksum
How to use checksums
a2377ec18e44f7a458882ab9558679d06532dd8921db0fc739953dad4af80549
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / pypolaris-0.0.9-cp39-cp39-win_amd64.whl

Download URL pypolaris-0.0.9-cp39-cp39-win_amd64.whl
Size 282.2 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
34f65fe2b0a35d929945d7e1f3c5604831d62857a7c9093b0f2564d7da979128
BLAKE2b-256 checksum
How to use checksums
6651e1b52823f9d92c5012e84f4fe3d194dafe647a06c204c6b544ed721ef255
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / pypolaris-0.0.9-cp39-cp39-manylinux_2_34_x86_64.whl

Download URL pypolaris-0.0.9-cp39-cp39-manylinux_2_34_x86_64.whl
Size 339.9 kB
Tags CPython 3.9 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
7e9ae3ce7279ed91ae8c7180ba2f11ac071e4486b6ab63b27ac8da7cc8dd809a
BLAKE2b-256 checksum
How to use checksums
1c926cf0fb3091008818bf083d571fe857f74abd0d2d2ac265287cb71a98ad38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / pypolaris-0.0.9-cp39-cp39-macosx_14_0_x86_64.whl

Download URL pypolaris-0.0.9-cp39-cp39-macosx_14_0_x86_64.whl
Size 303.5 kB
Tags CPython 3.9 macOS 14.0+ x86-64
SHA-256 checksum
How to use checksums
258664d1410cf91d4c101fc704ae8b02e341a74a2c03b7598d99649aac73d4e3
BLAKE2b-256 checksum
How to use checksums
fcc190e8b1f7be7519bf6426fcc66c3bfcbb9092a5271c4917196791587ff4ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / pypolaris-0.0.9-cp38-cp38-win_amd64.whl

Download URL pypolaris-0.0.9-cp38-cp38-win_amd64.whl
Size 282.3 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
e3f69fb88dd2f29e70c13a8542b8390ae051efcc09fdc0864a9e1d3d836bed6a
BLAKE2b-256 checksum
How to use checksums
a267165915d5393aaf65ad380ba467b082f37884c085aa5e2f716cb5c527a56a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / pypolaris-0.0.9-cp38-cp38-manylinux_2_34_x86_64.whl

Download URL pypolaris-0.0.9-cp38-cp38-manylinux_2_34_x86_64.whl
Size 340.1 kB
Tags CPython 3.8 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
a0d4ad22902cdf99c8c4ecb86a48f3453787fa41f8e4e22e1f3b3006637a8b6f
BLAKE2b-256 checksum
How to use checksums
45da779779b6f4f2404d3149926469ce6cfb3f977268216faf7b703261477973
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / pypolaris-0.0.9-cp38-cp38-macosx_14_0_x86_64.whl

Download URL pypolaris-0.0.9-cp38-cp38-macosx_14_0_x86_64.whl
Size 304.1 kB
Tags CPython 3.8 macOS 14.0+ x86-64
SHA-256 checksum
How to use checksums
aa4c12b45ff3e07a40a42da9978cf8a8146f187a9c325b62411503577e805eb6
BLAKE2b-256 checksum
How to use checksums
2f83852f35e9dd843af1e1db006f0443f52703d85c4eb8099d303ff783995752
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Security for pypolaris 0.0.9

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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