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[deep-learning]"  # Experimental pretrained spherical FCN/CAM
pip install "panorai[deep-learning-depth]"  # Experimental spherical Metric3D CNN
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
Port pretrained ImageNet classifiers to spherical FCN/CAM inference experimental deep learning Pretrained spherical FCN/CAM
Estimate radial range with a ported monocular CNN experimental deep learning depth Resize-free spherical monocular depth
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.

Pretrained spherical FCN/CAM

The opt-in panorai.experimental.deep_learning namespace converts AlexNet, VGG16, and ResNet18 classification heads to fully convolutional form, replaces their spatial convolutions and pools with differentiable spherical operators, and reuses the exact Torchvision parameters without fine-tuning. First use automatically downloads the official DEFAULT checkpoints to the external Torch cache and verifies their URL hash prefix; PanorAi never packages those weights. An explicit prefetch command is also available:

python benchmarks/spherical_fcn_cam/download_models.py

Fully convolutional does not mean one output per input pixel: the original network stride and classifier kernel still determine the dense lattice. Read the tutorial for native-resolution inference, map interpretation, automatic model acquisition, and the planned output-stride/tangent-oracle comparison.

The same Experimental namespace now provides a checksum-pinned, adapter-only Metric3D-v1 ConvNeXt-Tiny/Hourglass loader. It requires explicit acceptance of upstream terms before downloading external source and weights, ports all learned spatial layers with exact parameter identity, and performs resize-free 2:1 ERP inference as radial range. Because the checkpoint has no separate published model-card license, PanorAi never redistributes it. See the spherical monocular-depth tutorial.


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.6.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.6.0
File Size Uploaded Provenance Actions
panorai-3.6.0.tar.gz 2.6 MB With provenance Details for panorai-3.6.0.tar.gz

Built distributions (wheels)

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

Total release size: 13.4 MB

Release files / panorai-3.6.0.tar.gz

Download URL panorai-3.6.0.tar.gz
Size 2.6 MB
Tags Source
SHA-256 checksum
How to use checksums
d6baa05396a4a0ee9b249b1f5da61522183fe8747b7dcb2a6a10694cd65f2d7a
BLAKE2b-256 checksum
How to use checksums
23d6020eaf8bd8982be919204ad4b4c6cb55f8520a3db08f4a89e7d0eb19ed90
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.6.0-cp314-cp314-win_amd64.whl

Download URL panorai-3.6.0-cp314-cp314-win_amd64.whl
Size 586.1 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
864df0dcb6e3a00780db0aff1a2d6fb5786da82a839ae11876e294b5c3063101
BLAKE2b-256 checksum
How to use checksums
291fd3e2de4a8dd6014d4d5c7fa5757181c2cf6f37325eed9ed73bf9ca8caebc
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.6.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL panorai-3.6.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 684.7 kB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b84c3ee2aeaeb215cce1b168c066623ace2782d73cf209d1970b5fbed80f8940
BLAKE2b-256 checksum
How to use checksums
182279d57022ceb82bfce71806c9e78342cb38de1e9425f56bd0519f0891048f
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.6.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL panorai-3.6.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 674.0 kB
Tags CPython 3.14 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
df1793e13a62438f0cd8d02cf228c4491db199e17e08bb05e68fe31cb1f5217d
BLAKE2b-256 checksum
How to use checksums
9f6bb40c12bc0d10e6d0edcc15135563642b897655a91c08fc0c275675fadae1
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.6.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL panorai-3.6.0-cp314-cp314-macosx_11_0_arm64.whl
Size 382.7 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
897cc6f703a9aa4e8cb8f1f14585ec5314d6ffc40bebb315601f9a69444a2888
BLAKE2b-256 checksum
How to use checksums
6d671cd945ad1d699869fd50001f31c0fb920be5a96fcf3b84b1df8daa04d098
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.6.0-cp314-cp314-macosx_10_15_x86_64.whl

Download URL panorai-3.6.0-cp314-cp314-macosx_10_15_x86_64.whl
Size 383.6 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
f72f5c3750f95484341165654c53f695bc9ddf425ff8deb109291f0b9cb64e64
BLAKE2b-256 checksum
How to use checksums
260588920f0cb1ee22b4e2d9aa3c405fc20a959c9a80f5367cb0ce604e86ce1a
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.6.0-cp313-cp313-win_amd64.whl

Download URL panorai-3.6.0-cp313-cp313-win_amd64.whl
Size 578.2 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
456d89fbba1d0628c634abd702b3d86a3534967508df108270e98e539480922d
BLAKE2b-256 checksum
How to use checksums
403c7be918a6d05e0b606bf373fea20b9f8c940bcd3b539e07cbb7d245af2392
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.6.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL panorai-3.6.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 684.2 kB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d86f60cec7f3c67b96d84a9857b15eea2897ca85cf16232f469da79a3dc7e91b
BLAKE2b-256 checksum
How to use checksums
7d61b045a19a649cb0954b29e585d943c3baf6110d5fc8433294e60b690b598a
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.6.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL panorai-3.6.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 673.8 kB
Tags CPython 3.13 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d9237611e1768d8de984712e6add93d0934e297922e51866529c17dd4b83ec81
BLAKE2b-256 checksum
How to use checksums
e5339c618246f749fb690f791d1a0a9d8687110f26c6e52c222b0527724ed1ab
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.6.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL panorai-3.6.0-cp313-cp313-macosx_11_0_arm64.whl
Size 382.6 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a50f6c43c7fb992acc0e6c601ca8400c8cd742361fcc2e214e29bf161851d25b
BLAKE2b-256 checksum
How to use checksums
907b428f70dd62dce4b0b832201f8188559fba0cd9ae9f0efca858bcc6ca2c3e
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.6.0-cp313-cp313-macosx_10_13_x86_64.whl

Download URL panorai-3.6.0-cp313-cp313-macosx_10_13_x86_64.whl
Size 383.4 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
b33f6c9d4d1790c4658407c84b75036e509a174af9b2c4bf13f9eeb72263cf9f
BLAKE2b-256 checksum
How to use checksums
ce74f77cd16dd8a8fcc3e278c6a5b43b0d80bfafda554f5e9d9262b082fc94eb
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.6.0-cp312-cp312-win_amd64.whl

Download URL panorai-3.6.0-cp312-cp312-win_amd64.whl
Size 578.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
a0bb4b99b68676df92f6ec961c6258d132b37d113f9b5345745b7410c628baeb
BLAKE2b-256 checksum
How to use checksums
e88bbb98ba0aa2c29e46b1b32ad534db2918321726c4f4ded4eaeb15095b0744
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.6.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL panorai-3.6.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 684.1 kB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
50b3484aedf67ce7d319a910ceef0dc1707cbfaf7dcf239cc895c5b52fedb206
BLAKE2b-256 checksum
How to use checksums
f16b1e959ece8e3f7aee1bfe6a51c86bf9b110c1557659b8e1d36bd41adcfe18
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.6.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL panorai-3.6.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 673.7 kB
Tags CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
5ac836c27380ce40521ca7983b8aa9ed6eaeac19217bd82494ad1cf285d5a70c
BLAKE2b-256 checksum
How to use checksums
4a7003a3846f8693b7153cc57b3e91513e3fbca71dc81b1636d5cb075f0258ee
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.6.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL panorai-3.6.0-cp312-cp312-macosx_11_0_arm64.whl
Size 382.6 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
76e53a0fc512acf2f543f996b72850cc4a3721144fd326cc2a05e3178afc016f
BLAKE2b-256 checksum
How to use checksums
a931dd05eab42c0f2b6acd3568192e65aeb2212b01238e6dc7cc060667137acf
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.6.0-cp312-cp312-macosx_10_13_x86_64.whl

Download URL panorai-3.6.0-cp312-cp312-macosx_10_13_x86_64.whl
Size 383.4 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
36ecbc3493669d46b55e12aaaac60545c371e9e6b9dc5e35f26e71e3b17719d2
BLAKE2b-256 checksum
How to use checksums
2e7482dd328279a34f773715b84cda6ab779016fc10a90cc43ecf0441d680d65
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.6.0-cp311-cp311-win_amd64.whl

Download URL panorai-3.6.0-cp311-cp311-win_amd64.whl
Size 578.2 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
8f409a2698aa251a46c734aeea45a6580a7117be0724d00b97b68fbfebf64703
BLAKE2b-256 checksum
How to use checksums
d804a1ebacdfbfff58f9c584fe249631b73ee4abd2f80999e1ba943081c51362
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.6.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL panorai-3.6.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 685.8 kB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c07e209960545bc0707f35a9dde049d53d62159ca208517de8a15608b9d8e511
BLAKE2b-256 checksum
How to use checksums
b2600d735fb428840dd9185dafdd34b54d27a1ad2a4173d2da0ebefd0e78ac5a
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.6.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL panorai-3.6.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 674.5 kB
Tags CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
0775211bafb97665a8b0112d07c2dfc65e7b2f0488e93e800dc2cc4ec1f43531
BLAKE2b-256 checksum
How to use checksums
f61b31871a642159bbd5431a457cfe3b8744e80b08863bf5507f267d06e8add9
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.6.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL panorai-3.6.0-cp311-cp311-macosx_11_0_arm64.whl
Size 382.6 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5cff7e205e1ada71974e2088158fe86d44232c149eafe878eb8ce339c42a8bfe
BLAKE2b-256 checksum
How to use checksums
8447c9743d2e71a21691f0860706b98d32ace5dc4235b451e13b5184f7309680
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.6.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL panorai-3.6.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 383.1 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
4ca5ee7b8a42c788611e1535f8aafe7b5bb8fdbea7707ecc4a6facc828cd02f7
BLAKE2b-256 checksum
How to use checksums
9d9d215ba9be949dcd9a745b822e36b3d0ead302873ce4cc8edff7a11dd39ac4
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.6.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.6.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.6.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