Software

Open-source tools from the group. Everything is on GitHub under jkitchin.

1,247 GitHub stars across these packages. Numbers update live from GitHub, PyPI and crates.io.

Featured

Optimization

discopt

A mixed-integer nonlinear programming modeling language and solver, using spatial branch and bound over convex relaxations with interior point subsolvers.

29 6 today

A pure-Rust family of interior point solvers that began as a port of Ipopt, now covering nonlinear, conic and quadratic programs.

75 9 1 day ago

A pure-Rust sparse symmetric indefinite linear solver with certified inertia counts, built for interior point optimization.

21 3 4 days ago

discopt plugins

Extensions that add domain models and methods to the discopt modeling language.

discopt-doe

Design of experiments for discopt, from active-learning optimization and classical factorial and mixture designs to model-based D-, A- and E-optimal design.

1 0 17 days ago

discopt-mkm

Microkinetic modeling for discopt, with catalysis kinetics, degree of rate control, mechanism discovery and selection, and electrochemistry.

1 0 51 days ago

discopt-aggregation

Variable aggregation, a reduced-space presolve for nonlinear optimization, following Naik et al. (arXiv:2502.13869).

0 0 3 months ago

discopt-apps

Application builders for AC optimal power flow and pooling problems in discopt.

0 0 3 months ago

discopt-course

An optimization course and a tutor command-line tool built on discopt.

0 0 3 months ago

Process modeling and surrogates

difflow

A JAX framework for differentiable chemical process flowsheets, for simulation, optimization and technoeconomic analysis.

14 1 today

jax-difftree

Differentiable soft decision trees in JAX with built-in uncertainty quantification, scikit-learn estimators and MILP export.

0 0 2 days ago

jax-ldt

Linear and hyperplane decision trees in pure JAX for piecewise-linear surrogate models.

3 0 53 days ago

tep-rust

A Tennessee Eastman Process simulator in Rust, with Python wheels and a browser app.

2 0 46 days ago

Machine learning and scientific computing

Python computations in science and engineering. A book and a library of helpers for numerical methods, regression and more.

283 75 6 days ago

An ASE-compliant Python interface to VASP.

157 64 8 months ago

dft-book

Modeling materials using density functional theory with VASP and the Atomic Simulation Environment.

465 145 26 days ago

AI tools for research

Curate and search your scientific literature with natural-language queries over a local database of papers.

85 10 6 months ago

crucible

A personal knowledge base where an LLM distills papers, notebooks and data into an interlinked org-mode wiki.

12 2 3 months ago

skillz

A command-line tool for managing AI assistant skills and slash commands across LLM platforms.

41 9 3 months ago

Deprecated

Superseded packages, kept here for reference.