Skip to main content

What is Emergent?

Emergent is a lightweight, flexible Python framework for agent-based modeling (ABM). It lets you simulate how large-scale behaviors emerge from the local interactions of individual agents connected in a graph network. Whether you’re modeling social dynamics, distributed decision-making, opinion propagation, or any other complex adaptive system, Emergent gives you the primitives to define, run, and analyze your simulation with minimal boilerplate.

Quickstart

Build and run your first simulation in minutes.

AgentModel

Learn the core abstraction at the heart of Emergent.

Graph Structures

Understand how agents are connected.

API Reference

Full reference for all classes and methods.

Key concepts

ConceptDescription
AgentModelThe central object that holds your graph, parameters, and simulation logic
GraphA NetworkX graph where each node is an agent
ParametersA key-value store controlling model behavior (graph type, node count, convergence thresholds, etc.)
Initial data functionA callable that sets each node’s starting state
Timestep functionA callable that advances the simulation one step
ConvergenceA built-in mechanism to stop the simulation when a tracked variable stabilizes

Installation

pip install emergent
Or with uv:
uv add emergent
Emergent requires Python 3.10.7 or higher.