Skip to main content

🐍🌈🪨 PyOpal Stars

Cython bindings and Python interface to Opal, a SIMD-accelerated database search aligner.

Actions Coverage License PyPI Bioconda AUR Wheel Python Versions Python Implementations Source Mirror Issues Docs Changelog Downloads

🗺️ Overview

Opal is a sequence aligner enabling fast sequence similarity search using either of the Smith-Waterman, semi-global or Needleman-Wunsch algorithms. It is used part of the SW#db method[1] to align a query sequence to multiple database sequences on CPU, using the multi-sequence vectorization method described in SWIPE[2]

PyOpal is a Python module that provides bindings to Opal using Cython. It implements a user-friendly, Pythonic interface to query a database of sequences and access the search results. It interacts with the Opal interface rather than with the CLI, which has the following advantages:

  • no binary dependency: PyOpal is distributed as a Python package, so you can add it as a dependency to your project, and stop worrying about the Opal binary being present on the end-user machine.
  • no intermediate files: Everything happens in memory, in a Python object you control, so you don't have to invoke the Opal CLI using a sub-process and temporary files.
  • better portability: Opal uses SIMD to accelerate alignment scoring, but doesn't support dynamic dispatch, so it has to be compiled on the local machine to be able to use the full capabilities of the local CPU. PyOpal ships several versions of Opal instead, each compiled with different target features, and selects the best one for the local platform at runtime.
  • wider platform support: The Opal code has been backported to work on SSE2 rather than SSE4.1, allowing PyOpal to run on older x86 CPUs (all x86 CPUs support it since 2003). In addition, Armv7 and Aarch64 CPUs are also supported if they implement NEON extensions. Finally, the C++ code of Opal has been modified to compile on Windows.

🔧 Installing

PyOpal is available for all modern versions (3.6+), optionally depending on the lightweight Python package archspec for runtime CPU feature detection.

It can be installed directly from PyPI, which hosts some pre-built x86-64 wheels for Linux, MacOS, and Windows, Aarch64 wheels for Linux and MacOS, as well as the code required to compile from source with Cython:

$ pip install pyopal

Otherwise, PyOpal is also available as a Bioconda package:

$ conda install -c bioconda pyopal

Check the install page of the documentation for other ways to install PyOpal on your machine.

💡 Example

All classes are imported in the main namespace pyopal:

import pyopal

pyopal can work with sequences passed as Python strings, as well as with ASCII strings in bytes objects:

query = "MAGFLKVVQLLAKYGSKAVQWAWANKGKILDWLNAGQAIDWVVSKIKQILGIK"
database = [
    "MESILDLQELETSEEESALMAASTVSNNC",
    "MKKAVIVENKGCATCSIGAACLVDGPIPDFEIAGATGLFGLWG",
    "MAGFLKVVQILAKYGSKAVQWAWANKGKILDWINAGQAIDWVVEKIKQILGIK",
    "MTQIKVPTALIASVHGEGQHLFEPMAARCTCTTIISSSSTF",
]

If you plan to reuse the database across several queries, you can store it in a Database, which will keep sequences encoded according to an Alphabet:

database = pyopal.Database(database)

The top-level function pyopal.align can be used to align a query sequence against a database, using multithreading to process chunks of the database in parallel:

for result in pyopal.align(query, database):
    print(result.score, result.target_index, database[result.target_index])

See the API documentation for more examples, including how to use the internal API, and detailed reference of the parameters and result types.

🧶 Thread-safety

Database objects are thread safe through a C++17 read/write lock that prevents modification while the database is searched. In addition, the Aligner.align method is re-entrant and can be safely used to query the same database in parallel with different queries across different threads:

import multiprocessing.pool
import pyopal
import Bio.SeqIO

queries = [
    "MEQQIELDVLEISDLIAGAGENDDLAQVMAASCTTSSVSTSSSSSSS",
    "MTQIKVPTALIASVHGEGQHLFEPMAARCTCTTIISSSSTF",
    "MGAIAKLVAKFGWPIVKKYYKQIMQFIGEGWAINKIIDWIKKHI",
    "MGPVVVFDCMTADFLNDDPNNAELSALEMEELESWGAWDGEATS",
]

database = pyopal.Database([
    str(record.seq)
    for record in Bio.SeqIO.parse("vendor/opal/test_data/db/uniprot_sprot12071.fasta", "fasta")
])

aligner = pyopal.Aligner()
with multiprocessing.pool.ThreadPool() as pool:
    hits = dict(pool.map(lambda q: (q, aligner.align(q, database)), queries))

💭 Feedback

⚠️ Issue Tracker

Found a bug ? Have an enhancement request ? Head over to the GitHub issue tracker if you need to report or ask something. If you are filing in on a bug, please include as much information as you can about the issue, and try to recreate the same bug in a simple, easily reproducible situation.

🏗️ Contributing

Contributions are more than welcome! See CONTRIBUTING.md for more details.

📋 Changelog

This project adheres to Semantic Versioning and provides a changelog in the Keep a Changelog format.

⚖️ License

This library is provided under the MIT License. Opal is developed by Martin Šošić and is distributed under the terms of the MIT License as well. See vendor/opal/LICENSE for more information.

This project is in no way not affiliated, sponsored, or otherwise endorsed by the Opal authors. It was developed by Martin Larralde during his PhD project at the European Molecular Biology Laboratory in the Zeller team.

📚 References

Metadata

Release files for pyopal 0.7.3

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

Source distribution (sdist)

Source distribution for pyopal 0.7.3
File Size Uploaded
pyopal-0.7.3.tar.gz 2.1 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for pyopal 0.7.3
File
pyopal-0.7.3-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
pyopal-0.7.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
pyopal-0.7.3-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
pyopal-0.7.3-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
pyopal-0.7.3-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
pyopal-0.7.3-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
pyopal-0.7.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
pyopal-0.7.3-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
pyopal-0.7.3-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
pyopal-0.7.3-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
pyopal-0.7.3-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
pyopal-0.7.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
pyopal-0.7.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
pyopal-0.7.3-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
pyopal-0.7.3-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details
pyopal-0.7.3-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
pyopal-0.7.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
pyopal-0.7.3-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
pyopal-0.7.3-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
pyopal-0.7.3-cp310-cp310-macosx_10_12_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.12+ x86-64 Details
pyopal-0.7.3-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
pyopal-0.7.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
pyopal-0.7.3-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
pyopal-0.7.3-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
pyopal-0.7.3-cp39-cp39-macosx_10_12_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.12+ x86-64 Details
pyopal-0.7.3-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
pyopal-0.7.3-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
pyopal-0.7.3-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.8 CPython 3.8 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
pyopal-0.7.3-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
pyopal-0.7.3-cp38-cp38-macosx_10_12_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.12+ x86-64 Details

Total release size: 18.1 MB

Release files / pyopal-0.7.3.tar.gz

Download URL pyopal-0.7.3.tar.gz
Size 2.1 MB
Tags Source
SHA-256 checksum
How to use checksums
11a5fffc970c9ff963aeb2c3dfc57bff7c09f0ab44ef245ad2e7752a2c0715bf
BLAKE2b-256 checksum
How to use checksums
afa2748ef3fc8e532b665a0a1135f6dc0d8e4a600e60ecb3a2fd6d471bd77514
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp313-cp313-win_amd64.whl

Download URL pyopal-0.7.3-cp313-cp313-win_amd64.whl
Size 505.8 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
285d2cd30dc71b1d256db010a64f68062f211ec7a031d9c6a2ccefdef42469c4
BLAKE2b-256 checksum
How to use checksums
341a2e4c52d3f8858d57c6683944e8d413ff5cb00f690df5197f9a5e2be0d0fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyopal-0.7.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 853.5 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b3c064afb53dbb5dc0264f73aa6795004ff0201c7397737ebd8e9c29abc52a68
BLAKE2b-256 checksum
How to use checksums
d3f4bbc66ee9ff661d3048cdccc01234677dac357be69a678785b9f623c7b392
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL pyopal-0.7.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 483.7 kB
Tags CPython 3.13 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d5ebe6cf9596368e3ab8f0c8dca922cf02366416006259ad0e408d5b01d3c4e4
BLAKE2b-256 checksum
How to use checksums
e89f9a586b0e934e1c0ae64e53056c029c5c28d5dd5c2b0f9433f3ee0dabc56c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp313-cp313-macosx_11_0_arm64.whl

Download URL pyopal-0.7.3-cp313-cp313-macosx_11_0_arm64.whl
Size 287.4 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
82f3532aa63d021358011baff70bac2f3f1e17ab2ae1c0bfdcbc57a41387ee6f
BLAKE2b-256 checksum
How to use checksums
41a9876061a7ac9a500ad287ebbee4b44f7d0013bfeff82846a632b89673004b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp313-cp313-macosx_10_13_x86_64.whl

Download URL pyopal-0.7.3-cp313-cp313-macosx_10_13_x86_64.whl
Size 508.9 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
29c624a951a017768732d40113e4025d675391a276e761c5f5609a9247d6eacf
BLAKE2b-256 checksum
How to use checksums
fbe9e8b8ee25b67590f5514f426d9e1f0507dbccf5ca6889704631b19e7cb41b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp312-cp312-win_amd64.whl

Download URL pyopal-0.7.3-cp312-cp312-win_amd64.whl
Size 496.3 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
f0c7ffb33cdd1951e18ac00d6fcf66b30117d717c939b66f2ca327462994943b
BLAKE2b-256 checksum
How to use checksums
d0d76b8241be8f682823f08a52aa4eaa733fb4ce4c3343f7b5f792a938b21652
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyopal-0.7.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 857.6 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b329499b8ac0b36754a9345edfbb1d6cfc32b78cce33480a3757686fb35be609
BLAKE2b-256 checksum
How to use checksums
746bf7bf6eece7d5567166948d7805ca3ef44e80b93542a4662b66415c99bb80
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL pyopal-0.7.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 483.0 kB
Tags CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
14f4969eec81a22b721235beba4955bcfa2819f6b4e6fe13e14f5d82df075e4f
BLAKE2b-256 checksum
How to use checksums
c71a0b45975b411c2d82df6d0d38a9dfe221486df20aac139c45c7a49ce612ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp312-cp312-macosx_11_0_arm64.whl

Download URL pyopal-0.7.3-cp312-cp312-macosx_11_0_arm64.whl
Size 282.5 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
aa44773c23996615664f5db922a1ddf7cadcdcf8716580361fd8d659d6b99628
BLAKE2b-256 checksum
How to use checksums
4e3cbaa94dcd1aacf8361eeed785f79b642ff590bb4f7e47c2717a316de3539c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp312-cp312-macosx_10_13_x86_64.whl

Download URL pyopal-0.7.3-cp312-cp312-macosx_10_13_x86_64.whl
Size 504.8 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
b7de4e70fc93ed8d7481686c04bcdc74d913b5defd61ba29aecf85d732e97a7c
BLAKE2b-256 checksum
How to use checksums
a1055176631a86dc6eb2afb79fede984afad7fc73d99d2f67f7e679fdedf5835
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp311-cp311-win_amd64.whl

Download URL pyopal-0.7.3-cp311-cp311-win_amd64.whl
Size 513.0 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
870bc34fba8fe8ec8d69ab77789b13dc98dd3b56380476f0c6d6d60edaff40c4
BLAKE2b-256 checksum
How to use checksums
fbbe8b7a2354644336fa4e5afa798bf6541ef4197452a11a4e135569611d6731
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyopal-0.7.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 867.4 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
95d0a37d1a86a42ef9a66a11a8e2a4831c44512be0952b204073192f1f5a9311
BLAKE2b-256 checksum
How to use checksums
c6ac4ea22033cbb1a7d13c0b4374827a3ea782af52809e917f85efb1387d79b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL pyopal-0.7.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 502.6 kB
Tags CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
9c16db9a2d9cf226a8e02c3e6772124b8ec95ce5b3b74aef9de9594e985baa2c
BLAKE2b-256 checksum
How to use checksums
02a0e0c70df267175101a338fcc871a60c8713a7aa2d27856206606c90b179a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp311-cp311-macosx_11_0_arm64.whl

Download URL pyopal-0.7.3-cp311-cp311-macosx_11_0_arm64.whl
Size 286.2 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9278a99b237d83c6ead69d933c16bee21d17fb40c09f904a278b0f47fe8c93e6
BLAKE2b-256 checksum
How to use checksums
4e95cc23385f614cd069bd704d922a9a2cf5ea80974adfe65c437f052a58c2e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp311-cp311-macosx_10_12_x86_64.whl

Download URL pyopal-0.7.3-cp311-cp311-macosx_10_12_x86_64.whl
Size 501.5 kB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
8002140083c1daf6b256b9c4ce107795fae1d4bf0fb70c568cc5f5836c71eaf2
BLAKE2b-256 checksum
How to use checksums
d85a10c9744cc7fbc896a67965684402e09d24fdccef7cc9f0862fa50c4c8024
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp310-cp310-win_amd64.whl

Download URL pyopal-0.7.3-cp310-cp310-win_amd64.whl
Size 511.9 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
d8696368673f8a55e8c9722159c4956f3734e8333c839cb735ad03754616896d
BLAKE2b-256 checksum
How to use checksums
ef8155ffd8d59606111e5f561c2212e04a358c319703b52d6c189d416788f0a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyopal-0.7.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 864.1 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
45d6f6d2e7b44b669bee9707545ac8b3cfdaf61d30192bf273bb30d830fb208f
BLAKE2b-256 checksum
How to use checksums
cfad3beab271ae824d762ada1023bd1111031c8f78081ab30ff826825f80af83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL pyopal-0.7.3-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 501.5 kB
Tags CPython 3.10 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
e1cf94000708dd7f2773b85a5daf98a1386ab7cbc50004ae51ecb9914a712d13
BLAKE2b-256 checksum
How to use checksums
95409981b435cc6ec988bf0ee433c0944d4ad432e8ef5f0bc74966d19e411244
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp310-cp310-macosx_11_0_arm64.whl

Download URL pyopal-0.7.3-cp310-cp310-macosx_11_0_arm64.whl
Size 284.9 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
30e3770bfa474642f863c26338f5189fd59cccb2279251296a782d75b0345b28
BLAKE2b-256 checksum
How to use checksums
3a98947a7000900da321baf17ffab2d66d5c81c80a5d9b94406d4c0f74af4065
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp310-cp310-macosx_10_12_x86_64.whl

Download URL pyopal-0.7.3-cp310-cp310-macosx_10_12_x86_64.whl
Size 498.7 kB
Tags CPython 3.10 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
dae2495ea47d3ca5edf09328d28fd44458759c9dac61320904465dcdd9abf653
BLAKE2b-256 checksum
How to use checksums
da1b3e3b67239c1c8611ba7a67915ca41f4c8c8c7983332aaef12b2041f3eae7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp39-cp39-win_amd64.whl

Download URL pyopal-0.7.3-cp39-cp39-win_amd64.whl
Size 505.8 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
65698d87292873cd2d8ed47acd7fdc831a514452c2880980220687e050934b88
BLAKE2b-256 checksum
How to use checksums
88402690b4e0037168c6facf7a2c6680f0bbd759a91ccd7d8ed8ed05594befce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyopal-0.7.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 866.3 kB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c655a1760fe8fcc430d2527d8c740fe82c706e745cedf095b9247420d92ace1f
BLAKE2b-256 checksum
How to use checksums
3c6683ab76016445ec2ad2aa55afe701069d2ffc935f723437c3c255cf811323
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL pyopal-0.7.3-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 501.5 kB
Tags CPython 3.9 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
b385d4f14b4367be717fa71458cdbf6c3ce933a8c246e786f1942f6de5dc4fdf
BLAKE2b-256 checksum
How to use checksums
b90a2905604a48646a2a5417443e3d62d8f015b6543253f40dcbfc85c16ddf24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp39-cp39-macosx_11_0_arm64.whl

Download URL pyopal-0.7.3-cp39-cp39-macosx_11_0_arm64.whl
Size 285.8 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
05f2d41a0b141812e214b4731693ffec2661cfe6e721c6f713e8d7033b1a3185
BLAKE2b-256 checksum
How to use checksums
a6f148606b6ebc38ce8a5c461ed43c484f85b5d596b77c277f4ba8bbe52a6b21
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp39-cp39-macosx_10_12_x86_64.whl

Download URL pyopal-0.7.3-cp39-cp39-macosx_10_12_x86_64.whl
Size 500.9 kB
Tags CPython 3.9 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
120eb8049fbdf53f1e22059c023fe32ec5dace6acdcf554ab3bdbc670e0c404d
BLAKE2b-256 checksum
How to use checksums
0739c75b791840b1d0d339a05be12bd0be41b99603dfb20e014beb261630d01a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp38-cp38-win_amd64.whl

Download URL pyopal-0.7.3-cp38-cp38-win_amd64.whl
Size 508.6 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
04c98cee3340532cc7a780d0a4e87c290f03f7240122c4d3ad7e7ceee05a4f86
BLAKE2b-256 checksum
How to use checksums
8f11148aa4675de37b553ab0f50b4faeb05a72d571dea8d4649f25548eff0f5a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyopal-0.7.3-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 869.5 kB
Tags CPython 3.8 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
eb3b2fcd3a0875033047baf7f17776e77996c2112cd654615207fcc21d381e75
BLAKE2b-256 checksum
How to use checksums
0c547e18b4837ee9ad9e78973d1ec9b1301e0614c7d5e58667cf7786db28258d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL pyopal-0.7.3-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 504.4 kB
Tags CPython 3.8 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
ca563813d8e4e534f15bb328e00a64255a4edd3a0b7906154d947b35c28b428c
BLAKE2b-256 checksum
How to use checksums
f363b3fedfb829701ac60e1288d38a0af8a896dbb545a04865eb839f7733830a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp38-cp38-macosx_11_0_arm64.whl

Download URL pyopal-0.7.3-cp38-cp38-macosx_11_0_arm64.whl
Size 287.4 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a4c036637a4acd2c92aa810d5283947a512a03579204da3178a090de00e51d6e
BLAKE2b-256 checksum
How to use checksums
08256330ad9996f89b3fcccaa39781da8eeb03414c9c489f38ceae73bdca2a05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

Transparency log

Release files / pyopal-0.7.3-cp38-cp38-macosx_10_12_x86_64.whl

Download URL pyopal-0.7.3-cp38-cp38-macosx_10_12_x86_64.whl
Size 504.7 kB
Tags CPython 3.8 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
c647ac2ee35655a60fa839225a63dbaeefcacb55f27391fd18a4f5a05b579718
BLAKE2b-256 checksum
How to use checksums
99777ffd74dd9b9b8950957573b778faff65d241d3052a6d1bf1eba8cc561300
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 7, 2025.

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