Skip to main content
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
The scimax scientific computing environment for VS Code. Org-mode and Markdown editing, runnable source blocks with Jupyter kernels, org-ref citations, a research journal and capture templates, Marp slide decks, and export to PDF, Word and Jupyter notebooks.
15 1 4 days ago
Optimization
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.
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
Microkinetic modeling for discopt, with catalysis kinetics, degree of rate control, mechanism discovery and selection, and electrochemistry.
1 0 51 days ago
Variable aggregation, a reduced-space presolve for nonlinear optimization, following Naik et al. (arXiv:2502.13869).
0 0 3 months ago
Application builders for AC optimal power flow and pooling problems in discopt.
0 0 3 months ago
An optimization course and a tutor command-line tool built on discopt.
0 0 3 months ago
Process modeling and surrogates
A JAX framework for differentiable chemical process flowsheets, for simulation, optimization and technoeconomic analysis.
14 1 today
Differentiable soft decision trees in JAX with built-in uncertainty quantification, scikit-learn estimators and MILP export.
0 0 2 days ago
Linear and hyperplane decision trees in pure JAX for piecewise-linear surrogate models.
3 0 53 days ago
A Tennessee Eastman Process simulator in Rust, with Python wheels and a browser app.
2 0 46 days ago
Machine learning and scientific computing
A symbolic regression engine built on JAX.
43 3 18 days ago
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
Modeling materials using density functional theory with VASP and the Atomic Simulation Environment.
465 145 26 days ago
Deprecated
Superseded packages, kept here for reference.
A memory-safe interior point optimizer for nonlinear programming, written in Rust. Superseded by pounce.
45 4 56 days ago