Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

pySigLib logo

The high-performance toolkit for rough path computation

Documentation | Installation | API reference | Paper

PyPI - Version PyPI - Downloads Python Versions CI - Test Read the Docs License

pySigLib brings path signatures, log-signatures, branched signatures, and signature kernels into one accelerated toolkit. It provides NumPy, PyTorch, and JAX support, with automatic differentiation for PyTorch and JAX and multithreaded C++ or native CUDA execution.

Installation

pip install pysiglib

# Add CUDA support
pip install "pysiglib[cuda]"

The JAX integration is included in the wheel. Install JAX separately with pip install jax if you want to use it. For source builds and platform-specific guidance, see the installation guide.

Quick start

import numpy as np
import pysiglib

path = np.random.default_rng().normal(size=(32, 1000, 10))
signature = pysiglib.sig(path, degree=5)

Paths have shape (path length, dimension) or (batch size, path length, dimension). Computation runs on the device where the input already lives.

Why pySigLib?

  • A unified toolkit for rough path computations - signatures, log-signatures, branched signatures, and signature kernels.
  • Accelerated CPU and CUDA implementations for large workloads.
  • Native NumPy, PyTorch, and JAX support without moving data between frameworks.
  • Automatic differentiation with PyTorch and JAX, including jit and vmap support in JAX.
  • Cross-platform - Windows, Linux and Mac systems supported.

Capabilities

Signatures
Truncated signatures and individual coefficients.
Log-signatures
Truncated log signatures in full or compact Lyndon coordinates.
Signature kernels
Kernels and metrics for sequential data.
Branched signatures
Branched signatures, branched log signatures and branched signature kernels.
Signature streams
Online updates and constant-time interval queries.
Backpropagation
Manual and automatic backpropagation with PyTorch and JAX support.

Framework integrations

PyTorch autograd

Signatures compose directly with the rest of a PyTorch model:

import torch
from pysiglib.torch_api import sig

path = torch.randn(32, 1000, 10, device="cuda", requires_grad=True)
sig(path, degree=5).sum().backward()

JAX transforms

The JAX API supports jit, vmap, and grad:

import jax
import jax.numpy as jnp
from pysiglib.jax_api import sig

@jax.jit
def signature_norm(path):
    return jnp.sum(sig(path, degree=5) ** 2)

path = jax.random.normal(jax.random.key(0), (1000, 10))
gradient = jax.grad(signature_norm)(path)

See the documentation for complete examples and the full API reference.

Citation

If the library supports your research, please consider citing the paper:

@article{shmelev2025pysiglib,
  title={pySigLib -- Fast Signature-Based Computations on CPU and GPU},
  author={Shmelev, Daniil and Salvi, Cristopher},
  journal={arXiv preprint arXiv:2509.10613},
  year={2025}
}

Contributing

Contributions are welcome. Please open an issue first to discuss a change, then submit a pull request.

Sponsors

If you'd like to support development, please consider sponsoring the project.

Metadata

Release files for pysiglib 4.0.0rc2

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 pysiglib 4.0.0rc2
File Interpreter ABI Platform
pysiglib-4.0.0rc2-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
pysiglib-4.0.0rc2-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
pysiglib-4.0.0rc2-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details

Total release size: 4.4 MB

Release files / pysiglib-4.0.0rc2-py3-none-win_amd64.whl

Download URL pysiglib-4.0.0rc2-py3-none-win_amd64.whl
Size 1.5 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
ed33f273224589f8a12dca6507a94d68e48a367fa94c8afaf068db4f08b7c16c
BLAKE2b-256 checksum
How to use checksums
0d06dc862b667a7d851c7792817e3a5cacdc0de6d8abf355b58a6d1a25ea36b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.

Transparency log

Release files / pysiglib-4.0.0rc2-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pysiglib-4.0.0rc2-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.8 MB
Tags Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
e7a5728422feba8e65838786718ab50776e32ac1863d6de441ede36adb4881de
BLAKE2b-256 checksum
How to use checksums
f0f84c05d824caa40c3b5a4ed4689b526c797fad6063c2f58e2aa836b70e0028
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.

Transparency log

Release files / pysiglib-4.0.0rc2-py3-none-macosx_11_0_arm64.whl

Download URL pysiglib-4.0.0rc2-py3-none-macosx_11_0_arm64.whl
Size 1.1 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
40dcdb302c86dc3bfec5350f82b776b6d2f5d52c158f3111a76cea4021a21687
BLAKE2b-256 checksum
How to use checksums
afc9b759d98a3e255da4036d9e56023a7f84270277dd8d9aa0fa33f37020204f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.

Transparency log

Release history Release notifications | RSS feed

4.0.0

3 release files

This release

4.0.0rc2 This release

3 release files

3.1.0

3 release files

3.0.3

3 release files

3.0.2

3 release files

3.0.1

3 release files

3.0.0

3 release files

2.3.0

1 release file

2.2.0

1 release file

2.1.0

1 release file

2.0.1

1 release file

2.0.0

1 release file

1.1.1

1 release file

1.1.0

1 release file

1.0.0

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.0

1 release file

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