Skip to main content

State Space Models in Jax

Project description

Discretax - State Space Models in JAX

Discretax logo

pre-commit tests license uvJAX PyPI version Discord

discretax is a collection of state space models implemented in JAX. It is

  • easy to use
  • fast
  • modular

Table of contents

News

  • [2026-03]: After a big refactor, we are renaming the project from linax to discretax.
  • [2025-10]: We are happy to launch the first beta version of linax. 🎉

Just get me Going

If you don't care about the details, we provide example notebooks that are ready to use.

Join the Community

To join our growing community of JAX and state space model enthusiasts, join our Discord server. Feel free to write us a message (either there or to our personal email, see the bottom of this page) if you have any questions, comments, or just want to say hi!

🤫 Psssst! Rumor has it we are also developing an end-to-end JAX training pipeline. Stay tuned for JAX Lightning. So join the discord server to be the first to hear about our newest project(s)!

Installation

discretax is available as a PyPI package. To install it via uv, just run

uv add discretax

or

uv add discretax[cu12]

If pip is your package manager of choice, run

pip install discretax

or

pip install discretax[cu12]

Full Library Installation

If you want to install the full library, especially if you want to contribute to the project, clone the discretax repository and cd into it

git clone https://github.com/camail-official/discretax.git
cd discretax

If you want to install dependencies for CPU, run

uv sync

for GPU run

uv sync --extra cu12

To include development tooling (pre-commit, Ruff), install:

uv sync --extra dev

After installing the development dependencies (activate your environment if needed), enable the git hooks:

pre-commit install

Supported Models

Year Model Paper Code Our implementation
2024 DeltaNet Parallelizing Linear Transformers with the Delta Rule sustcsonglin/flash-linear-attention discretax
2024 LinOSS Oscillatory State Space Models tk-rusch/linoss discretax
2023 LRU Resurrecting Recurrent Neural Networks for Long Sequences LRU paper discretax
2022 S5 Simplified State Space Layers for Sequence Modeling lindermanlab/S5 discretax
2022 S4D On the Parameterization and Initialization of Diagonal State Space Models state-spaces/s4 discretax

Contributing

If you want to contribute to the project, please check out contributing

Core Contributors

This repository has been created and is maintained by:

This work has been carried out within the Computational Applied Mathematics & AI Lab, led by T. Konstantin Rusch.

Citation

If you find this repository useful, please consider citing it.

@software{discretax2025,
  title  = {Discretax: A Lightweight Collection of State Space Models in JAX},
  author = {Nazari, Philipp* and Ruscio, Francesco Maria* and Armstrong, Benedict and Rusch, T. Konstantin},
  url    = {https://github.com/camail-official/discretax},
  year   = {2025}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

discretax-0.2.1.tar.gz (368.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

discretax-0.2.1-py3-none-any.whl (45.7 kB view details)

Uploaded Python 3

File details

Details for the file discretax-0.2.1.tar.gz.

File metadata

  • Download URL: discretax-0.2.1.tar.gz
  • Upload date:
  • Size: 368.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for discretax-0.2.1.tar.gz
Algorithm Hash digest
SHA256 cc16c73ceca7e42b4425b9804d8bc9fac6c7507fee7c87928f59f979846eb8bc
MD5 af154169b838f64cd5b1c12b9f98d63a
BLAKE2b-256 9117eaaf7a7cb0a28d46134b399778e7d2d5e845195b5eb6fe2e1b6a585dadc8

See more details on using hashes here.

File details

Details for the file discretax-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: discretax-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 45.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for discretax-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6ddc75577d72de9fc59bd9b0c38bb12b6b0cab8304976cd7e06d86373c91b40a
MD5 fe6a43d8bf73a49009e62cf916e33724
BLAKE2b-256 8526c038d16eddb6acd0a676582acc1d66e862c455a2a4a982a79080b4f62f89

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page