EcoSim_p: An ABM simulation tool in Python

Economic Simulation in Python (EcoSim_p) is an agent based modeling and simulation framework made in Python 3+. The models are written in python but all te initialization and definition of the interface are in json.

EcoSim_p Design Patterns

EcoSim_p uses MVC, dependency injection and other design patterns to implement the simulation.

The framework is constructed around a kernel module and has examples to show the use of the model.

Structure

The framework is composed by three parts:

  • Interface - Is the view part of the simulator, and is accessed by html/css files. From this pages the user can define the initial parameters of a simulation, run and visualize a simulation.
  • Kernel - Is the main part of the simulator. In the kernel we have all the control of the simulator. A simulation is created executing the __*main.py*__, with the model definition files (json) passed as parameters.
  • Apps - The apps are the implementations of the models. Each model has its folder and subfolders. The definition of the simulation intialization is in a json file and the agents, spaces and actions in the model are defined in specific python modules.
Graphical Representation of the Kernel and App components of the framework

Getting Started

To obtain the kernel and examples you can go in the folowing github page:

Or alternatively you can clone the framework using github client, or other clonning method:

$ gh repo clone sergiolmrivero/EcoSim_p

Tutorial

Agents

ActionSet

Spaces

Exectution

Roadmap

Parallel Execution

Integration with R and Jupyter

Indices and tables