Skip to main content

PanorAi

PyPI Python CI Documentation License: MIT

Spherical image processing and projection with explicit geometry, support, validity and units. Use ready-made applications, compose a pipeline, call sphere-native operations, or keep using the Stable object workflow directly.

One sphere, three execution routes: projection-domain, sphere-native, and hybrid multiview

PanorAi is a fit when a planar image API is not enough: you need explicit ERP-to-view projection, seam-aware spherical operations, typed multiview fusion, or radial-range geometry. It is a library—not a dataset, training framework, checkpoint collection, or hidden-geometry model runner.

pip install panorai==3.8.0

The PyPI badge is authoritative for the published version. This README describes 3.8; an older badge means its separately authorized publication is still pending.

NumPy is required. Torch and model integrations are optional extras. Models, datasets, and checkpoints are never bundled into the wheel.

What can I build with it?

Projection and fusion Sphere-native processing
An ERP is sampled into tangent faces, processed by the same blur or convolution, and reconstructed Blur or convolution is applied directly on the spherical lattice without tangent faces
Projection-domain: sample tangent faces, apply the same blur, convolution, or model per face, then reconstruct a typed ERP field. Sphere-native: apply GaussianBlur or spherical Conv2d directly to angular neighbourhoods—no face sampling or reconstruction.
Spherical features Stereo radial range
Spherical DoG and SIFT detections on an ERP panorama Synthetic spherical stereo inputs, radial range, confidence, and error
Experimental application: detect spherical DoG keypoints and compute tangent descriptors. Experimental application: estimate radial range with confidence, validity, and diagnostic outputs.

The first row contains original API diagrams; the second contains tracked repository-example outputs, not decorative AI renders. Sources, commands, hashes, and limitations are in the image attribution and provenance.

How much API do I need?

Four PanorAi API levels, from a ready-made application to canonical geometry

Start with the leftmost level that solves the task. Moving right exposes more control without changing coordinate, grid, support, validity, or unit contracts. Choose a concrete object in the component catalog: compare Applications, Stages, spherical Ops/layers, estimators, typed results and Geometry by role, input, output, domain and stability; its complete public inventory lists every audited symbol.

Stable foundation: three objects

Object Meaning
EquirectangularImage Complete spherical raster with typed fields.
GnomonicFace One pinhole view with projection, support and validity.
GnomonicFaceSet Views processed, lifted or fused together.
from panorai import EquirectangularImage

# Use EquirectangularImage.open("room_360.jpg") for a real panorama.
panorama = EquirectangularImage.sample("spherical-grid", size=(128, 64))
views = panorama.views("fibonacci", count=20, size=64, fov=100)
result = views.map(lambda image: image * 0.8).reconstruct(blend="gaussian")

The same object offers spherical resize, 3D rotate, tangent crop, registered filter and projection-aware paste. I/O and safety boundary: save() exports one raster, not the typed workflow; floats outside [0, 1] need value_range. Learned Torch transforms propagate invalidity strictly, and paste() accepts a projected GnomonicFace, not a raw rectangle. See why spherical image operations differ from Pillow.

Projection follows geometry-v1: pixel centres, top-left image origin, +X right, +Y up, +Z forward, longitude [-π, π), and latitude north to south. Depth means radial range unless another quantity is named explicitly.

1. Ready-made applications

The application wrappers are the shortest entry point:

from panorai.applications import (
    PanoramicDenseStereo, SphericalDoGFeatures, SphericalRelativePose,
    SphericalSLIC, SphericalStereoDepth,
)

labels = SphericalSLIC(n_segments=100)(panorama)
features = SphericalDoGFeatures()(panorama, panorama_id="frame-0001")
depth = SphericalStereoDepth()(reference, source, R_source_from_reference, t)
panoramic_depth = PanoramicDenseStereo(pose_mode="auto")(reference, source, baseline=baseline_m, units="m")
pose = SphericalRelativePose.reference()(reference, source)  # Essential, R, unit t
Application Input Result Implementation reused
SphericalSLIC ERP RGB typed label RasterField intrinsic spherical SLIC
SphericalDoGFeatures ERP RGB bearings and descriptors spherical DoG + tangent SIFT
SphericalStereoDepth two ERPs and metric pose radial range, confidence, validity direct spherical plane sweep
PanoramicDenseStereo two ERPs; optional pose/baseline fused ERP radial range plus pose and diagnostics pose → rectified views → matcher → spherical fusion
SphericalRelativePose two ERP images Essential, R, unit t direction, diagnostics reference frontend + spatial RANSAC + MSAC/refit
SphericalMaskRCNNWorkflow ERP plus external adapters proposals, instances and masks Mask R-CNN roles with CAM/SAM/heuristic components

Every wrapper supports run(), __call__(), get_params(), immutable with_params(), describe(), and as_pipeline(); wrappers adapt existing algorithms rather than forking their mathematics. Relative pose also exposes RelativePoseCapturePolicy: with independent registered-depth metadata it can reject pairs below the measured 50% bidirectional-overlap eligibility boundary before feature extraction. This is an operating-envelope check, not a universal accuracy guarantee; post-estimation quality_report.accepted remains required.

SphericalSLIC is Stable as panorai-spherical-slic/v1, including typed Pipeline composition and safe JSON configuration. The generic application base plus DoG, Stereo, Relative Pose, and Mask R-CNN Workflow wrappers remain Experimental until their installed-wheel, license, performance, and prospective scientific gates pass.

The complete stereo workflow and its interchangeable classical matchers are documented in Panoramic dense stereo.

2. Compose the lower-level API

Use Pipeline when the ready-made application is close, but its stages need to change:

A typed pipeline branching into direct spherical and projected-view processing

The generic panorai-spherical-pipeline/v1 contract is Stable. CAM/SAM proposal and instance-fusion stages remain Experimental and do not inherit that promotion merely because they share the namespace.

from panorai.pipeline import (
    OnSphere, Output, Parallel, PerView, Pipeline,
    ReconstructERP, SampleViews,
)
from panorai.ops.spherical import GaussianBlur

pipeline = Pipeline(
    Parallel(
        direct=OnSphere(GaussianBlur(ksize=5, sigma=1.2)),
        projected=Pipeline(
            SampleViews("fibonacci", count=100, size=256, fov=100),
            PerView.parallel(
                batch="auto",
                labels=Output(segmenter, kind="labels"),
                depth=Output(depth_model, kind="depth", units="m"),
                detections=Output(detector, kind="detections"),
            ),
            ReconstructERP(labels="closest", depth="gaussian"),
        ),
    ),
)
results = pipeline(panorama)  # ResultBundle: results["direct"], results["projected"]

Core stages include OnSphere, SampleViews, PerView.parallel, ReconstructERP, LiftToBearings, and AggregateViews. Parallel, Select, and Attach branch and route named results.

PerView.parallel is logical branching, not a promise of threads. batch=None runs per view, an integer fixes chunk size, and batch="auto" requires declared batch support. There is no silent retry after out-of-memory errors.

Pipeline outputs preserve their meaning:

Output family Public result
image, depth, labels, mask, logits, features RasterField with RasterGrid
classification ClassificationResult
embedding EmbeddingResult
keypoints or detections per-view or SphericalObservations
multiple branches ResultBundle

Third-party stages implement Stage and return StageResult; Pipeline also implements Stage, so pipelines can be nested.

3. Sphere-native operations and Torch layers

Functions and immutable operation objects live in panorai.ops.spherical:

from panorai.ops.spherical import GaussianBlur, SLIC, sobel
from panorai.pipeline import OnSphere, Pipeline

smooth = Pipeline(OnSphere(GaussianBlur(ksize=5, sigma=1.2)))(panorama)
labels = Pipeline(OnSphere(SLIC(n_segments=100), output="labels"))(panorama)
east_gradient = sobel(panorama.image.mean(axis=-1), direction="east")

The library includes resampling, rotation, filters, blur, Sobel, gradient, Laplacian, Canny, solid-angle statistics, SLIC, DoG, spherical NMS, and Gaussian/Laplacian pyramids. Historical panorai.image_processing imports remain valid.

General NumPy operations form the Stable panorai-spherical-ops/v1 contract; SLIC is separately Stable. DoGDetector and the mixed-stability algorithms gateway remain Experimental: the analytic oracle passed, but external held-out and performance gates remain open. Optional Torch layers are Stable on CPU; CUDA and MPS await independent matrix testing.

Optional Torch layers use the same spherical grid contract:

import torch
from panorai.ops.spherical import nn as spherical_nn

network = torch.nn.Sequential(
    spherical_nn.Conv2d(3, 16, 3, padding=1),
    torch.nn.ReLU(),
    spherical_nn.MaxPool2d(2),
)
report = spherical_nn.validate(network, input_shape=(256, 512))

Convolution, transposed convolution, and pooling update lattice anchor, stride, and resolution; reduced lattices cannot masquerade as canonical ERP. Learned convolution propagates validity strictly; only normalized average/Gaussian operations renormalize it.

4. Mask R-CNN taxonomy and the executable workflow

The executable workflow keeps Mask R-CNN responsibilities visible without pretending to be the future trainable architecture:

from panorai.experimental.deep_learning import mask_rcnn

method = mask_rcnn.workflow(
    proposal_mode="cam",
    proposal=cam_adapter,
    mask=sam_adapter,
    heuristic=instance_heuristic,
    concepts=("pipe", "equipment"),
    num_classes=3,
)
instances = method(panorama)
architecture = method.architecture
  • In CAM mode, CAM is the proposal generator and SAM refines region masks.
  • In SAM mode, SAM proposes masks and can reuse them with reuse_proposal_masks=True.
  • The instance heuristic fills the BoxHead classification responsibility, can abstain, and is not a learned classifier model.
  • .architecture exposes Backbone, ProposalGenerator, RoIAlign, BoxHead, MaskHead and RoIHeads; mask_rcnn.paper() remains a deprecated compatibility alias.

SphericalMaskRCNN represents the future trainable Backbone → RPN → RoIAlign → Box/Mask topology, but deliberately raises UnboundMaskRCNNError. PanorAi adds no trainer, dataset framework, or checkpoints to its projection core.

Reproducibility and safety

Pipeline topology uses canonical JSON and an explicit PanorAi allowlist; files cannot request arbitrary Python imports. Cache entries use safe NumPy archives, atomic writes, and checksums—never pickle—and identify values, support, validity, grid, dtype, layout, backend, device, version, and configuration. Registered Torch weights use safetensors and require eval mode. Tensors with requires_grad=True fail before caching, so autograd is never disconnected silently.

Go deeper

Metadata

Release files for panorai 3.8.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.8.0
File Size Uploaded Provenance Actions
panorai-3.8.0.tar.gz 4.7 MB With provenance Details for panorai-3.8.0.tar.gz

Built distributions (wheels)

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

Total release size: 23.4 MB

Release files / panorai-3.8.0.tar.gz

Download URL panorai-3.8.0.tar.gz
Size 4.7 MB
Tags Source
SHA-256 checksum
How to use checksums
366e9b9c3c35144249301ad3b3264eb2bb50ec9dc484a2e70d6ef2677434512c
BLAKE2b-256 checksum
How to use checksums
e5a4786c5ed586f4775fec77334dca8f4a3fcdf417ea87e68b474a2e4b94add6
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 18, 2026.

Transparency log

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

Download URL panorai-3.8.0-cp314-cp314-win_amd64.whl
Size 961.5 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
991dac13c213ba047ee7b1ea2e604297380b339ae9631b566b09d44054052600
BLAKE2b-256 checksum
How to use checksums
633d8ffa658789d6257c590ae27fd370d8cf39364a43a74960ee801d7b95c6da
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 18, 2026.

Transparency log

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

Download URL panorai-3.8.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 1.1 MB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
30edbb8288c13693c167e5d637d53e49df7573ef13b4bdecc5496d62c33a5765
BLAKE2b-256 checksum
How to use checksums
6cd0122c1f3d7fe75f0fef3b2c07a085ce3478642fb38645870938e73cc353a3
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 18, 2026.

Transparency log

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

Download URL panorai-3.8.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 1.1 MB
Tags CPython 3.14 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
9910a837eb8c65de16f31aaf42fe5d9ea60dfcc8e5455b2436b70437901d7dfe
BLAKE2b-256 checksum
How to use checksums
134ddee38855dbc6b689e3962c30ce58b6bcb3cb9fd8cf557cd1c8d1fd14cfbc
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 18, 2026.

Transparency log

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

Download URL panorai-3.8.0-cp314-cp314-macosx_11_0_arm64.whl
Size 759.3 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6229de30ad34ae9533aa6e877911c51fb424b46e02615241a545b35a2ff5142a
BLAKE2b-256 checksum
How to use checksums
e6c82983897d58cbcb81238c0a007fcca28f17d90e1d13e5e1f99e715c2f0f51
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 18, 2026.

Transparency log

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

Download URL panorai-3.8.0-cp314-cp314-macosx_10_15_x86_64.whl
Size 760.6 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
e01e66ba9571f5a4b578228dcf4793f0c1f485edec70c364b7a21ffd48301c34
BLAKE2b-256 checksum
How to use checksums
2cc9a87bdc4fea1923eaa12711b3a2dc9561fbb4f28676c305c285b964c1fa70
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 18, 2026.

Transparency log

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

Download URL panorai-3.8.0-cp313-cp313-win_amd64.whl
Size 954.5 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
181008219dc107b061706a04ac0b56867a34527c2aa48e89d8f5de3e5eece881
BLAKE2b-256 checksum
How to use checksums
f3fc391491e92907aae2a027e8d2f0422d45d352357180c4323dcc08672d4ee4
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 18, 2026.

Transparency log

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

Download URL panorai-3.8.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 1.1 MB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d1602626c532b157361b929f116dc2c01d6695f6d5053ef4a7294ff5ba38d289
BLAKE2b-256 checksum
How to use checksums
b90ad2b4dc5603ee665c3dfe6aca883525b118f4d8d148e8cfd7323c046a2887
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 18, 2026.

Transparency log

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

Download URL panorai-3.8.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 1.1 MB
Tags CPython 3.13 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
065aeeef80fff6d8b6ca0d0655ea1e85a58c3b3b3a2b1fa2cf2c7c3417e93ad4
BLAKE2b-256 checksum
How to use checksums
bf2d2c1b015ffa34fc9660889775a0a63487efa5df3bfff1ec14345773583c76
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 18, 2026.

Transparency log

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

Download URL panorai-3.8.0-cp313-cp313-macosx_11_0_arm64.whl
Size 759.3 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b4992f9d170542eadd7ffdd0622224c995689d942b89753166da859532c2962f
BLAKE2b-256 checksum
How to use checksums
38c4e3e1c05c628fec16a4c056ba0c3d644afc102b0ee952f0a2e3388bbe9e2e
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 18, 2026.

Transparency log

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

Download URL panorai-3.8.0-cp313-cp313-macosx_10_13_x86_64.whl
Size 760.4 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
15fa0abb52d0de41017cbda5e88aec35f21df6456c534afde69c515af2e51d6e
BLAKE2b-256 checksum
How to use checksums
442795d37b53a5653dfd9c333fad03c12ac2f8709596375012fbc36ec5285427
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 18, 2026.

Transparency log

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

Download URL panorai-3.8.0-cp312-cp312-win_amd64.whl
Size 954.5 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
0a8eff365ef1ed9bf532fd3ec20514b825067ff12eb8a7ae1ac81f3d43f9c4ed
BLAKE2b-256 checksum
How to use checksums
0c4d9b4122c47a4f962381c563baa7f3b14db74c7472a585038e73d081a81ef6
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 18, 2026.

Transparency log

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

Download URL panorai-3.8.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 1.1 MB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c73029c0f99be08be4ebcbe3f950de294b8571cd75776082f5077fe346402e20
BLAKE2b-256 checksum
How to use checksums
1ea4467f703660260f47ae5a38e7c82a35128f897ace8c17dc27e53b1c6f6ef8
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 18, 2026.

Transparency log

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

Download URL panorai-3.8.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 1.1 MB
Tags CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3e12719819267f687ae25b0579db5ac2159576157ccf2fb375fbb589b13a692c
BLAKE2b-256 checksum
How to use checksums
70b0ee1d2fc09afd3a36e9f5c10b3157e972c48d0bc207610c4885d16bc544ec
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 18, 2026.

Transparency log

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

Download URL panorai-3.8.0-cp312-cp312-macosx_11_0_arm64.whl
Size 759.2 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d89eb3c91269620629f13e2b49d23b791f01d0d244d1e97ec21fbcb91671e793
BLAKE2b-256 checksum
How to use checksums
0ed7d5ee3efe45b9449a9b282eef45a46e4b6392a6bdc965e0fa71187d46a742
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 18, 2026.

Transparency log

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

Download URL panorai-3.8.0-cp312-cp312-macosx_10_13_x86_64.whl
Size 760.4 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
48102f8d5f44c10c7ab2c9e6e2705eaf49ff0f8db6d3fc8ee8a5cf63aaa4eef9
BLAKE2b-256 checksum
How to use checksums
57232a14e94b7a8135e6ad3ba98d51710e456499cd1a017b608e62eccabb595d
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 18, 2026.

Transparency log

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

Download URL panorai-3.8.0-cp311-cp311-win_amd64.whl
Size 954.5 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
d581afff3e6267d1d927847457969c034ade77d882af91c13728f75a99f4c16c
BLAKE2b-256 checksum
How to use checksums
ea4ad97edd99be636e87d2d063aee9e5959240b300a3df46c344dc520fdaaa6b
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 18, 2026.

Transparency log

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

Download URL panorai-3.8.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 1.1 MB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a4ae66c6c48914b5756a00d7439ec5b166a69c82cc17be72329170a4eed83bb6
BLAKE2b-256 checksum
How to use checksums
0fd7f37da34b6cf227cd490a7ade2de8290651ee6ad0bd443b108ff22c55337c
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 18, 2026.

Transparency log

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

Download URL panorai-3.8.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 1.1 MB
Tags CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
661ad9843060ab27519bdd66c7defb9d12eec1b7121b6e53fb5b2f58d3d79ff3
BLAKE2b-256 checksum
How to use checksums
91ed345c7c261e3cafd25b4c6a2731bdc5c712a41446bd2505a9a2d94857c4f0
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 18, 2026.

Transparency log

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

Download URL panorai-3.8.0-cp311-cp311-macosx_11_0_arm64.whl
Size 759.2 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7442c9dfa97ec6111a4e2eec121d80ebd6d54080fb7c423b686f9f76e00fa295
BLAKE2b-256 checksum
How to use checksums
a5fc3ae1ad50bc7d878f523cc2e1210a3b95c92be278f44c93fd352138764180
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 18, 2026.

Transparency log

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

Download URL panorai-3.8.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 759.3 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
a952be926d8b147c12f5f6dbe1f02c995834b063a5624c57b0efbfb04185f528
BLAKE2b-256 checksum
How to use checksums
100e9e28f346eef35c3d9bc00823b451d8d09e1d6ea346bc6108253d927977ea
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 18, 2026.

Transparency log

Security for panorai 3.8.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.8.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 18, 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.8.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