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.

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

Metadata

Release files for otlingam 0.5.3

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.3
File
otlingam-0.5.3-cp314-cp314t-win_arm64.whl CPython 3.14 CPython 3.14 free-threading Windows ARM64 Details
otlingam-0.5.3-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
otlingam-0.5.3-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.26+ x86-64, Linux glibc 2.28+ x86-64 Details
otlingam-0.5.3-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
otlingam-0.5.3-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
otlingam-0.5.3-cp314-cp314t-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64 Details
otlingam-0.5.3-cp314-cp314-win_arm64.whl CPython 3.14 CPython 3.14 Windows ARM64 Details
otlingam-0.5.3-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
otlingam-0.5.3-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.3-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.3-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
otlingam-0.5.3-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
otlingam-0.5.3-cp313-cp313-win_arm64.whl CPython 3.13 CPython 3.13 Windows ARM64 Details
otlingam-0.5.3-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
otlingam-0.5.3-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.26+ x86-64 Details
otlingam-0.5.3-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.3-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
otlingam-0.5.3-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
otlingam-0.5.3-cp312-cp312-win_arm64.whl CPython 3.12 CPython 3.12 Windows ARM64 Details
otlingam-0.5.3-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
otlingam-0.5.3-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.26+ x86-64, Linux glibc 2.28+ x86-64 Details
otlingam-0.5.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
otlingam-0.5.3-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
otlingam-0.5.3-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
otlingam-0.5.3-cp311-cp311-win_arm64.whl CPython 3.11 CPython 3.11 Windows ARM64 Details
otlingam-0.5.3-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
otlingam-0.5.3-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.26+ x86-64 Details
otlingam-0.5.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
otlingam-0.5.3-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
otlingam-0.5.3-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details

Total release size: 7.7 MB

Release files / otlingam-0.5.3-cp314-cp314t-win_arm64.whl

Download URL otlingam-0.5.3-cp314-cp314t-win_arm64.whl
Size 491.9 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
8d20551b85de427597dd89b1fac5594b65821f3577d77a15d54359ac7f2a9a96
BLAKE2b-256 checksum
How to use checksums
98a28b2ef5b1c7948a54c218f91826c167617bba1e97fde46ee95b44dc1bde29
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.3-cp314-cp314t-win_amd64.whl

Download URL otlingam-0.5.3-cp314-cp314t-win_amd64.whl
Size 334.7 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
8c706bd3dfdf843a72ebfa859df9a9a2d8a9a8fc46d41538d712a16b08640fdc
BLAKE2b-256 checksum
How to use checksums
f59f6cf54bf2c6ae55ff2084a515716907360757e7f14548561e36eeb476647c
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.3-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl

Download URL otlingam-0.5.3-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Size 238.8 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.26+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d5c979d75dd2581c5d2467d5f0bdab90069a1b1f5bd7ab3976635ca62e368f26
BLAKE2b-256 checksum
How to use checksums
0939b927963a2dca1aaedf14837e29d646048fc72b5b13760f01fc7961a4cfec
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.3-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL otlingam-0.5.3-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 188.5 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
7148258f1428a4a895fefc3e8dd29fbf0c2569d286b87f618371f6627f9609aa
BLAKE2b-256 checksum
How to use checksums
1f3a96d378d709f167b7fe60a6b63635ad2f2cd620fbaf1d1a83383e23badf7b
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.3-cp314-cp314t-macosx_11_0_arm64.whl

Download URL otlingam-0.5.3-cp314-cp314t-macosx_11_0_arm64.whl
Size 137.9 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ee123112bcc7a3437fa1be18c8fdf7e3be93f933a37ba06020dc180a12592f24
BLAKE2b-256 checksum
How to use checksums
eb287071497907aa248fb0c3417f2dc7b9a55f37ad36496b19340ef5f6a98389
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.3-cp314-cp314t-macosx_10_15_x86_64.whl

Download URL otlingam-0.5.3-cp314-cp314t-macosx_10_15_x86_64.whl
Size 184.7 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
e46825572efa911e772d4ae5cfe19fdc03679038fe3279d9171bf92fe1536b59
BLAKE2b-256 checksum
How to use checksums
96912238b2b5651c5cbc04eb9be738f39039596aa062853fe76b816f9cdf1c13
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.3-cp314-cp314-win_arm64.whl

Download URL otlingam-0.5.3-cp314-cp314-win_arm64.whl
Size 488.4 kB
Tags CPython 3.14 Windows ARM64
SHA-256 checksum
How to use checksums
fe7f5d6becdef71dfa02fe80487ae6addeab62a14185dc352daa11098cbd3d55
BLAKE2b-256 checksum
How to use checksums
e54bfabacbf070c0311313d6ee52afd5106ef8d17d231dd289e073508e3258e5
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.3-cp314-cp314-win_amd64.whl

Download URL otlingam-0.5.3-cp314-cp314-win_amd64.whl
Size 331.3 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
ec5422c03fda416af3ff818b08923e24bc5c09cf361ab1490cddb61d57759f2f
BLAKE2b-256 checksum
How to use checksums
afef22439e0884243a6c15fa08c76f4af8c4e4eba47598a04ce29bfbae597798
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.3-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl

Download URL otlingam-0.5.3-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Size 238.0 kB
Tags CPython 3.14 Linux glibc 2.26+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
35e0022d786d0f6eb623a0313ab6b8e95836331e28c24c0842e2ad4be1cfa617
BLAKE2b-256 checksum
How to use checksums
45e03496d7df875e81ca162ebd9beba67b93e575dbb021c8c1060a9bdfaaa003
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.3-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL otlingam-0.5.3-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 186.3 kB
Tags CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3fa380fbf9d16f57eb91e4cf4e32b7ee0ac8a9599e9fa0df1ab60c08d37ce948
BLAKE2b-256 checksum
How to use checksums
a983d3b120af6f04698f69ce4e3f9ebbb40031fa2ad4c6477344461efcc6d3b9
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.3-cp314-cp314-macosx_11_0_arm64.whl

Download URL otlingam-0.5.3-cp314-cp314-macosx_11_0_arm64.whl
Size 133.9 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e0a5ac8a3ad6905485273e5deaebd79fd351848c5501cf3627f34c33a60be1ea
BLAKE2b-256 checksum
How to use checksums
d294eecad5445ce5579fa13bb1370961d16fb35bb85e086af7e00ec0a545d8ea
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.3-cp314-cp314-macosx_10_15_x86_64.whl

Download URL otlingam-0.5.3-cp314-cp314-macosx_10_15_x86_64.whl
Size 181.0 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
dc6a4e6389ac56791ebafff008d42382599b33f847b9b7f797a0ad048fc8692f
BLAKE2b-256 checksum
How to use checksums
2b1d123a7f81e4fe5eee60784c424df7bb041fe3f7829424b7fb148d03987185
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.3-cp313-cp313-win_arm64.whl

Download URL otlingam-0.5.3-cp313-cp313-win_arm64.whl
Size 472.2 kB
Tags CPython 3.13 Windows ARM64
SHA-256 checksum
How to use checksums
7fdfd4c5d7f47160a5227c889749ccdec782b24f7e6738e2d0055ad896decf3f
BLAKE2b-256 checksum
How to use checksums
07f28bfd017aeadad637f06363ea729692718c5def9853c3931f337f9e266b39
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.3-cp313-cp313-win_amd64.whl

Download URL otlingam-0.5.3-cp313-cp313-win_amd64.whl
Size 321.9 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
60e5cca2e9bc62cc13e5824e1c933253484ad7b0f09e9ba7ed04417db482f90c
BLAKE2b-256 checksum
How to use checksums
f35653e8629ba8a355a9b8582b0aaf6603e6890f5006e750baa05b0dc0b453a6
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.3-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl

Download URL otlingam-0.5.3-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Size 237.9 kB
Tags CPython 3.13 Linux glibc 2.26+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
49e16384344d58ed9ce9c2c7bf53a27ad342a8334a2f17d09f50462898df6390
BLAKE2b-256 checksum
How to use checksums
3f0e12a785c4d8cdafd4a5119a816a3a7f6be5fc38ce3f8cee1a3dbb8dab0471
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.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL otlingam-0.5.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 186.0 kB
Tags CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
1ce7e18a2828cc10dba5d01bcd5818e1d8db8134001ad6e8843d2cbec8dd3e70
BLAKE2b-256 checksum
How to use checksums
0ed39a0fdf53b082323e99e04d02f2ef79053e467b76ebee29aa75906bfc7817
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.3-cp313-cp313-macosx_11_0_arm64.whl

Download URL otlingam-0.5.3-cp313-cp313-macosx_11_0_arm64.whl
Size 133.8 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
fc7ebe948b2ecdaeb762e4ad2d74cc3f10cb75a2f796156459c9708e195300a6
BLAKE2b-256 checksum
How to use checksums
8a997f9a3f6ebc9e75f1ac0858dc1fcc4e494661f3b7e337cf40891b7aa562be
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.3-cp313-cp313-macosx_10_13_x86_64.whl

Download URL otlingam-0.5.3-cp313-cp313-macosx_10_13_x86_64.whl
Size 180.8 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
8e5188fdbc4effb7f1966ff347e10217bac1e42820e5847d772a3acc203398e1
BLAKE2b-256 checksum
How to use checksums
34ba9a1f72f36e1af28e5d3ce36c52dbf1cafcde4323034fad7cd62a46bc3683
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.3-cp312-cp312-win_arm64.whl

Download URL otlingam-0.5.3-cp312-cp312-win_arm64.whl
Size 472.2 kB
Tags CPython 3.12 Windows ARM64
SHA-256 checksum
How to use checksums
bcbab59db6513625c517bf554c03f459e22a4d3aaef3f8133980db250c4e63c2
BLAKE2b-256 checksum
How to use checksums
a73d741949084e2c80a145894aebf44bdad6e557e67879c594c7414f69b5f352
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.3-cp312-cp312-win_amd64.whl

Download URL otlingam-0.5.3-cp312-cp312-win_amd64.whl
Size 321.9 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
5a28483a2ec83081a6e5e10faf8239a75bb767518a88cfc712376232aaa4e826
BLAKE2b-256 checksum
How to use checksums
3472b61008ff6ed2ffd8b8438441dc29e236c742099452cf1c66b7a53610b46b
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.3-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl

Download URL otlingam-0.5.3-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Size 237.6 kB
Tags CPython 3.12 Linux glibc 2.26+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2dac7d2c19ef400351a7a01846168bd0fa08a2b2dca2d8b162116762d332f211
BLAKE2b-256 checksum
How to use checksums
f4e457195e5a69f11d51de364d2745ed5e16170d628403f7d5f80bce2ce4bebc
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.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL otlingam-0.5.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 185.9 kB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
425d8c8f67407d590a235951ed2ecf5271747982cbc567e9dac6d3fb71ad373b
BLAKE2b-256 checksum
How to use checksums
9f38d08922c5fd584e06fa33bc2c2decc517d6704cbf32cdab9a049c82813f2d
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.3-cp312-cp312-macosx_11_0_arm64.whl

Download URL otlingam-0.5.3-cp312-cp312-macosx_11_0_arm64.whl
Size 133.8 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ab9d2508a91fa243c9a01756bbb28c0d7f5f9aa0e66649596aef497dd7b0ef95
BLAKE2b-256 checksum
How to use checksums
84f69b9629e4a43e68d99b57da5cc45320c35dfad9d7ec50e1e98877685bd87b
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.3-cp312-cp312-macosx_10_13_x86_64.whl

Download URL otlingam-0.5.3-cp312-cp312-macosx_10_13_x86_64.whl
Size 180.8 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
b545bea7cb32db9ded119780f6575e7b0a16189e555bd488e5232a292daa6449
BLAKE2b-256 checksum
How to use checksums
66ed05f9f5a5eec64d5e38439788d47c0843c61d73f4916a88cde20169a66e03
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.3-cp311-cp311-win_arm64.whl

Download URL otlingam-0.5.3-cp311-cp311-win_arm64.whl
Size 471.1 kB
Tags CPython 3.11 Windows ARM64
SHA-256 checksum
How to use checksums
e7448657903dac1fe3cd74e64ca7c5b27ee86805d74c628b005157b22e50c5ac
BLAKE2b-256 checksum
How to use checksums
febb66723ad3540f74b56ea751f4115e878ddd0250c8c0be6e7d96f039e51a53
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.3-cp311-cp311-win_amd64.whl

Download URL otlingam-0.5.3-cp311-cp311-win_amd64.whl
Size 319.5 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
0d8296017b50b88092c1da74000e3bd954c810f851b8e563b986120861cb56c4
BLAKE2b-256 checksum
How to use checksums
2eaffb3e1d77fa6ab8c0a2ae504dbe6123bbd91d5331d8d3502a963c4caca43e
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.3-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl

Download URL otlingam-0.5.3-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl
Size 235.7 kB
Tags CPython 3.11 Linux glibc 2.26+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
096cb8bef6634d93ced7c6dca82da57a7024fc31789cf443a56d9200e9376d67
BLAKE2b-256 checksum
How to use checksums
57d5813982b4cc9b565d20dcda348f5d3d59b7984fe105151c054da22a4de3ff
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.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL otlingam-0.5.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 184.4 kB
Tags CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
91e0902dda2b1bee663c19e268390915cdf235f2e605c57c43f84ff78d6c9e71
BLAKE2b-256 checksum
How to use checksums
4aa87a0f45baf21b3a1e8f487a94902f0ecaf38ce1b48e23c6c2bef641d84865
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.3-cp311-cp311-macosx_11_0_arm64.whl

Download URL otlingam-0.5.3-cp311-cp311-macosx_11_0_arm64.whl
Size 131.6 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
57f2cd905a88e377f9f42ad838f042574bc9f7e1e64c9d10de98ae260caaa900
BLAKE2b-256 checksum
How to use checksums
9ed66c73d99178cb13c7885a15b09b14425679325370baf36bb67585d1afa420
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.3-cp311-cp311-macosx_10_9_x86_64.whl

Download URL otlingam-0.5.3-cp311-cp311-macosx_10_9_x86_64.whl
Size 181.1 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
9e832f5fc17c5beb5a71d51f1db9291fe6f51a1127660002aa85d446f20431f5
BLAKE2b-256 checksum
How to use checksums
1a11d74c4d5f3c2c38e6297cab0ddb58a9e2a6a0ccfc807a5a2100ff0d585b48
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

0.5.8

24 release files

This release

0.5.3 This release

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