Skip to content
View patrick-kidger's full-sized avatar

Sponsors

@dlwh
@sungbinlim
@Artur-Galstyan
@aldopareja

Block or report patrick-kidger

Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
patrick-kidger/README.md

I am currently a tech lead on ML for protein engineering (lead optimization) at Cradle Bio, and wrote much of the open-source scientific JAX ecosystem (see below). I hold an honorary lectureship at Imperial College London. I previously worked at Google X, and received my PhD from Oxford on neural differential equations.

My current interest is AI+biology. Right now that mostly means antibody engineering. I also moonlight on many other topics in scientific ML. (Numerics, neural ODEs, soil moisture, black hole simulations, ...) I am also known for having strong opinions on the importance of good software development! :)

Software

  1. Equinox: elegant neural networks in JAX. GitHub Repo stars

  2. Diffrax: numerical ODE/SDE solvers in JAX. GitHub Repo stars

  3. jaxtyping: shape/dtype annotations for arrays. (Also supports PyTorch etc, despite the name!) GitHub Repo stars

Tip

Click to expand: a full list of other libraries for JAX / Python / publishing / etc.

JAX

  1. Lineax: linear/least-squares solvers. GitHub Repo stars

  2. Optimistix: root finding, least squares, etc. GitHub Repo stars

  3. sympy2jax: optimise your symbolic expressions via gradient descent! GitHub Repo stars

  4. Quax: multiple dispatch in JAX! GitHub Repo stars

  5. ESM2quinox: ESM2 implemented in JAX. GitHub Repo stars

Python

  1. seali: A does-one-thing-well library for building CLIs. Trivially easy to use, with zero dependencies and elegant help messages. GitHub Repo stars

  2. tinyio: Ever used asyncio and wished you hadn't? A tiny (~300 lines) event loop for Python. GitHub Repo stars

  3. patdb: A fast, pretty, TUI/REPL Python debugger. Includes syntax highlighting, support for re-raised and grouped exceptions, and is robust to asyncio/threading/multiprocessing. GitHub Repo stars

  4. Wadler-Lindig: A better Python pretty-printer, based upon the theory of Wadler and Lindig. GitHub Repo stars

  5. action_update_python_project: GitHub CI/CD to automatically deploy Python projects to PyPI and GitHub when a version is bumped.GitHub Repo stars

Typst

  1. typst-pyimage: A Typst extension adding support for generating figures using inline Python code. GitHub Repo stars

  2. typst-marimo: Typst extension, adding support for generating figures and processing values using a companion Marimo notebook. GitHub Repo stars

  3. typsy: Classes/structs, pattern matching, safe counters... and more! Your one-stop library for programming tools not already in core Typst. GitHub Repo stars

  4. patstdlib: Font configuration, subfigures, miscellaneous must-haves for typesetting in Typst. GitHub Repo stars

MkDocs

  1. MkPosters: Write academic posters in Markdown, style them with CSS, save them to PDF. No wrestling with LaTeX. GitHub Repo stars

  2. mkdocs_ipynb: Use *.ipynb files (Jupyter notebooks) when building documentation with MkDocs. GitHub Repo stars

  3. mkdocs_include_exclude_files: Include or exclude specific files when building documentation with MkDocs. GitHub Repo stars

Julia

  1. FromFile.jl: An improved import+include system for Julia. Makes your files self-contained and easier to understand. GitHub Repo stars

Links

Pinned Loading

  1. equinox equinox Public

    Elegant easy-to-use neural networks + scientific computing in JAX. https://docs.kidger.site/equinox/

    Python 3k 221

  2. google-research/torchsde google-research/torchsde Public archive

    Differentiable SDE solvers with GPU support and efficient sensitivity analysis.

    Python 1.7k 231

  3. diffrax diffrax Public

    Numerical differential equation solvers in JAX. Autodifferentiable and GPU-capable. https://docs.kidger.site/diffrax/

    Python 2.1k 200

  4. jaxtyping jaxtyping Public

    Type annotations and runtime checking for shape and dtype of JAX/NumPy/PyTorch/etc. arrays. https://docs.kidger.site/jaxtyping/

    Python 1.9k 101

  5. optimistix optimistix Public

    Nonlinear optimisation (root-finding, least squares, ...) in JAX+Equinox. https://docs.kidger.site/optimistix/

    Python 631 58

  6. tinyio tinyio Public

    Ever used asyncio and wished you hadn't? A tiny (~400 lines) event loop for Python.

    Python 739 24