Skip to main content

pyscal: python Structural Environment Calculator

Complete documentation with examples available here.

What changed in version 4

pyscal grew over the years from a small wrapper around a few C++ routines into a full structural-analysis toolkit. With each addition the original System / Atoms object model became more rigid: every new descriptor had to be threaded through the same class hierarchy, neighbor lists were tied to a particular System instance, and interoperating with the rest of the atomistic-simulation Python ecosystem (ASE, pymatgen, OVITO, LAMMPS dump readers) required converting back and forth between formats.

Version 4 is a ground-up rewrite around four changes:

  • ASE Atoms is the data structure. pyscal no longer ships its own atoms class. Any ase.Atoms object, read from a LAMMPS dump, a POSCAR, a CIF, an XYZ, built with ase.build.bulk, or constructed by hand, can be passed directly to a pyscal function. Results are written back as atoms.arrays["pyscal_*"] for per-atom quantities and atoms.info["pyscal_*"] for global ones, so they travel with the atoms object and remain accessible to the rest of the ASE ecosystem.

  • Functional API. Every descriptor is a top-level function in pyscal that takes an Atoms object as its first argument. Neighbor lists are computed once with pyscal.find_neighbors(atoms, ...) and reused by every subsequent descriptor. There is no system state to keep in sync, no method-chaining order to remember, and no class to subclass when adding a new descriptor.

  • Neighbor search on matscipy-neighbours. The neighbor search uses the C++ core of matscipy-neighbours, which is included in pyscal. The neighbors are stored as flat arrays, which the descriptors read directly. For one million atoms with 12 neighbors each, the search takes 0.12 s instead of 28 s in pyscal 3.3.

  • Threads. The neighbor search, common neighbor analysis and the per-atom loops of the descriptors run on all CPU cores. The results are the same for any number of threads. pyscal.set_num_threads(n) or the environment variable PYSCAL_NUM_THREADS sets the number of threads.

The C++ core keeps voro++ for tessellation and its own kernels for Steinhardt-type invariants and common neighbor analysis, with pybind11 bindings, and is now exposed through a much thinner Python layer.

A typical session looks like:

import pyscal
from ase.build import bulk

atoms = bulk("Cu", "fcc", cubic=True).repeat(4)
pyscal.find_neighbors(atoms, method="cutoff", cutoff=0)   # adaptive
q4, q6 = pyscal.steinhardt_parameter(atoms, l=[4, 6])
labels, names = pyscal.identify_ackland_jones(atoms)

print(atoms.arrays["pyscal_q6"].mean())   # ≈ 0.57 for fcc

Timings

Wall time of a neighbor search, adaptive CNA and q6 for one million atoms in pyscal 3.3, pyscal 4, OVITO and freud

pyscal is as fast as or faster than OVITO and freud.

Scripts written for pyscal 3 need small changes, described in Migrating from pyscal 3. To keep the old interface, install pyscal3<4.

What is included

This release consolidates a number of new descriptors alongside the existing ones:

  • Neighbors: fixed cutoff, adaptive cutoff, SANN, a fixed number of neighbors, Voronoi
  • Steinhardt $q_l$ and averaged $\bar{q}_l$
  • Wigner $W_l$: third-order rotational invariants for distinguishing cubic structures
  • Minkowski structure metrics: Voronoi-area-weighted, parameter-free $q_l$
  • Solid/liquid classification and clustering
  • Disorder parameter
  • Angular and $\chi$ parameters, Ackland-Jones structural classifier
  • Coordination measures: coordination number, effective coordination, generalised coordination, local density
  • Angular distribution function and bond-length distribution function
  • Voronoi tessellation: structural vector and Voronoi volume
  • Centrosymmetry parameter
  • Common neighbor analysis (CNA, adaptive CNA, diamond variants)
  • Entropy parameter (Piaggi–Parrinello)
  • Warren–Cowley short-range order
  • Atomic deformation: strain tensor, von Mises invariant, $D^2_{\min}$, slip vector
  • Wigner–Seitz defect analysis: vacancies, interstitials, antisites against a reference
  • Atomic Cluster Expansion (ACE) descriptors up to body order four

A complete list with mathematical definitions and examples is available in the documentation.

Installation

pyscal is distributed on PyPI and conda-forge as pyscal3 (the name pyscal on PyPI refers to a separate, unrelated package). After installation, both import pyscal and import pyscal3 work.

From conda-forge:

conda install -c conda-forge pyscal3

or from PyPI:

pip install pyscal3

To build from source:

git clone https://github.com/pyscal/pyscal3.git
cd pyscal3
pip install .

A C++ compiler with C++17 support is required when building from source.

Third-party code

pyscal3 includes two C++ libraries in lib/, compiled into its extension module:

  • voro++ by Chris H. Rycroft, for Voronoi tessellation.
  • matscipy-neighbours by the libAtoms developers, for the neighbour search. MIT licence, see lib/matscipy-neighbours/LICENSE.md and VENDORED.md in the same directory.

Citing the work

If you use pyscal in your work, please cite the following article:

Sarath Menon, Grisell Díaz Leines and Jutta Rogal (2019). pyscal: A python module for structural analysis of atomic environments. Journal of Open Source Software 4(43), 1824. https://doi.org/10.21105/joss.01824

Works using pyscal

For a list of publications that used pyscal, see here.

Contributing

Bug reports, questions and contributions are welcome. See Contributing.

Metadata

Release files for pyscal3 4.1.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 pyscal3 4.1.0
File Size Uploaded
pyscal3-4.1.0.tar.gz 233.3 kB Details

Built distributions (wheels)

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

Total release size: 9.5 MB

Release files / pyscal3-4.1.0.tar.gz

Download URL pyscal3-4.1.0.tar.gz
Size 233.3 kB
Tags Source
SHA-256 checksum
How to use checksums
ce79fe007835492b97b3fd01acc3479e81470715981e2a64cc86e76c61829667
BLAKE2b-256 checksum
How to use checksums
da95d3d958f39db8318cdbe6f1960a8725ba151a2807b5f11b7e544ee1fa4889
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 8, 2026.

Transparency log

Release files / pyscal3-4.1.0-cp314-cp314-win_amd64.whl

Download URL pyscal3-4.1.0-cp314-cp314-win_amd64.whl
Size 507.7 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
8368a444fcd94fa640d6cfda6bea5ab16f886b7ac2808d3c656ad0f1eaf89cef
BLAKE2b-256 checksum
How to use checksums
a145500ac161ff7d2d1215f6683f944a894e552f4c939787ff6355092e7ec881
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 8, 2026.

Transparency log

Release files / pyscal3-4.1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL pyscal3-4.1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 557.0 kB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c6df5ab5049e24898a4fc4bbbf2b6f6385c9621b0fd3589d1b888b450950be55
BLAKE2b-256 checksum
How to use checksums
429242e8b5750877e08cb552768688432334fe4a74226e1a9589762bea4bdde1
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 8, 2026.

Transparency log

Release files / pyscal3-4.1.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL pyscal3-4.1.0-cp314-cp314-macosx_11_0_arm64.whl
Size 379.6 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
647830958b06897d2219fd13a907d4a1d9a67e767b9416ca3e46274c4d27089a
BLAKE2b-256 checksum
How to use checksums
9e3d5f1bb18632e7b0798cbefa693f104c486fed4bdcf7f6f1cb63ba7a7fdaa1
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 8, 2026.

Transparency log

Release files / pyscal3-4.1.0-cp314-cp314-macosx_10_15_x86_64.whl

Download URL pyscal3-4.1.0-cp314-cp314-macosx_10_15_x86_64.whl
Size 426.2 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
1c89e5088ba15034ec70937bab1fd050f9902d7a85f3736bd1a359ac2d0b7400
BLAKE2b-256 checksum
How to use checksums
f08bc0a2af50487afd9bced0984b3b497ff3fb54c8f6a01b87775dcc379c428b
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 8, 2026.

Transparency log

Release files / pyscal3-4.1.0-cp313-cp313-win_amd64.whl

Download URL pyscal3-4.1.0-cp313-cp313-win_amd64.whl
Size 493.7 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
ef4d0e6c4e63919f86e239cb0c489f28a054639a045c62bbf25aa9fb7c85b8d4
BLAKE2b-256 checksum
How to use checksums
0d5ba910be4d233183d209a9c2a0b634a1690118d740da29cbabd805eacbef42
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 8, 2026.

Transparency log

Release files / pyscal3-4.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL pyscal3-4.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 556.9 kB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
67383ac8344f88147ec4820366b5a9d43c7c3efadf9963b7fdcc720855f3ad96
BLAKE2b-256 checksum
How to use checksums
c4bc86c59a15032a29108aea4cfc12939f83654fd60f4cf0a40f5c840981090f
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 8, 2026.

Transparency log

Release files / pyscal3-4.1.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL pyscal3-4.1.0-cp313-cp313-macosx_11_0_arm64.whl
Size 379.5 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7d4009df09d7e511d28804ad600ae865131d8594a9e1ac9ed28f13eed1940470
BLAKE2b-256 checksum
How to use checksums
fdc78578d3e9dcfd25ddcf51a240a83955f5658c3715963940fe0ba5c2bb3c5b
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 8, 2026.

Transparency log

Release files / pyscal3-4.1.0-cp313-cp313-macosx_10_13_x86_64.whl

Download URL pyscal3-4.1.0-cp313-cp313-macosx_10_13_x86_64.whl
Size 425.5 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
9e9942229b871ba9493b6a769fce6270751f4162840f51c29bbfb5a8ebf865aa
BLAKE2b-256 checksum
How to use checksums
7f04041685fc6ee32690d2a8dec74a2e2c0c1798c24b41f9f97e600485f5aef2
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 8, 2026.

Transparency log

Release files / pyscal3-4.1.0-cp312-cp312-win_amd64.whl

Download URL pyscal3-4.1.0-cp312-cp312-win_amd64.whl
Size 493.6 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
4ae8feb0f5b3c852cbffb9045b3fdc954e64b8dedcddc19089ce060cbb2b6f06
BLAKE2b-256 checksum
How to use checksums
7e0d501439dc3478ef44189596354cea93c0bafba77ac02f51922366480cab35
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 8, 2026.

Transparency log

Release files / pyscal3-4.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL pyscal3-4.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 556.8 kB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5d6a14d045c4b4688896a74ccf2698eac9f407ae9f008cf301f7ac357808d582
BLAKE2b-256 checksum
How to use checksums
3e7ed5fe6fcc78ec5887e4b314b8df1cd318f3fe11b2c13b8f292a8dfcca2f27
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 8, 2026.

Transparency log

Release files / pyscal3-4.1.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL pyscal3-4.1.0-cp312-cp312-macosx_11_0_arm64.whl
Size 379.5 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
216de27d357cf958f065b20092e819e95a6ec373722ea7a8c690add2966221aa
BLAKE2b-256 checksum
How to use checksums
265509fcb184c4608c7fffd52e8c63096fc74fd915e8b18bea94588af1fb3b53
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 8, 2026.

Transparency log

Release files / pyscal3-4.1.0-cp312-cp312-macosx_10_13_x86_64.whl

Download URL pyscal3-4.1.0-cp312-cp312-macosx_10_13_x86_64.whl
Size 425.3 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
632cc805f8a6825a76f49156de5351d9adcd2f9fbc4563e98cbf40b020cb45ec
BLAKE2b-256 checksum
How to use checksums
5bfdd79d8577f9cd87c9aa48f6dc3ab21c619236a505ebe9d65ad958e3ceb84d
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 8, 2026.

Transparency log

Release files / pyscal3-4.1.0-cp311-cp311-win_amd64.whl

Download URL pyscal3-4.1.0-cp311-cp311-win_amd64.whl
Size 489.7 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
afade555292277be6ae4fad4f1c010aefc088d70f1804fbc9c51a090924513df
BLAKE2b-256 checksum
How to use checksums
03c0f150a5c1c14e2f56559cb1e1f1ee0d452f5bd204867805b3dcdd664956dc
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 8, 2026.

Transparency log

Release files / pyscal3-4.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL pyscal3-4.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 558.7 kB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9aaf7148e146fddd4e3f4625cfeacd1c094f4b18d539c27dbbd07ebfa3823fc9
BLAKE2b-256 checksum
How to use checksums
1eebd69015fa2cf65d864bfd10ad17bd344488dd1bc50df3120b84161b5b0cbb
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 8, 2026.

Transparency log

Release files / pyscal3-4.1.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL pyscal3-4.1.0-cp311-cp311-macosx_11_0_arm64.whl
Size 377.9 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1f419fe502e0d38c291c9d9357f295a37e739f01ca711cc50d9a7fc43ee1beff
BLAKE2b-256 checksum
How to use checksums
b9c32d4d95a60625cac20824fece90242cba1d25e9db1e6e1e29c9654572b9b7
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 8, 2026.

Transparency log

Release files / pyscal3-4.1.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL pyscal3-4.1.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 422.3 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
a806e27ef200f76d650bd7e1004f6b24ab91e5e05a16dc72c32079dbf062a810
BLAKE2b-256 checksum
How to use checksums
dfdcdc456bb97c4a9ce8db9eec983bf1fa91fe232616f503cf7a289ae0eedb05
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 8, 2026.

Transparency log

Release files / pyscal3-4.1.0-cp310-cp310-win_amd64.whl

Download URL pyscal3-4.1.0-cp310-cp310-win_amd64.whl
Size 489.6 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
04958d137150f2240e39862d70dbbf0572efcf97c785f737605f227e8466b095
BLAKE2b-256 checksum
How to use checksums
ab791d13e2695cf5a3a56a2761da5cbc92f6059f945a70a21d33fe5e7372d917
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 8, 2026.

Transparency log

Release files / pyscal3-4.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL pyscal3-4.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 556.9 kB
Tags CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
34081fb7714ba3a2a9de5b7afdbb3892e92278659c583ff0cff8a17b3da0dbf6
BLAKE2b-256 checksum
How to use checksums
f416822fee7b79dd50366412c77d5d18cf355f3aca5fa83388f08e731eede534
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 8, 2026.

Transparency log

Release files / pyscal3-4.1.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL pyscal3-4.1.0-cp310-cp310-macosx_11_0_arm64.whl
Size 377.1 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a2530d0a48f8a3124cfafad8f5db0613d43feafc54038313b15306d207529216
BLAKE2b-256 checksum
How to use checksums
b8dfc0c667cd100947e918a9b3d37a2a59d1137792caaf0523070efc52e8a529
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 8, 2026.

Transparency log

Release files / pyscal3-4.1.0-cp310-cp310-macosx_10_9_x86_64.whl

Download URL pyscal3-4.1.0-cp310-cp310-macosx_10_9_x86_64.whl
Size 420.9 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
71435a7e9ddc3b43ab12f642d323121eb52b7bbb9c18c542918ac7a5c3a96e34
BLAKE2b-256 checksum
How to use checksums
7cfbf53997d7fa273822daeec9e3b11adcf03558586c57f4e0ecd12845b38b6d
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 8, 2026.

Transparency log
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