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.3.0.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.3.0-py3-none-any.whl (45.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: discretax-0.3.0.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.3.0.tar.gz
Algorithm Hash digest
SHA256 cf660fdad9cf79d04f5b8838c30807176a9fad544c9a0e4ecefb96d75732693a
MD5 5a14e47e9b9b961c87aba24da1afd132
BLAKE2b-256 c0ecaad785909c4034aae084109840ce74d5b2a2e389a016f8cb6778a58d9a78

See more details on using hashes here.

File details

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

File metadata

  • Download URL: discretax-0.3.0-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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 18fadcb8af422d15eb681a4a7bc5f83f3f8b825db6321db8d93966b68d9a54de
MD5 e62c99ab5fbfb38cba943a88b2f93059
BLAKE2b-256 5c793b498e14a1e3a0ee420dedeef7035d6082da5b68e427ecdf6a445cc866f0

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