PyPhi#
The toolbox for Integrated Information Theory
PyPhi 2.0 is out as a release candidate. Until the final release, give the
version when installing; a bare pip install pyphi installs 1.2 instead.
pip install "pyphi>=2.0.0rc1"
import pyphi
# The IIT 4.0 paper's Fig. 1A network, analyzing units A and B
substrate = pyphi.examples.iit4_2023_fig1a_substrate()
analysis = pyphi.analyze(substrate, state=(0, 1, 1), subset=(0, 1))
analysis.phi # φₛ ≈ 0.04, system integrated information
analysis.big_phi # Φ ≈ 1.56, structure integrated information
Install PyPhi and compute your first φ.
Learn the library through worked, executable examples.
Build a substrate, read a result, size a run, configure, parallelize, export.
How IIT’s mathematics maps onto PyPhi’s types and functions.
The API reference, the glossary, configuration options, and conventions.
Moving to PyPhi 2.0 from earlier versions and related tools.
IIT Expert answers questions about the theory from its primary literature, with citations. A work in progress.
PyPhi’s MCP server lets an assistant build substrates, size runs, and analyze them. This site is also readable by AI agents.
If you use this software in your research, please cite the software paper:
Mayner WGP, Marshall W, Albantakis L, Findlay G, Marchman R, Tononi G. (2018). PyPhi: A toolbox for integrated information theory. PLOS Computational Biology 14(7): e1006343. https://doi.org/10.1371/journal.pcbi.1006343
The theory it implements, IIT 4.0, is described in:
Albantakis L, Barbosa L, Findlay G, Grasso M, … Tononi G. (2023). Integrated information theory (IIT) 4.0: formulating the properties of phenomenal existence in physical terms. PLoS Computational Biology 19(10): e1011465. https://doi.org/10.1371/journal.pcbi.1011465
Mayner WGP, Marshall W, Tononi G. (2026). Intrinsic cause–effect power: the tradeoff between differentiation and specification. Entropy 28(4): 410. https://doi.org/10.3390/e28040410
BibTeX entries are on the Citing PyPhi page. To report issues, use the issue tracker. For general discussion, join the pyphi-users group.
Everything in the docs#
- Getting started
- Tutorials
- A complete worked example
- Intrinsic units: analyzing systems at a macro grain
- Recursive exclusion: how complexes divide a substrate
- Actual causation
- Causal reductionism and the frog
- The IIT 4.0 demo notebook
- System Irreducibility Analysis: identifying complexes
- Reproducing figures 1, 2 and 4
- What next
- PyPhi documentation
- How-to guides
- Build a substrate
- Read a result
- Estimate the cost before you run
- Configure PyPhi
- Use PyPhi with an AI assistant
- The PyPhi MCP server
- Sweep states and subsystems
- Save and load results
- Export results
- Visualize results
- Run computations in parallel
- Cache results
- Run PyPhi on a cluster (CHTC)
- Run a sweep as an HTCondor campaign
- Search across grains
- Query relational structure
- Explore substrate parameter landscapes
- Control tie-breaking
- Reproduce results from earlier versions of IIT
- FAQ and troubleshooting
- Theory
- Reference
- Migration