Skip to main content

OTLiNGAM logo

OT-LiNGAM

Optimal Transport LiNGAM.
Scikit-learn-compatible causal discovery for linear non-Gaussian systems.

Documentation · PyPI

PyPI version Supported Python versions: 3.11–3.14 Lint status Coverage Documentation status License

otlingam is a Python package for causal discovery in linear non-Gaussian structural equation models. It learns causal orders by maximizing the Wasserstein non-Gaussianity of standardized regression residuals and estimates edge weights with adaptive Lasso.


✨ Features

  • Exhaustive causal-order learning: ExhaustiveOTLiNGAM uses subset dynamic programming to find a globally optimal order.
  • Scalable greedy learning: GreedyOTLiNGAM constructs an order by sequentially selecting the most non-Gaussian residual.
  • Optimal transport ICA: OTICALiNGAM uses OTICA with FastICA initialization in the classical ICA-LiNGAM pipeline.
  • Exact empirical criterion: Computes one-dimensional Wasserstein scores directly from ordered residuals and Gaussian quantiles.
  • LiNGAM integration: Exposes causal orders and weighted adjacency matrices through the established LiNGAM estimator API.
  • scikit-learn integration: Native BaseEstimator integration with familiar fit, get_params, set_params, and clone support.

The exhaustive estimator uses djbsort for double-precision residual sorting and Google Highway for SIMD kernels. Both projects are tracked as Git submodules; the sorter selects a portable fallback or the CPU's AVX2/NEON implementation at runtime.


⚡ Method

The estimators assume the linear structural equation model

$$ X_j = \sum_{k \in \mathrm{Pa}(j)} B_{jk} X_k + \varepsilon_j, $$

where the graph is acyclic and the structural noises are mutually independent, centered, and have finite nonzero variances. Causal-order identification additionally requires at most one Gaussian structural noise.

For a candidate order $\sigma$, let $R_j(\sigma)$ be the population residual obtained by regressing $X_j$ on its predecessors under $\sigma$. The oracle Wasserstein order objective is

$$ G(\sigma) = \sum_{j = 1}^{d} \mathcal{W}_2\left( \mathrm{std}(R_j(\sigma)), \mathcal{N}(0, 1) \right)^2. $$

Given $n$ observations, let $\widehat{R}_j^{(i)}(\sigma)$ be the ordinary least-squares residual for observation $i$. OTLiNGAM maximizes the empirical order objective

$$ \widehat{G}n(\sigma) = \sum{j = 1}^{d} \mathcal{W}2\left( \mathrm{std}\left( \frac{1}{n} \sum{i = 1}^{n} \delta_{\widehat{R}_j^{(i)}(\sigma)} \right), \mathcal{N}(0, 1) \right)^2. $$

At the population level, the maximizers of $G$ are exactly the topological orders under the stated assumptions. A topological order exposes the independent structural noises as regression residuals, whereas an incorrect order may mix several noises and reduce the total objective. Each empirical one-dimensional Wasserstein distance is evaluated exactly by sorting the standardized residuals and comparing them with the Gaussian reference quantiles.


🚀 Installation

python -m pip install otlingam

🔧 Usage

Example

The following example simulates a linear non-Gaussian structural equation model, learns a causal order with GreedyOTLiNGAM, and compares the true and estimated weighted adjacency matrices.

import matplotlib.pyplot as plt
import numpy as np
from otlingam import GreedyOTLiNGAM, disorder

rng = np.random.default_rng(42)
n_samples = 5000
adjacency_matrix = np.array(
    [
        [0.0, 0.0, 0.0, 0.0, 0.0],
        [0.8, 0.0, 0.0, 0.0, 0.0],
        [0.0, -0.7, 0.0, 0.0, 0.0],
        [0.5, 0.0, 0.9, 0.0, 0.0],
        [0.0, -0.6, 0.0, 0.7, 0.0],
    ]
)
noise = rng.uniform(-1.0, 1.0, size=(n_samples, 5))
X = noise @ np.linalg.inv(np.eye(5) - adjacency_matrix).T

model = GreedyOTLiNGAM().fit(X)

print("Estimated causal order:", model.causal_order_)
print("Disorder:", disorder(model.causal_order_, adjacency_matrix))

fig, axes = plt.subplots(1, 2, figsize=(10, 4), layout="constrained")
matrices = (adjacency_matrix, model.adjacency_matrix_)
titles = ("True adjacency matrix", "Estimated adjacency matrix")
for ax, matrix, title in zip(axes, matrices, titles, strict=True):
    image = ax.imshow(matrix, cmap="RdBu_r", vmin=-1.0, vmax=1.0)
    ax.set_title(title)
    ax.set_xlabel("Parent")
    ax.set_ylabel("Child")
fig.colorbar(image, ax=axes, label="Edge weight")

plt.show()

ExhaustiveOTLiNGAM provides global order optimization at an exponential cost in the number of variables. GreedyOTLiNGAM provides a quadratic-time alternative. Set fit_intercept=False when the observations are already centered. The default fit_intercept=True centers the data and exposes the fitted intercepts through intercept_.


📊 Reproducing Results

Clone the repository, create and activate a virtual environment, then install the exact package versions used for the paper:

python -m pip install -r scripts/requirements.txt

Keep the repository folder layout unchanged: do not move, rename, or flatten its folders, because the experiment scripts resolve paths relative to their file locations.

Run the experiment scripts from the repository root:

python scripts/statistical-performance.py --nd
python scripts/statistical-performance.py --heterogeneity
python scripts/statistical-performance.py --k
python scripts/runtime-scaling.py

Alternatively, run all experiments sequentially on Windows, Linux, or macOS:

python run-all.py

The runner uses the active Python interpreter and stops if an experiment fails.

These commands write varying-nd-disorder.pdf, noise-heterogeneity-disorder.pdf, varying-k-performance.pdf, and runtime-scaling.pdf to figures/. The paper settings (including random seed 42, sample sizes, dimensions, graph configurations, and run counts) are defined as constants near the top of each script.

Release files for otlingam 0.5.11

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

Built distributions (wheels)

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

Total release size: 11.2 MB

Release files / otlingam-0.5.11-cp314-cp314-win_arm64.whl

Download URL otlingam-0.5.11-cp314-cp314-win_arm64.whl
Size 685.8 kB
Tags CPython 3.14 Windows ARM64
SHA-256 checksum
How to use checksums
c23c63eb393b89cfc13976c1f0a9b41b1d79ac03cb3307b5addd8e7b12b2330d
BLAKE2b-256 checksum
How to use checksums
e42f44cbd5ba5f060fd376570c53ed2af02446cb7fb0fa87e00b351fb4e651e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / otlingam-0.5.11-cp314-cp314-win_amd64.whl

Download URL otlingam-0.5.11-cp314-cp314-win_amd64.whl
Size 1.3 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
09830fe810a0ce0b8870c913753c76573a5dc7370b9d181b8d96a5d9c36d60d4
BLAKE2b-256 checksum
How to use checksums
8ad85412a910b747bbb360b601515f90c1158607499bac69f327bd4e7ca26661
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / otlingam-0.5.11-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl

Download URL otlingam-0.5.11-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Size 263.7 kB
Tags CPython 3.14 Linux glibc 2.26+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4c17fd140ce9fdb3deb642f6a504748407c73f658782268e92fb071e5e7b0129
BLAKE2b-256 checksum
How to use checksums
879cafd7a7e1f9adad13fcf0dc69ed6dfede9dae5ff81f325f0ace357f917d44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / otlingam-0.5.11-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL otlingam-0.5.11-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 211.2 kB
Tags CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
554d344045e8d72628bb7c39c95af2ec7eaee04a71fda0bce51d44cb6df8eee2
BLAKE2b-256 checksum
How to use checksums
c2a2d818d5837630c09ee485c60d64262f703b04a23bca868f83cf2debda9765
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / otlingam-0.5.11-cp314-cp314-macosx_11_0_arm64.whl

Download URL otlingam-0.5.11-cp314-cp314-macosx_11_0_arm64.whl
Size 155.5 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
22d8602812313acacbeb05d34399c3ca1c5c960291ce910cd349d853131ff918
BLAKE2b-256 checksum
How to use checksums
782441f5af9ad31f02cdd398e6a63431b212681316ba5ba13442627bfbdacdbf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / otlingam-0.5.11-cp314-cp314-macosx_10_15_x86_64.whl

Download URL otlingam-0.5.11-cp314-cp314-macosx_10_15_x86_64.whl
Size 203.2 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
c34bab16cbbb80487cbeb665d3c67063b6309bd17d6327083bda8ea79d31f56d
BLAKE2b-256 checksum
How to use checksums
f29cec899149b7157d21e6b2596a842f54c2cae7863b9d4fe2b890c7319b9b19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / otlingam-0.5.11-cp313-cp313-win_arm64.whl

Download URL otlingam-0.5.11-cp313-cp313-win_arm64.whl
Size 663.7 kB
Tags CPython 3.13 Windows ARM64
SHA-256 checksum
How to use checksums
9b82f003b00bb75e602a96d502385b8b5c12161c65aa1f523dddeb514dcafead
BLAKE2b-256 checksum
How to use checksums
85017bf976e4c905ba30b6061a81ea3597ca6084e04205d73219aa0bd065cf9d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / otlingam-0.5.11-cp313-cp313-win_amd64.whl

Download URL otlingam-0.5.11-cp313-cp313-win_amd64.whl
Size 1.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
517afa8263662a6e3f7b2cfad649611dc88d365bc4e0a748f11bf5c827b70a12
BLAKE2b-256 checksum
How to use checksums
007c1b6f8d0683700d5f43ec63848041b8d9f1f3e0fa13e4bf60d31792c9ac45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / otlingam-0.5.11-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl

Download URL otlingam-0.5.11-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Size 263.6 kB
Tags CPython 3.13 Linux glibc 2.26+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
50ca138b3f7f919558e3c377c5fde0e272d6936955c5b9ad6b68d01afabb9161
BLAKE2b-256 checksum
How to use checksums
316586254f572a0ad9feaec445dffa1df329bfad3d29e541cb17e97e6c7cd084
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / otlingam-0.5.11-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL otlingam-0.5.11-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 210.9 kB
Tags CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
74f35e0a7d01e53c7dc2af7586ba425d592f412e8542290d19e421c8e29ef15a
BLAKE2b-256 checksum
How to use checksums
eac83f7c3d7b30959c80b3d6f0b957f6edc8650c2e01f0b8dcaca77b7a77f442
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / otlingam-0.5.11-cp313-cp313-macosx_11_0_arm64.whl

Download URL otlingam-0.5.11-cp313-cp313-macosx_11_0_arm64.whl
Size 155.4 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a461aef8d6fcf8dc324529c0a83408633082db87ab4974c684518182d54064c9
BLAKE2b-256 checksum
How to use checksums
6f3e1f426f4e9e7d6ac03efc92bc0d44df0e2fcfeb3946603bacff468139f022
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / otlingam-0.5.11-cp313-cp313-macosx_10_13_x86_64.whl

Download URL otlingam-0.5.11-cp313-cp313-macosx_10_13_x86_64.whl
Size 203.2 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
a6c851b5defc6d467f3f7c5a98ac635ea1dcbce62ef753a7c3a04a136b6db85f
BLAKE2b-256 checksum
How to use checksums
6b99d8432d8729789276f4a873e40c9abe0c0d3581a227c6cf8578e6447dfc1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / otlingam-0.5.11-cp312-cp312-win_arm64.whl

Download URL otlingam-0.5.11-cp312-cp312-win_arm64.whl
Size 663.5 kB
Tags CPython 3.12 Windows ARM64
SHA-256 checksum
How to use checksums
56433b1f18345cbe7750073bcddd2e2954564acd53f88ab7041509bd1e271ab0
BLAKE2b-256 checksum
How to use checksums
5b1dbc4f0bc34f12808f5bbb56e6ba83e29aa2b4b4806a4050dcb1812a47b8db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / otlingam-0.5.11-cp312-cp312-win_amd64.whl

Download URL otlingam-0.5.11-cp312-cp312-win_amd64.whl
Size 1.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
a7000f4a5365e8093589ca349a0c767744961d69d289556e0c1d2ea5194c885c
BLAKE2b-256 checksum
How to use checksums
edf9f31138411115e1e1a4787b5b2eede095a6d8e261e87084e3e5275e1ee23d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / otlingam-0.5.11-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl

Download URL otlingam-0.5.11-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Size 263.7 kB
Tags CPython 3.12 Linux glibc 2.26+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3a734b34b678662628d628a0ee073fe312182a20cce19d8787662a26be416306
BLAKE2b-256 checksum
How to use checksums
5611c94afc06602c53384add5536c661b0bef06ddaf3b6775b712448b7252c88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / otlingam-0.5.11-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL otlingam-0.5.11-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 210.9 kB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
f522aac5c68082760361693f31334ccfd21c212e89ded325ab084bd71741eef1
BLAKE2b-256 checksum
How to use checksums
b257d12efca2aeb6e11f101a2ee2e708b8dddc9965f6a37d3859dbecbe0d786a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / otlingam-0.5.11-cp312-cp312-macosx_11_0_arm64.whl

Download URL otlingam-0.5.11-cp312-cp312-macosx_11_0_arm64.whl
Size 155.4 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ad7dcbcfb2f5148201d1b52d245a790e62896f67552b0016a557090b50ffc349
BLAKE2b-256 checksum
How to use checksums
78be3c90bbb7fca4de861fec0ddb8fa46091db6609e762ca914e04b0f329b306
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / otlingam-0.5.11-cp312-cp312-macosx_10_13_x86_64.whl

Download URL otlingam-0.5.11-cp312-cp312-macosx_10_13_x86_64.whl
Size 203.1 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
4f846d91dccc934a70a82a2596b7d8c27725ad5cc49fdc5b58bbe687d8c121e1
BLAKE2b-256 checksum
How to use checksums
b495d7662c7a29eda8aeb550bfe25700bfef966bc5bfe9fa187c0d098f8bc3de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / otlingam-0.5.11-cp311-cp311-win_arm64.whl

Download URL otlingam-0.5.11-cp311-cp311-win_arm64.whl
Size 662.0 kB
Tags CPython 3.11 Windows ARM64
SHA-256 checksum
How to use checksums
e40d6d8d96283423ac01127c01d6e3412e3a283596f5a81dce3298f08b1a8b0b
BLAKE2b-256 checksum
How to use checksums
646673b4cbcace9a1313bfb22bc3144a88c1a91b3d2e104f62ec57549bd89a96
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / otlingam-0.5.11-cp311-cp311-win_amd64.whl

Download URL otlingam-0.5.11-cp311-cp311-win_amd64.whl
Size 1.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
779a48c368033b73840b81a7e5f03025481a0603705cd4fa4546d01926b972fc
BLAKE2b-256 checksum
How to use checksums
659b67bfd6a667fe35f257a74cad0ee1516931197f6f89a8fc6b9feabe53129f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / otlingam-0.5.11-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl

Download URL otlingam-0.5.11-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Size 261.6 kB
Tags CPython 3.11 Linux glibc 2.26+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e965b8de81a77b4426e75f00c067240c58f03119d6d043be3a68d66747d2bd16
BLAKE2b-256 checksum
How to use checksums
820a6ea80e56644e510d9fb5c2d9da93b9575aa8b85b3569e8e535669a30ceaa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / otlingam-0.5.11-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL otlingam-0.5.11-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 209.5 kB
Tags CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
bfe841be9efd180ebcdf50fdc3e4e599f9caa1d1cd568ba8ae49a00f2fdb2bdd
BLAKE2b-256 checksum
How to use checksums
c54d09f867c1a7223787c41625c26fe0a553bb0248b3ab216ddd7943823150c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / otlingam-0.5.11-cp311-cp311-macosx_11_0_arm64.whl

Download URL otlingam-0.5.11-cp311-cp311-macosx_11_0_arm64.whl
Size 153.2 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
dcc344ba58ccfce49524e51404e3963c8cd394a65e3f8981d51604fa29de3b9c
BLAKE2b-256 checksum
How to use checksums
c9b07e02fca5b44073a3b69a84ff4e18a1da5ec28ffcfe443bbc47898f3c911a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / otlingam-0.5.11-cp311-cp311-macosx_10_9_x86_64.whl

Download URL otlingam-0.5.11-cp311-cp311-macosx_10_9_x86_64.whl
Size 203.4 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
ac3e816abb0e0599ee2383a41242323b07d8854df066d100868d997234f5dd8e
BLAKE2b-256 checksum
How to use checksums
cab887bcda3c616df8212c791a6450839d0750caede5629d5b61bb065e6d5edd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

0.6.0

29 release files

This release

0.5.11 This release

24 release files

0.5.8

24 release files

0.5.3

30 release files

0.5.2

30 release files

0.5.1

30 release files

0.5.0

30 release files

0.4.3

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

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