25 projects
sympy2jax
Turn SymPy expressions into trainable JAX expressions.
diffrax
GPU+autodiff-capable ODE/SDE/CDE solvers written in JAX.
jaxtyping
Type annotations and runtime checking for shape and dtype of JAX/NumPy/PyTorch/etc. arrays.
lineax
Linear solvers in JAX and Equinox.
equinox
Elegant easy-to-use neural networks in JAX.
tinyio
A tiny event loop for Python.
structional
Immutable structs, controlled randomness, and trees. These are the core tools I use to build reliable software in Python.
typst_marimo
Typst extension, adding support for generating images from a companion Marimo notebook
optimistix
Nonlinear optimisation in JAX and Equinox.
quax
Multiple dispatch in JAX via custom interpreters.
typst-pyimage
Typst extension, adding support for generating figures using inline Python code
patdb
Pat's Python debugger
wadler-lindig
A Wadler–Lindig pretty-printer for Python.
esm2quinox
ESM2 implemented in Equinox+JAX.
hippogriffe
Tweaks for `mkdocstrings[python]`
mkdocs-ipynb
A simple ipynb->md converter for MkDocs
mkdocs-include-exclude-files
Modify which files MkDocs includes or excludes.
torchtyping
Runtime type annotations for the shape, dtype etc. of PyTorch Tensors.
pytkdocs-tweaks
Some custom tweaks to the results produced by pytkdocs (part of mkdocstrings).
torchsde
SDE solvers and stochastic adjoint sensitivity analysis in PyTorch.
sympytorch
Turning SymPy expressions into PyTorch modules.
mkposters
Make posters from Markdown files.
torchcde
Differentiable controlled differential equation solvers for PyTorch with GPU support and memory-efficient adjoint backpropagation.
signatory
Differentiable computations of the signature and logsignature transforms, on both CPU and GPU.
py2annotate
An extension to Sphinx :code:`autodoc` to augment Sphinx documentation with type annotations, when using Python 2 style type annotations.