/marmot

Agent based process modeling

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Marmot

Marmot is an extension of _simpy that makes it easier to build agent-based process models. Marmot allows a user to model the actions of discrete agents acting within an environment.

Version:0.2.5
Authors:Jake Nunemaker
Documentation:Coming soon!

Installation

pip install marmot-agents

Getting Started

from marmot import Environment, Agent

# An agent must be created and registered to an environment
env = Environment()
agent = Agent("Test Agent")
env.register(agent)

# The registered agent can now be scheduled to perform tasks
agent.task("Run", 10)  # The agent is scheduled to run for 10 units of time

# The simulation must be ran
env.run()
print(env.now)
>>> 10

# Logs of all tasks are kept
env.logs
>>> [{"agent": "Test Agent", "action": "Run", "duration": 10, "time": 10}]