Base Classes
- class ambr.base.AttrDict[source]
Bases:
dictDictionary that allows attribute-style access to its keys.
- This provides AgentPy compatibility where parameters are accessed as:
self.p.param_name instead of self.p[‘param_name’]
- class ambr.base.BaseAgent(model: BaseModel, agent_id: int)[source]
Bases:
objectBase class for all agents in the simulation, using DataFrames for data storage.
- class ambr.base.BaseModel(parameters: Dict[str, Any])[source]
Bases:
objectBase class for all simulation models, using DataFrames for data storage.
The base module provides abstract base classes for creating custom models and agents.
BaseModel
- class ambr.BaseModel(parameters: Dict[str, Any])[source]
Bases:
objectBase class for all simulation models, using DataFrames for data storage.
Abstract base class for all models. Inherit from this to create custom model types:
from ambr.base import BaseModel
class CustomModel(BaseModel):
def __init__(self, parameters):
super().__init__(parameters)
# Custom initialization
def setup(self):
# Model setup logic
pass
def step(self):
# Step logic
pass
BaseAgent
- class ambr.BaseAgent(model: BaseModel, agent_id: int)[source]
Bases:
objectBase class for all agents in the simulation, using DataFrames for data storage.
Abstract base class for all agents. Inherit from this to create custom agent types:
from ambr.base import BaseAgent
class CustomAgent(BaseAgent):
def __init__(self, model, agent_id):
super().__init__(model, agent_id)
# Custom initialization
self.custom_property = "value"
def step(self):
# Agent behavior logic
pass
def custom_method(self):
# Custom agent methods
return self.custom_property
Key Features:
Automatic parameter access via
self.pModel reference via
self.modelUnique ID management
Integration with data collection system