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.

The 3.7 product is organized as six user-facing capability families. The families explain how capabilities compose; the granular contracts remain the unit of compatibility, testing, and future promotion.

Product family What it provides 3.7 status
Stable foundations geometry, multimodal workflow, fusion, feature core Stable/Compatibility
Spherical visual evidence processing, detection, descriptors, learned frontends Stable core + Experimental extensions
Pose and relational geometry relative pose and reusable two-view evidence Experimental
Mapping and depth monocular depth, stereo, reconstruction, BA, SLAM Experimental
Semantic evidence segmentation and feature-indexed semantic regions Experimental
Spatial-semantic graph association, posterior, entity lifecycle, archive, query Experimental in 3.7

panorai.graph is the new Experimental endpoint for materializing prepared pose, depth, semantic, association, and localization evidence as a replayable spatial-semantic graph. It does not run the perception chain or expose a GraphBuilder.from_images() shortcut. See the graph guide and API stability matrix.

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
Segment panoramas with spherical proxy evidence and transient SAM charts experimental deep learning Proxy-guided segmentation workflow
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
Associate semantic regions and build a replayable spatial-semantic graph graph Spatial-semantic graph
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 and proxy-guided segmentation

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.

For the high-capacity ImageNet control, the same Experimental namespace loads the external, checksum-verified InternImage-G checkpoint and converts its DCNv3 samplers to differentiable local-tangent spherical samplers. The SphericalProxySegmenter.from_pretrained(...) facade combines that direct-ERP evidence with one transient SAM 2.1 chart/embedding at a time and returns all three mask alternatives, consensus/envelope masks, spherical instance fusion, unknown regions, and a deterministic panoptic map. Install .[deep-learning-internimage,deep-learning-sam]; no model bytes are bundled. This is automatic proxy-guided segmentation, not semantic ground truth; see the segmentation tutorial.

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.

For registered metric cameras, Experimental metric landmark BA refines supplied spherical landmarks with a baseline gauge and soft radial-range priors. It reports sparse landmark support explicitly and does not produce a dense depth map. 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.7.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.7.0
File Size Uploaded Provenance Actions
panorai-3.7.0.tar.gz 2.5 MB With provenance Details for panorai-3.7.0.tar.gz

Built distributions (wheels)

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

Total release size: 15.4 MB

Release files / panorai-3.7.0.tar.gz

Download URL panorai-3.7.0.tar.gz
Size 2.5 MB
Tags Source
SHA-256 checksum
How to use checksums
439eb5307ea3592319de24374e2b128d0f5e59512a45488fa36222ee8744d398
BLAKE2b-256 checksum
How to use checksums
d71470b909d2296c85666ff13d06d97e5ddbc3bfb7e3e6f2e667a17f625be5c1
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 11, 2026.

Transparency log

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

Download URL panorai-3.7.0-cp314-cp314-win_amd64.whl
Size 694.0 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
4b3f1272fbe2c4ca4fd701ae0984014874e80e94325bf776b60053cc1aa7c691
BLAKE2b-256 checksum
How to use checksums
d81693f75facb1e430eed4dad27b502f316d3a808ca0f0d259049f94f7dfdfc0
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 11, 2026.

Transparency log

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

Download URL panorai-3.7.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 792.1 kB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
51652e58d7af2e3eee10757339eb9360d480216a2bb98705a0540d4380e0c220
BLAKE2b-256 checksum
How to use checksums
39f0635471e2f732a1c5d781a5ad3892db15e495cc140fec7d1377610e0f8c5c
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 11, 2026.

Transparency log

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

Download URL panorai-3.7.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 781.5 kB
Tags CPython 3.14 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
70ccaf562fb8052c29acbf817c210cdce78f0c0ef029557ce28907874c4aa30b
BLAKE2b-256 checksum
How to use checksums
73a049be1463a02a30c6a3824e6c59110f631c0d3309f111a7b98196d1e22dd5
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 11, 2026.

Transparency log

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

Download URL panorai-3.7.0-cp314-cp314-macosx_11_0_arm64.whl
Size 490.1 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e95d73116a901e2b22630fbad7470da7eb360b40560eee0052342231ecd7116b
BLAKE2b-256 checksum
How to use checksums
60bfec02cd90ee7c0cb62590a70d89f2d4896f593d75cc95180a99fe1ec6a5e0
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 11, 2026.

Transparency log

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

Download URL panorai-3.7.0-cp314-cp314-macosx_10_15_x86_64.whl
Size 491.0 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
02cc402a793e1c48bd1d4a101f0222f94088772f3f66b3a363000bd443f057df
BLAKE2b-256 checksum
How to use checksums
496c4ba7df28b6e7aa7e405ca1cd5d50b4e0e535929f5c970bc6448e649fb31d
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 11, 2026.

Transparency log

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

Download URL panorai-3.7.0-cp313-cp313-win_amd64.whl
Size 686.4 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
2e4cca85c7f8c32247a5312fff8222640c7a36a940b19e7c80cb044e76caf04e
BLAKE2b-256 checksum
How to use checksums
ec0b4b22329f22320e200eeaad94d828becdd1726d5d60b86057aaf6bd562f1a
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 11, 2026.

Transparency log

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

Download URL panorai-3.7.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 791.7 kB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
174c1a777290a336ba487f6ebf246c318bee5817f7b499c23dffb7bde3c9ab4a
BLAKE2b-256 checksum
How to use checksums
35dd9aaf084338b7ccc8340b7c7615b9d45ae1567ce554b728fb3c53fcc3258b
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 11, 2026.

Transparency log

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

Download URL panorai-3.7.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 781.3 kB
Tags CPython 3.13 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
b7ffdaaeea2dcd0869d7cc573f350c721dac02f00536361c24592352871fef46
BLAKE2b-256 checksum
How to use checksums
95fefab31c5279c6f12ea45de881e26fb69611f2e17c7c395cc9bd327c3248a9
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 11, 2026.

Transparency log

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

Download URL panorai-3.7.0-cp313-cp313-macosx_11_0_arm64.whl
Size 490.1 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
11175ba696043aab45a0d8655425e3e69c6af3d1fa261fdd19284efd9cba0025
BLAKE2b-256 checksum
How to use checksums
0ed05bc46b549c91fffa65ab524ace31e073c762bf90cf1452fb8284c895d4cd
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 11, 2026.

Transparency log

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

Download URL panorai-3.7.0-cp313-cp313-macosx_10_13_x86_64.whl
Size 490.9 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
e8bba0ba0d1630a51a9dc6e24bf903bd8977cebf8c5036630aaca5d4f65c44da
BLAKE2b-256 checksum
How to use checksums
14e6b6fdba63b7578477910eb23255e1fcc461a0b6f0ee47af03c75608a46bf4
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 11, 2026.

Transparency log

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

Download URL panorai-3.7.0-cp312-cp312-win_amd64.whl
Size 686.4 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
af56ae3ca780f63580051eecb6537ed04ee5b2a40acb8639770d0a5e3f3e227a
BLAKE2b-256 checksum
How to use checksums
da2c3917cc8b11ea29ecc5567f0bcb1e5f5a58684f344622fb2e940a8b935a51
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 11, 2026.

Transparency log

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

Download URL panorai-3.7.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 791.6 kB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
fc887898c2c5118a10ba5f84ab638e311636292ecd857cd39f05fafdc93b460f
BLAKE2b-256 checksum
How to use checksums
f1eff30978357379b7da0b4915ff6d44e58311ba17f641aaf4a7699f26ac672e
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 11, 2026.

Transparency log

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

Download URL panorai-3.7.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 781.1 kB
Tags CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
79f2c8b45785ed0ea7234b33a0a5b33f4d19392047c3a50366b4ce7b259d1dd8
BLAKE2b-256 checksum
How to use checksums
16c4b2315a968135d51bbff48380edec1d3ff782192a9b665c4fb44c42cc50bb
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 11, 2026.

Transparency log

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

Download URL panorai-3.7.0-cp312-cp312-macosx_11_0_arm64.whl
Size 490.1 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
523db98d3a923168abc083e5d7d0615e3645c3ef075d8f6edb126db5325ce6a3
BLAKE2b-256 checksum
How to use checksums
f711fe8699de293be9686996561c47cd21f977bf42c1d3564190d54b68e83b2d
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 11, 2026.

Transparency log

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

Download URL panorai-3.7.0-cp312-cp312-macosx_10_13_x86_64.whl
Size 490.9 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
ea16f1fdb6756d514056457a1110f48f91c458144a78d46eae5da08cac401989
BLAKE2b-256 checksum
How to use checksums
804024398407eae73c9ee98d40dbbca0ad1be85bd6c52f51ba2e225239124f31
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 11, 2026.

Transparency log

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

Download URL panorai-3.7.0-cp311-cp311-win_amd64.whl
Size 686.3 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
d34490bd364e258fedc28caef9b7592c555be882b9b82275e5df0da10210bc12
BLAKE2b-256 checksum
How to use checksums
68c47798e7565f8a70320a4289da21173fc4f73f40a293111b7fe1d524c47308
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 11, 2026.

Transparency log

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

Download URL panorai-3.7.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 793.3 kB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f3715f5417744058e9a57275db7185b2b14721b6e7511e6c438ccec19c913b45
BLAKE2b-256 checksum
How to use checksums
21b3e65eb6bdf37e6535a6c34aadbbb881baa9ed5daa571c8b4af1d77f41252d
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 11, 2026.

Transparency log

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

Download URL panorai-3.7.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 782.0 kB
Tags CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
ca7cbb6ed6e986b706061f4d162578d39db1b8020f26b213bf2a2a4d36b07f43
BLAKE2b-256 checksum
How to use checksums
1ea9a4bb1b72d3fc46e994a229da358a33c7b08efbf01964c76d08415fa65c18
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 11, 2026.

Transparency log

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

Download URL panorai-3.7.0-cp311-cp311-macosx_11_0_arm64.whl
Size 490.0 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a6c647510249186ee862026caea7b0a84b4136731419e59bd960912177832503
BLAKE2b-256 checksum
How to use checksums
1904631ea0fac4ec6f832b1affb773a4fe2d9e47f3455b5125f88621aded0838
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 11, 2026.

Transparency log

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

Download URL panorai-3.7.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 490.5 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
80ad993c7ddcafbc6326860c097a6f29938b4787c23024a240c77b8b462af567
BLAKE2b-256 checksum
How to use checksums
d2b84497e7abe7d167a6d304e580ea7a4c4983b411f9447a443a2dbb53b30277
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 11, 2026.

Transparency log

Security for panorai 3.7.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.7.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 11, 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.7.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