Skip to main content

otswap

otswap reconstructs the Lagrangian displacement field of a catalogue of large-scale structure tracers, such as galaxies, quasars or dark matter haloes, by discrete optimal transport. Each tracer is paired one to one with a point drawn from a random catalogue that samples the same volume uniformly, standing for the homogeneous initial conditions, so that the sum of squared comoving distances between paired points is minimal. The pairing starts from a local first guess, which matches each tracer to a nearby free random, and is then refined by sweeps of local swaps: for four neighbouring tracers, all 24 permutations of their partners are tried and the cheapest is kept, until the fraction of successful swaps in a sweep no longer exceeds a chosen threshold.

The reconstruction is repeated on independent sets of N points extracted from the random catalogue. A tracer's displacement is the mean, over these realizations, of the vector from the tracer to its partner. As the number of realizations grows, the mean Lagrangian position tends to the centroid of the equal-volume Laguerre cell that optimal transport assigns to the tracer: the Lagrangian volume from which the observed object has evolved.

otswap is built for survey data as much as for simulations. It handles boxes and lightcones; in a lightcone the footprint enters through a HEALPix mask and through a random catalogue reproducing the selection function, with an optional redshift cut, and displacements crossing unobserved regions are rejected. From the reconstructed displacements it corrects the catalogue for redshift-space distortions, given a fiducial cosmology and a bias b(z), and it writes its results as ASCII or FITS tables. Results are identical bit for bit on every supported platform and compiler, whatever the number of threads (see Reproducibility). C++17, with a Python package on the same code.

It is the middle of three packages: it depends on meshsearch for its neighbour searches, and the Back-in-time Void Finder will be built on it. Extracted from CosmoBolognaLib, it depends on nothing from it.

Documentation, for both APIs: https://simosartori.github.io/otswap/

Install

pip install otswap

Wheels are built for CPython 3.10 to 3.14, on Linux (x86_64, aarch64) and macOS (x86_64, arm64). From a clone, pip install . builds the package from source, with the requirements below.

Build from source

Needs CMake 3.16 or later, GCC or Clang (C, and C++17) and cfitsio; OpenMP when found. meshsearch 0.2.1 or a later 0.2.x is used when installed, and 0.2.1 is fetched from GitHub otherwise.

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build --prefix /path/to/prefix

This installs the library, its headers and CMake package, and the otswap executable, bin/otswap (see "The executable" in the documentation).

Set CFITSIO_ROOT (and ZLIB_ROOT for a static cfitsio) where cfitsio is not in a system path. The options:

  • OTSWAP_BUILD_TESTS: the C++ test suite, on when otswap is the top-level project;
  • OTSWAP_BUILD_PYTHON: the Python extension, off (pip install . sets it);
  • OTSWAP_INSTALL: the install rules;
  • OTSWAP_BUILD_EXECUTABLE: the otswap executable, installed into bin/, on when otswap is the top-level project;
  • OTSWAP_MESHSEARCH_REPOSITORY, OTSWAP_MESHSEARCH_TAG: where meshsearch is fetched from, when it is not installed; the repository may be a local path.

Using it from CMake

find_package(otswap 0.2 CONFIG REQUIRED)
target_link_libraries(your_target PRIVATE otswap::otswap)

Configure your project with -DCMAKE_PREFIX_PATH=/path/to/prefix. otswap can also be built as part of your project, with add_subdirectory or FetchContent, and the same target.

Reproducibility

With a fixed seed, a reconstruction gives the same result whatever the number of threads, bit for bit. The seed 0 draws one, and the seed used is recorded in the result, so any run can be repeated. Every translation unit is compiled with -ffp-contract=off, and the math functions the results depend on come from a vendored copy of FreeBSD's msun rather than the platform's library, so the same inputs give the same bits on every supported platform and compiler.

Tests

ctest --test-dir build
OTSWAP_CPP_REFERENCE=build/cpp_reference pytest tests/

The Python tests run against the installed package; those comparing it with the C++ library need the cpp_reference program of the C++ build, and are skipped without it.

Example

import otswap

tracers = otswap.io.read("tracers.dat", [0, 1, 2]).values   # (N, 3), Mpc/h

result = otswap.reconstruct_box(tracers, config=otswap.Config(n_realizations=8, seed=12345))
print(result.mean_displacement[:3])

otswap.io.write_displacement_mean("displacements.dat", result)

examples/ holds four examples, each in C++ and in Python, with the data to run them: box and lightcone reconstructions, and the redshift-space correction in each geometry. The documentation walks through them. examples/executable/ holds a commented parameter file per geometry for the otswap executable, which runs a reconstruction and the correction with no code to write:

otswap examples/executable/box.ini

Python

Coordinates are NumPy arrays of shape (N, 3). Cartesian coordinates are in Mpc/h; sky coordinates are ordered right ascension, declination, redshift, with the angular unit given explicitly by angle_unit. Inputs are converted to float64; the reconstruction works on its own copy of them. The number of threads follows OMP_NUM_THREADS, and the reconstruction functions release the GIL while they run. Tables are read and written by otswap.io.

Citing

Please cite Sartori et al. 2026, arXiv:2601.15378, and CosmoBolognaLib, Marulli, Veropalumbo & Moresco 2016, Astronomy and Computing, 14, 35. CITATION.cff has the details.

Licence

GPL-2.0-or-later; see LICENSE. Vendored code keeps its own terms:

  • extern/fdlibm: FreeBSD msun, under the Sun Microsystems notice in each file, a permissive licence (see its README);
  • extern/healpix: HEALPix 3.82, GPL-2.0-or-later, built only with the tests.

The example data in examples/data are not covered by this licence: they may be redistributed unchanged with the examples and used only to run them (see examples/data/README.md).

Metadata

Release files for otswap 0.2.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 otswap 0.2.0
File Size Uploaded Provenance
otswap-0.2.0.tar.gz 708.9 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for otswap 0.2.0
File
otswap-0.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
otswap-0.2.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
otswap-0.2.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
otswap-0.2.0-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
otswap-0.2.0-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
otswap-0.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
otswap-0.2.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
otswap-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
otswap-0.2.0-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
otswap-0.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
otswap-0.2.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
otswap-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
otswap-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
otswap-0.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
otswap-0.2.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
otswap-0.2.0-cp311-cp311-macosx_10_13_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.13+ x86-64 Details
otswap-0.2.0-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
otswap-0.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
otswap-0.2.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
otswap-0.2.0-cp310-cp310-macosx_10_13_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.13+ x86-64 Details

Total release size: 25.0 MB

Release files / otswap-0.2.0.tar.gz

Download URL otswap-0.2.0.tar.gz
Size 708.9 kB
Tags Source
SHA-256 checksum
How to use checksums
11496384771700cc49e644748033e4336db5adfabe65b93c0cb40ac0de8de48a
BLAKE2b-256 checksum
How to use checksums
01be18640d273f9aa270f9a3184b836bb8f055141c1a506b228bcf1fa5cd12fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Release files / otswap-0.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL otswap-0.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.2 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
53dd3e2377a9c673cc0306f8593bd1f9db0e98ae75c16fb6ddc534ea78d6cbba
BLAKE2b-256 checksum
How to use checksums
cb31e5b43213a152b71f303a224131d4cad2f1213d08a8c22539b51909b72913
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Release files / otswap-0.2.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL otswap-0.2.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 1.1 MB
Tags CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
69f10d411abeb20ea3dc3201c3616f753bff40ddbe532c4b6c4c749bcbded25b
BLAKE2b-256 checksum
How to use checksums
57aad6c60e63e563ecc8c1e2aa93760f0a3046ed8add1cac64ee1d9e18e4a9fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Release files / otswap-0.2.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL otswap-0.2.0-cp314-cp314-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c645bd150f0c185c0c0bdb1ced7f6965a39e737fc2c88910052c80f3335e2f08
BLAKE2b-256 checksum
How to use checksums
ede718bfa4503176b8a849648a9d158bf6c0acf80c1408d4747d4558487cfa05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Release files / otswap-0.2.0-cp314-cp314-macosx_10_15_x86_64.whl

Download URL otswap-0.2.0-cp314-cp314-macosx_10_15_x86_64.whl
Size 1.3 MB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
0525f315d1b88c2fa39236d8bfed68c2a0a9ff53ad82585f81e50cf1addcc3b4
BLAKE2b-256 checksum
How to use checksums
ad09403400f27b0d8e992ff18cc3f7f9c0be5572d62c751d6e6bc4a47c86a770
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Release files / otswap-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL otswap-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.2 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0b52f4f4c62362533b28d9b371cf6dcdffabab139e7f195bed39b6a3394f6f6b
BLAKE2b-256 checksum
How to use checksums
9dcde94bec263e6b584f9d74ce143abf9b3059c764a9921a386eb994163d4f81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Release files / otswap-0.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL otswap-0.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 1.1 MB
Tags CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
fbc865e0aaf043c51376473569ad1a84f4e2ced5452cc43cf921903b70579a71
BLAKE2b-256 checksum
How to use checksums
86cbfcb06a7aa9cecfc28464f4207c144a1639ce63570a3ad06aecb6e95a8c1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Release files / otswap-0.2.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL otswap-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a7a8e1545a69e3aad9ad03a321c3b1f2e89a9a209e3e428caa08dae409d4a590
BLAKE2b-256 checksum
How to use checksums
c7eb1159e080159a08511cc54055f712adbdb5cf35bd5b24003c32aeaaf20732
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Release files / otswap-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl

Download URL otswap-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl
Size 1.3 MB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
8e6392b9121627ae8be93bcb9c5755b65dbf45b60f3897412f51b515626fd626
BLAKE2b-256 checksum
How to use checksums
7a976066fefba23cbf8010dcfd69e16c5e03d2b029eae706497c3da73a2178f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Release files / otswap-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL otswap-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.2 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
82d38a3cc0ec5b15bb1945bdd040eac671bc8ebf868852dbe9d2f9650a5db0bb
BLAKE2b-256 checksum
How to use checksums
3874b4fea2985a4989c9fee283a762fb16f80cfb4b554b2362bcb8db927f25ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Release files / otswap-0.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL otswap-0.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 1.1 MB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
db221472efdc8cdbc2b1d7a2315d849721be1b6c67e6b21464a8f2d0cad12c2f
BLAKE2b-256 checksum
How to use checksums
846fa07f75e4413d34e597314735a70e6e8dcf53622e14a8d9e6b3e719a6a139
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Release files / otswap-0.2.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL otswap-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9a931aba045e01d05a1ae6613f5711ad3efd314476f5fa7985ca0c9dfbb5da97
BLAKE2b-256 checksum
How to use checksums
620438b0417ddae9c9a5ae72f4cc6f617a62782657c6c2e0b9505e54b9fee167
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Release files / otswap-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl

Download URL otswap-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl
Size 1.3 MB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
8af43363506a1762653e2d4cf658aa406724e0f15aacc4d2e2860eead5189bc3
BLAKE2b-256 checksum
How to use checksums
de15c51fe6dca373ce520c2a15b140d87d592bd11f4ee267b5d25c25e543d353
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Release files / otswap-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL otswap-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.2 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
941e61d18c9ed725d2bab97bae5e349023ad943b099650d9cfda0b9946470d61
BLAKE2b-256 checksum
How to use checksums
2e0f9b12f73ff5c0dd055f7cdf0aebc858632d0023a6c911bc2ac175929fa015
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Release files / otswap-0.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL otswap-0.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 1.1 MB
Tags CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
96f4f98b10783a89803bf49f77653243ccb46308c73258d24db9fd8d2054353f
BLAKE2b-256 checksum
How to use checksums
150eb9544b6b734cb824f33baa821eb6a9cabc6464530459ddfaf38f4dcd69e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Release files / otswap-0.2.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL otswap-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e124a7db36a6d2668df9682ff3a8b0a93854bd8b644b75ad8895c0c7af294cf7
BLAKE2b-256 checksum
How to use checksums
0be4aa2d49c04569f071b2c4fdc9355fd2d2eededc4ce24b6a16ed1c899bb29c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Release files / otswap-0.2.0-cp311-cp311-macosx_10_13_x86_64.whl

Download URL otswap-0.2.0-cp311-cp311-macosx_10_13_x86_64.whl
Size 1.3 MB
Tags CPython 3.11 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
5c2c0bc022e20917da81b1d60a19c4410d77df7e85de8a3676da387318f1cb11
BLAKE2b-256 checksum
How to use checksums
7945cf38e5bcbaa57d2ceea7795576535b9006aab07ff8e71bef4cadb08f7133
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Release files / otswap-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL otswap-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.2 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
da37f7251478973b1a1ae7ef0a01848baf1fa93ca6c442df1d60582901aac551
BLAKE2b-256 checksum
How to use checksums
a706fd56df841267528a2010d3652711a03a9cfe41c52518adf6f5acd2b21879
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Release files / otswap-0.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL otswap-0.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 1.1 MB
Tags CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
ef6c0ec77fd461852df3855eb02e5da1a97675ac150fcef408a342c43c79a625
BLAKE2b-256 checksum
How to use checksums
09ac4a1352e3aaec5a1896ab7b8017eef4c982ecb93d2b102212de63e4ff356f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Release files / otswap-0.2.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL otswap-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2fb5db3d8a09fc26d26b154c03f0bc48f5722b77f03968c152f59a81c2469877
BLAKE2b-256 checksum
How to use checksums
1654b8d8cada3d5039273c159f8fe66a6d6986c56542c02d8b846f5f57e4a069
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Release files / otswap-0.2.0-cp310-cp310-macosx_10_13_x86_64.whl

Download URL otswap-0.2.0-cp310-cp310-macosx_10_13_x86_64.whl
Size 1.3 MB
Tags CPython 3.10 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
1ecd00c34adee2b54d107d79d6ec70c8d72d2783c583473aaa9c181fb9de6631
BLAKE2b-256 checksum
How to use checksums
404217fc05a34dd8e1dd93eea427e647d024a3afc29294bed97a4c1a23903785
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Security for otswap 0.2.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 otswap-0.2.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 22, 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

0.2.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