Skip to main content

PanorAi

Convention-safe projection and computer vision for central spherical images.

PanorAi connects equirectangular panoramas (ERPs), local perspective views, unit rays, features, camera poses, and 3D structure without hiding coordinate, sampling, validity, or scale conventions. Use it as a geometry layer around existing planar models, or use its sphere-native image-processing and geometry algorithms when projection would be the wrong abstraction.

PanorAi workflows from spherical images to geometry and reconstruction

Install

pip install panorai

PanorAi supports Python 3.11–3.14 and OpenCV >=4.9,<5. Install only the integrations you need:

pip install "panorai[torch]"      # Torch sampling and tensor workflows
pip install "panorai[pycolmap]"  # COLMAP database/reconstruction bridge
pip install "panorai[slam]"      # SLAM dependencies
pip install "panorai[pcd]"       # point-cloud I/O

Stable 3.x contracts center on panorai.geometry, modality-aware objects, sampling, blending, and the face-based feature core. Sphere-native image processing, spherical DoG, relative pose, dense stereo, native multiview, and SLAM are public but Experimental; their result models expose diagnostics so callers can reject unreliable outputs.

Choose a route

Goal Route Start here
Convert ERP pixels, tangent views, cubemaps, and rays projection Projection foundations
Filter directly on the sphere or through projected views image processing Spherical image processing
Detect and match SIFT, ORB, or AKAZE features features Features and matching
Estimate relative rotation and translation direction two-view geometry Two-view geometry
Estimate dense radial range from a posed pair dense stereo Spherical dense stereo
Reconstruct cameras and sparse points from 3+ panoramas multiview Multiview reconstruction
Track a sequence and maintain a local map SLAM Spherical visual SLAM
Reproduce speed and accuracy evidence benchmarks Benchmarks and performance

1. Projection

An ERP pixel is a sample of a ray, not a point on a flat image plane. PanorAi uses one explicit right-handed frame (+X right, +Y up, +Z front) and pixel-center convention across:

  • ERP pixel ↔ longitude/latitude ↔ unit ray;
  • sphere ↔ one gnomonic view with explicit center, FOV, roll, and resolution;
  • ERP ↔ six-face cubemap or arbitrary-N overlapping face sets;
  • nearest and bilinear sampling with seam wrapping and declared pole rules;
  • overwrite, average, feather, Gaussian, and multiband blending;
  • separate geometric support, source-data validity, and interpolation weight.

Projection, processing, and reconstruction workflow

import numpy as np
from panorai.geometry import GnomonicProjector, GnomonicSpec

erp = np.zeros((512, 1024, 3), dtype=np.float32)
spec = GnomonicSpec(
    center_lat_deg=10,
    center_lon_deg=30,
    hfov_deg=90,
    vfov_deg=70,
    output_shape_hw=(256, 320),
)
projector = GnomonicProjector(spec, interpolation="bilinear")
view = projector.project(erp)
restored = projector.back_project(view, output_shape_hw=erp.shape[:2])

assert view.data.shape == (256, 320, 3)
assert restored.support_mask.shape == erp.shape[:2]

RGB, range, labels, and masks can share the same geometric grid while choosing the interpolation and invalid-data rule appropriate to each modality. Zero is data; it is never an implicit invalid marker.

Read: projection tutorial, custom projection pipeline, and the exact geometry v1 contract.


2. Image Processing

PanorAi exposes two intentionally different routes:

sphere-native: ERP ── spherical neighbourhood/filter ──► ERP

multiface:     ERP ── project ──► tangent faces ── planar operation ──►
               faces ── back-project + blend ──► ERP
Property Direct spherical route Forward/backward multiface route
neighbourhood constant-angle tangent neighbourhood on the sphere rectangular neighbourhood inside each projected face
seams and poles handled by spherical sampling handled through overlap plus blending
operation spherical Gaussian/custom convolution, Sobel, Scharr, median, Canny, pyramids any caller-owned planar operator or model through process_views
reconstruction none required, including a declared blender
best fit filters whose geometry should remain spherical established planar algorithms and neural networks

The public APIs make that choice visible rather than implicit:

direct = spherical_gaussian_blur(erp, ksize=5, sigma=1.2, backend="auto")

multiface = EquirectangularImage(erp).process_views(
    lambda view: cv2.GaussianBlur(view, (5, 5), 1.2),
    layout="cube", size=256, fov=95, blend="gaussian",
)

Direct spherical filtering on an ERP

On the bundled CC0 panorama resized to 512×1024, a 5×5 Gaussian (sigma=1.2) took 7.99 ms after warm-up through the direct native route and 104.25 ms through six 256² cube faces, OpenCV filtering, back-projection, and Gaussian blending. In a fixed 37° yaw-equivariance probe, MAE was 0.00113 and 0.00328, respectively. These routes are not bit-identical operators; see the full protocol and limitations and reproduce it with scripts/benchmark_image_processing_routes.py.

Histogram equalization and CLAHE

spherical_equalize_histogram is a first-party global equalizer. Its optional solid-angle weighting avoids over-counting the densely sampled polar rows of an ERP. PanorAi does not currently claim a sphere-native CLAHE implementation. You can apply OpenCV CLAHE to projected views through process_views, but the result depends on the face layout, FOV, overlap, and blender and is not equivalent to geodesic contextual equalization. A future spherical CLAHE needs seam- and pole-safe contextual regions, reproducible interpolation between regions, and evaluation on downstream feature/pose quality—not only visual contrast.

Read: image-processing tutorial and projection workflow how-to.


3. Detection and Feature Extraction

PanorAi separates where a keypoint is detected from how its local appearance is described.

Frontend Detection Description Status
overlapping faces OpenCV SIFT, ORB, or AKAZE on gnomonic faces same OpenCV backend Stable core
spherical DoG Gaussian/DoG extrema directly on the sphere one oriented tangent patch per accepted keypoint, then OpenCV SIFT/ORB/AKAZE Experimental
coarse-to-fine spherical DoG low-resolution proposals followed by full-resolution localization descriptor-neutral tangent-patch adapter Experimental

For relative pose, SphericalFeaturePipeline.for_relative_pose() remains the canonical validated default. Direct spherical DoG is an explicit opt-in while its public-dataset detection, matching, and pose evaluation is completed.

SIFT, ORB, and AKAZE detections mapped to the sphere

The spherical detector avoids duplicate detections created by overlapping full faces and carries position, unit bearing, angular scale, response, octave, level, and localization validity. It refines discrete DoG extrema in position and scale using the second-order Taylor/Hessian step, rejects low-contrast and edge-like responses, assigns one or more tangent orientations, and only then materializes descriptor patches.

The contracts are deliberately descriptor-neutral:

  • panorai-tangent-patches/v1 declares bearing/scale, angular context, projection, resolution, mask, and orientation;
  • panorai-tangent-opencv-descriptor/v2 adapts the same geometric patch contract to SIFT, ORB, or AKAZE without making the detector “a SIFT detector.”

First-party C++ kernels accelerate compatible spherical convolutions and fuse the 3D tangent-neighbour extrema search without materializing a large neighbour tensor. OpenCV's own C++ implementations still own descriptor semantics and BF/FLANN distance search. The NumPy paths remain references for parity tests; native acceleration does not change the spherical geometry.

Matched spherical features across two panoramas

Read: features and matching, spherical feature how-to, and feature API.


4. Two-View Geometry

PanorAi can estimate a relative pose directly from matched unit bearings—no COLMAP process is involved:

ERP pair → features → descriptor matches → bearing pairs
         → 5-point Essential hypotheses → spherical MSAC/refit
         → cheirality + degeneracy/quality gates → R₂₁, direction(t₂₁)

Two spherical cameras, Essential geometry, and triangulation

The estimator scores tangent-Sampson residuals on the sphere, evaluates the four Essential decompositions, selects translation orientation using cheirality/parallax evidence, optionally refines rotation and translation direction, and reports rejection reasons. A returned hypothesis is not automatically a trustworthy pose: consume quality_report.accepted.

Monocular two-view geometry recovers the direction of translation, not its metric magnitude. Metric scale needs an external premise such as a known baseline, calibrated rig, depth, or a justified scene constraint.

Read: two-view geometry and the public-dataset benchmark.


5. Stereo Dense Reconstruction

Given two aligned central ERPs and a known metric relative pose, the Experimental stereo route searches inverse radial range directly along spherical epipolar geometry. It uses angular appearance support, optional coarse-to-fine search, cost aggregation, sub-hypothesis refinement, and bidirectional consistency.

Spherical stereo epipolar search

The result keeps radial range, confidence, validity, selected cost, and consistency diagnostics separate. The supplied R,t is never silently re-estimated. If t has arbitrary unit length, the reconstructed range has the same arbitrary scale.

Read: dense-stereo tutorial, algorithm derivation, and current evidence.


6. Multi-View Geometry

For three or more panoramas, PanorAi offers two routes:

Route PanorAi owns External owner
native SphericalGlobalMapper quality-gated pose graph, bearing tracks, rotation/position initialization, triangulation, spherical bundle adjustment, diagnostics none for geometry
PyCOLMAP/COLMAP bridge virtual-camera geometry, IDs, observations, and database/export contract PyCOLMAP/COLMAP mapping and optimization

Multiview reconstruction graph

The native mapper optimizes angular tangent residuals without reconstructing ERP pixels during bundle adjustment. Its map is arbitrary-scale unless a metric prior is supplied. The PyCOLMAP route is useful when COLMAP interoperability is more important than keeping spherical equations first-party; it is an alternative pipeline, not a hidden dependency of the native mapper.

Read: multiview reconstruction and public-dataset benchmark.


Other essential capabilities

The six sections above cover the offline core. Two additional areas should not be forgotten:

  • Visual SLAM: incremental ERP or calibrated fisheye tracking, keyframes, local mapping, relocalization, and loop correction. Start with the SLAM tutorial.
  • Contracts and reproducibility: coordinate frames, units, pixel centers, interpolation, invalid-data rules, resolved configuration, provenance, and quality gates are part of the result—not incidental metadata. Read the geometry contract, stability tiers, and benchmark policy.

Evidence and project boundaries

The benchmarks and performance page separates microbenchmarks from end-to-end accuracy, reports Matterport3D and Stanford2D3D independently, and distinguishes accepted-result precision from coverage. Dataset licenses apply; PanorAi does not redistribute those datasets.

PanorAi owns spherical coordinates, projection, masks, provenance, spherical image-processing kernels, bearing geometry, and its native estimators. OpenCV owns SIFT/ORB/AKAZE descriptors and standard matchers; optional PyCOLMAP/COLMAP owns its downstream reconstruction route. See the capability map for the complete sphere-native, projection-domain, and hybrid boundary.

Reference

PanorAi's distributed source is MIT licensed. Optional upstream projects, models, and datasets retain their own terms.

Metadata

Release files for panorai 3.5.0

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

Source distribution (sdist)

Source distribution for panorai 3.5.0
File Size Uploaded Provenance Actions
panorai-3.5.0.tar.gz 2.6 MB With provenance Details for panorai-3.5.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for panorai 3.5.0
File Actions
panorai-3.5.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for panorai-3.5.0-cp314-cp314-win_amd64.whl
panorai-3.5.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details for panorai-3.5.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
panorai-3.5.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details for panorai-3.5.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
panorai-3.5.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for panorai-3.5.0-cp314-cp314-macosx_11_0_arm64.whl
panorai-3.5.0-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details for panorai-3.5.0-cp314-cp314-macosx_10_15_x86_64.whl
panorai-3.5.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for panorai-3.5.0-cp313-cp313-win_amd64.whl
panorai-3.5.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details for panorai-3.5.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
panorai-3.5.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details for panorai-3.5.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
panorai-3.5.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for panorai-3.5.0-cp313-cp313-macosx_11_0_arm64.whl
panorai-3.5.0-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details for panorai-3.5.0-cp313-cp313-macosx_10_13_x86_64.whl
panorai-3.5.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for panorai-3.5.0-cp312-cp312-win_amd64.whl
panorai-3.5.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for panorai-3.5.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
panorai-3.5.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details for panorai-3.5.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
panorai-3.5.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for panorai-3.5.0-cp312-cp312-macosx_11_0_arm64.whl
panorai-3.5.0-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details for panorai-3.5.0-cp312-cp312-macosx_10_13_x86_64.whl
panorai-3.5.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for panorai-3.5.0-cp311-cp311-win_amd64.whl
panorai-3.5.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details for panorai-3.5.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
panorai-3.5.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details for panorai-3.5.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
panorai-3.5.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for panorai-3.5.0-cp311-cp311-macosx_11_0_arm64.whl
panorai-3.5.0-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details for panorai-3.5.0-cp311-cp311-macosx_10_9_x86_64.whl

Total release size: 13.0 MB

Release files / panorai-3.5.0.tar.gz

Download URL panorai-3.5.0.tar.gz
Size 2.6 MB
Tags Source
SHA-256 checksum
How to use checksums
3554cd5bde42814447440def5b57eb41a08943ecbc6db9c26bb273a4732a3048
BLAKE2b-256 checksum
How to use checksums
e915d5a8a37144f831ceb9be4cbb62a14a8f08678004150ca3ef269653dee869
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 9, 2026.

Transparency log

Release files / panorai-3.5.0-cp314-cp314-win_amd64.whl

Download URL panorai-3.5.0-cp314-cp314-win_amd64.whl
Size 567.4 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
2de1814c7354ed972a680eda2e10c68f5bddb5d87da40bb8762925d2173eda16
BLAKE2b-256 checksum
How to use checksums
b644d667d1c58bf4252da58810f87235d1a29fea786900199d85e6536362c7c4
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 9, 2026.

Transparency log

Release files / panorai-3.5.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL panorai-3.5.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 666.0 kB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2a77c3b9de2a91b4777cc6e7a924f97e1d70a57133d179bd973aa43e4d894554
BLAKE2b-256 checksum
How to use checksums
3dbe4dc8ff65e8e50cdfa46bc50ac4f6f8a5dfb06f94d16e8bb89698cc05f1d9
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 9, 2026.

Transparency log

Release files / panorai-3.5.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL panorai-3.5.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 655.4 kB
Tags CPython 3.14 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
47cfc471f3d37856c034fce76df0f3aeb5f22a2954a635e2adf1c13ba60eb548
BLAKE2b-256 checksum
How to use checksums
299f1e7539e1c97be5de5ec930fc3b2aeb4b05bdfdde5ddbe2dce5baba933baf
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 9, 2026.

Transparency log

Release files / panorai-3.5.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL panorai-3.5.0-cp314-cp314-macosx_11_0_arm64.whl
Size 364.0 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
471b63a1fd3e24d106f51db6780eb51e295a9cae3162efa9ac77652419a6c553
BLAKE2b-256 checksum
How to use checksums
382292038188fe90cb3c853b357645ecf2bcbad959d885e417095f6c05f809e2
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 9, 2026.

Transparency log

Release files / panorai-3.5.0-cp314-cp314-macosx_10_15_x86_64.whl

Download URL panorai-3.5.0-cp314-cp314-macosx_10_15_x86_64.whl
Size 364.9 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
b759d22f1d04d9c76cb377baf76eb2ae04508200be5c97642db3880e00ed2446
BLAKE2b-256 checksum
How to use checksums
6d9a253316df80265c8c029f577bd7168d58074da6ea01f62a88a286f802c51f
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 9, 2026.

Transparency log

Release files / panorai-3.5.0-cp313-cp313-win_amd64.whl

Download URL panorai-3.5.0-cp313-cp313-win_amd64.whl
Size 559.5 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
1d58616643d692645c800db8747a9e3aefd5c4e50689f52a863526033a9f0a53
BLAKE2b-256 checksum
How to use checksums
af3f4f63f7735b75c59fee1d2e3a51cc4a46ecbf3621ce43cd511b2a7a719a71
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 9, 2026.

Transparency log

Release files / panorai-3.5.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL panorai-3.5.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 665.6 kB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
329081f68f52369d1df3fc4c94d2aaf62da43d382358f84b5099dc14736ae8a3
BLAKE2b-256 checksum
How to use checksums
30537909a3d952be8f8888a60f281e7a76c17d940f7a94c9a57dde6de6a97085
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 9, 2026.

Transparency log

Release files / panorai-3.5.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL panorai-3.5.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 655.2 kB
Tags CPython 3.13 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
0364a3a0a7b898458d7d4fcb923a21ad674db5d36f2143af685b407d12c48be1
BLAKE2b-256 checksum
How to use checksums
6bf34fd12de8afe57ff3e2d3675d1554829e27984fcd87bdbd19247379d331e0
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 9, 2026.

Transparency log

Release files / panorai-3.5.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL panorai-3.5.0-cp313-cp313-macosx_11_0_arm64.whl
Size 364.0 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f0b6182ae930cb3f7f8a603cc4ee98a56185fde055677716bde8d37a05772c56
BLAKE2b-256 checksum
How to use checksums
c29001d66d09bd74805c04068c7d7d09a2fd55957488b68624f63285acfa41b7
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 9, 2026.

Transparency log

Release files / panorai-3.5.0-cp313-cp313-macosx_10_13_x86_64.whl

Download URL panorai-3.5.0-cp313-cp313-macosx_10_13_x86_64.whl
Size 364.8 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
a6b882542b5e8337950f4aaf14ca948113aecbfa9aafb8b281c795d8cc89136b
BLAKE2b-256 checksum
How to use checksums
07472c65055c3c4001efde8c879efbf569693c3f1a20c5a6ac90aaaa1ff96061
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 9, 2026.

Transparency log

Release files / panorai-3.5.0-cp312-cp312-win_amd64.whl

Download URL panorai-3.5.0-cp312-cp312-win_amd64.whl
Size 559.5 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
bd0457d2a10ca04354cf3c0222cbfdf7e679b773d65c9962be64cf61b305e1c0
BLAKE2b-256 checksum
How to use checksums
d344517f065cdccdd51d4bdfbcb8e3c1f56c7ab92cd96f9be3885d7b7ad74b9f
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 9, 2026.

Transparency log

Release files / panorai-3.5.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL panorai-3.5.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 665.5 kB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
310404c9df3aecf48eaa4f0900e1f2eb7978fff567cc4a465a79dba783762dee
BLAKE2b-256 checksum
How to use checksums
46e69f2df0f08527e0cfb2615d0f2ec3aa3b317498c6f3907ab456a97e3454e3
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 9, 2026.

Transparency log

Release files / panorai-3.5.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL panorai-3.5.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 655.1 kB
Tags CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
ae251965d15b3889076428615452c688cdd6ec64c758724d26d04ac14e49ba73
BLAKE2b-256 checksum
How to use checksums
c091143be879c6ad232be4ec87441a6c760908b4beb878290583ed015af3116c
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 9, 2026.

Transparency log

Release files / panorai-3.5.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL panorai-3.5.0-cp312-cp312-macosx_11_0_arm64.whl
Size 364.0 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3addbc0f76a6107a7708f9f6842e1c4cb4de62e68c1c0f54690b434329caccfa
BLAKE2b-256 checksum
How to use checksums
fb442b794e0bf7da3cca97c765b188bc8b0afba7647525bcd2293ccaa34df3b8
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 9, 2026.

Transparency log

Release files / panorai-3.5.0-cp312-cp312-macosx_10_13_x86_64.whl

Download URL panorai-3.5.0-cp312-cp312-macosx_10_13_x86_64.whl
Size 364.8 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
1db117420488e90812fb27542b29413c3fd8e18f2dba5deb1315065f5c2e4730
BLAKE2b-256 checksum
How to use checksums
c18f5c80b587417d445f920f555abcb0dd221ea72a149da471948cebf564a693
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 9, 2026.

Transparency log

Release files / panorai-3.5.0-cp311-cp311-win_amd64.whl

Download URL panorai-3.5.0-cp311-cp311-win_amd64.whl
Size 559.4 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
8901015e3e3f20da4543d95b964f511653a5e4bac9b820ab5d37aef6c1609eea
BLAKE2b-256 checksum
How to use checksums
149b82d9d1101126ecce9b800423392c5dd379899f02f73bf89c9e654aec6b70
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 9, 2026.

Transparency log

Release files / panorai-3.5.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL panorai-3.5.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 667.2 kB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0897484e53b87e8de7e7737908cf9f17679f14398324c758735ef5bd13240490
BLAKE2b-256 checksum
How to use checksums
56a774d7ab45429eb2595092f33dfeb08f263ef071ac40709a53f8cb9288f2d1
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 9, 2026.

Transparency log

Release files / panorai-3.5.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL panorai-3.5.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 655.9 kB
Tags CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d2c257a9ed80c58d86ffd16062c2027056fbb195a44588229d3ce25ac3c8f4b6
BLAKE2b-256 checksum
How to use checksums
4edf521152192419e11b8c797373da4755b61ecfb789ef3de1e238978dc6bb14
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 9, 2026.

Transparency log

Release files / panorai-3.5.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL panorai-3.5.0-cp311-cp311-macosx_11_0_arm64.whl
Size 364.0 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6547e19463b0f22219c7f51ace96f5708bd18df2b178fc630d0e92379ba483c4
BLAKE2b-256 checksum
How to use checksums
b41cd49030dfe9e737e0f956b0dab2a0898ee14cddd016e63f91660cb71ddbd2
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 9, 2026.

Transparency log

Release files / panorai-3.5.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL panorai-3.5.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 364.4 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
5ab2bbec64ea2f02117417af27e4b59d5639112337612d041a2f428df6c83a1b
BLAKE2b-256 checksum
How to use checksums
6bdcf9d3e9ea998bb4748ed17ff62b73b35d4dd1857a9c8327a6cdbee586a630
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 9, 2026.

Transparency log

Security for panorai 3.5.0

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.

Full provenance

All 21 files in this release have been uploaded with provenance metadata.

Select from 21 files

Attestation for panorai-3.5.0.tar.gz

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 9, 2026.

Transparency log

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.

Release history Release notifications | RSS feed

This release

3.5.0 This release

21 release files Full provenance

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