The one stop shop for artificial chemistry

Browse chemistries and reaction networks that people share, and load any of them into your code in one line.

70 chemistries in stock 41 generators 29 given networks ● open 24/7

Load a chemistry

import chemart

net = chemart.generate_network("chemart/brusselator", seed=0)
print(net.to_text())

Share yours

chemart new my-chem      # edit it
chemart check my-chem
chemart push my-chem     # opens a pull request

Fresh on the shelf

See all →
chemart/acgp
Algorithmic Chemistry GP (ACGP)

Run this one backwards from the others: instead of building a chemistry, it reads one out of a program. The registers of a virtual machine are the species, so an instruction like r3 <- r1 op r2 is read as the reaction r1 + r2 -> r3, and the instructions are drawn in random order…

chemistry official application on 2026-09-21
chemart/alchemy
AlChemy (lambda-calculus chemistry)

The chemistry that gave the field its vocabulary. Molecules are lambda-expressions in normal form, and a collision applies one to the other: s1 + s2 -> s1 + s2 + normal_form(s1 applied to s2). Both reactants survive, so every molecule is simultaneously a function and a datum for…

chemistry official rewriting on 2026-09-21
chemart/analog-function-crn
Analog computation of algebraic functions with concentrations

Concentrations used as analog numbers. Pick reactions whose steady state satisfies the algebraic relation you want, then read the answer off the output species once it settles: X -> X + Y together with 2Y -> nothing balances at y = sqrt(k1 x / 2 k2), so a square root falls out o…

chemistry official application on 2026-09-21
chemart/arms
ARMS (Abstract Rewriting System on Multisets)

The simplest possible rewriting chemistry: a bag of symbols and a list of rules like 'aaa -> c' or 'a -> abba'. Everything interesting comes from how the rules are applied. Rules that enlarge a molecule are called heating and rules that shrink it cooling, and the order they are …

chemistry official rewriting on 2026-09-21
chemart/automata-reaction
Automata reaction (32-bit binary string chemistry)

The cheapest constructive chemistry that still does something interesting. Molecules are 32-bit words, and a collision treats the first word as a finite automaton that consumes the second and emits a third: s1 + s2 -> s1 + s2 + A_s1(s2). Both reactants survive, so every string i…

chemistry official automata on 2026-09-21
chemart/autopoiesis-vmu
Varela-Maturana-Uribe autopoiesis model

The model that named computational autopoiesis. A lattice holds substrate, a catalyst and links. The catalyst turns two neighbouring substrates into a link; links bond to adjacent links into chains; and links spontaneously decay back to substrate. Nothing tells the system to bui…

chemistry official origin-of-life on 2026-09-21

The book chemistries · 70 official repos from Banzhaf & Yamamoto

All 70 →
chemart/acgp
Algorithmic Chemistry GP (ACGP)

Run this one backwards from the others: instead of building a chemistry, it reads one out of a program. The registers of a virtual machine are the species, so an instruction like r3 <- r1 op r2 is read as the reaction r1 + r2 -> r3, and the instructions are drawn in random order…

chemistry official application on 2026-09-21
chemart/alchemy
AlChemy (lambda-calculus chemistry)

The chemistry that gave the field its vocabulary. Molecules are lambda-expressions in normal form, and a collision applies one to the other: s1 + s2 -> s1 + s2 + normal_form(s1 applied to s2). Both reactants survive, so every molecule is simultaneously a function and a datum for…

chemistry official rewriting on 2026-09-21
chemart/analog-function-crn
Analog computation of algebraic functions with concentrations

Concentrations used as analog numbers. Pick reactions whose steady state satisfies the algebraic relation you want, then read the answer off the output species once it settles: X -> X + Y together with 2Y -> nothing balances at y = sqrt(k1 x / 2 k2), so a square root falls out o…

chemistry official application on 2026-09-21
chemart/arms
ARMS (Abstract Rewriting System on Multisets)

The simplest possible rewriting chemistry: a bag of symbols and a list of rules like 'aaa -> c' or 'a -> abba'. Everything interesting comes from how the rules are applied. Rules that enlarge a molecule are called heating and rules that shrink it cooling, and the order they are …

chemistry official rewriting on 2026-09-21
chemart/automata-reaction
Automata reaction (32-bit binary string chemistry)

The cheapest constructive chemistry that still does something interesting. Molecules are 32-bit words, and a collision treats the first word as a finite automaton that consumes the second and emits a third: s1 + s2 -> s1 + s2 + A_s1(s2). Both reactants survive, so every string i…

chemistry official automata on 2026-09-21
chemart/autopoiesis-vmu
Varela-Maturana-Uribe autopoiesis model

The model that named computational autopoiesis. A lattice holds substrate, a catalyst and links. The catalyst turns two neighbouring substrates into a link; links bond to adjacent links into chains; and links spontaneously decay back to substrate. Nothing tells the system to bui…

chemistry official origin-of-life on 2026-09-21
chemart/bagley-farmer
Bagley & Farmer autocatalytic metabolism

What Kauffman's autocatalytic sets look like once you give them kinetics. Polymers split and join, and any polymer can catalyse a reaction, multiplying both directions of it. Run in a chemostat - food flows in, everything washes out - and mass concentrates onto a small mutually-…

chemistry official origin-of-life on 2026-09-21
chemart/bigan-conservative-crn
Conservative random chemical reaction networks

A random reaction network built to be thermodynamically honest. Each abstract chemical gets a random free energy of formation; reactions are drawn as association, dissociation and transformation steps, and every backward rate is then computed from the forward one so detailed bal…

chemistry official network on 2026-09-21
chemart/bondable-ca
Bondable Cellular Automata (BCA)

Reactivity that is not declared but *measured*. Each atom is a small one-dimensional cellular automaton, and its type is the Wolfram rule that runs it. To decide whether two atoms bond, you let their dynamics settle and read an emergent property - the mean polarity - then compar…

chemistry official automata on 2026-09-21
chemart/brane-calculi
Brane calculi

Membranes as the active element rather than the container. A system is a nest of membranes, and each membrane carries a program of actions: phagocytosis engulfs a neighbour, exocytosis expels contents and fuses, pinocytosis buds an empty vesicle inward, mating fuses two membrane…

chemistry official rewriting on 2026-09-21
chemart/brusselator
Brusselator

The minimal oscillator, and the standard first test for anything that handles reaction networks. Two species are held constant as reservoirs, two are dynamic, and the autocatalytic step 2X + Y -> 3X provides the feedback. Push the parameter b past 1 + a^2 and the steady state lo…

chemistry official application on 2026-09-21
chemart/ca-embedded-particles
Embedded particles in cellular automata

A chemistry nobody wrote down - it is read out of a cellular automaton. Run a one-dimensional CA and its space-time pattern separates into regular domains; the moving boundaries between domains behave like localised, persistent objects. Treat those *particles* as the molecules a…

chemistry official automata on 2026-09-21