Framework for stock-flow consistent agent-based modeling, being developed at the German Aerospace Center (DLR) for and in the scientific context of energy systems analysis, however, it is widely applicable in other scientific fields.
Project description
sfctools - A toolbox for stock-flow consistent, agent-based models
Sfctools is a lightweight and easy-to-use Python framework for agent-based macroeconomic, stock-flow consistent (ABM-SFC) modeling. It concentrates on agents in economics and helps you to construct agents, helps you to manage and document your model parameters, assures stock-flow consistency, and facilitates basic economic data structures (such as the balance sheet). For more documentation, see https://sfctools-framework.readthedocs.io/en/latest/.
Installation
We recommend to install sfctools in a fresh Python 3.8 environment. For example, with conda, do
conda create --name sfcenv python=3.8
conda activate sfcenv
conda install pip
Then, in a terminal of your choice, type:
pip install sfctools
see https://pypi.org/project/sfctools/
Usage with Graphical User Interface 'Attune'
Type
python -m sfctools attune
to start the GUI.
Usage inside Python
Try out this simple example:
from sfctools import Agent, World
class SomeAgent(Agent):
def __init__(self, a):
super().__init__()
self.some_attribute = a
my_agent = SomeAgent(a='Hello')
your_agent = SomeAgent(a='World')
my_agents = World().get_agents_of_type("SomeAgent")
my_message = my_agents[0].some_attribute
your_message = my_agents[1].some_attribute
print("%s says %s, %s says %s" % (my_agent, my_message, your_agent, your_message))
The resulting output will be
SomeAgent__00001 says Hello, SomeAgent__00002 says World
More Examples
Have a look at the documentation page for more examples.
Cite this Software
You can cite the software as follows:
Baldauf, T., (2023). sfctools - A toolbox for stock-flow consistent, agent-based models. Journal of Open Source Software, 8(87), 4980, https://doi.org/10.21105/joss.04980
You can cite the software repository as follows:
Thomas Baldauf. (2023). sfctools - A toolbox for stock-flow consistent, agent-based models (1.1.0.2b). Zenodo. https://doi.org/10.5281/zenodo.8118870
| Corresponding author: Thomas Baldauf, German Aerospace Center (DLR), Curiestr. 4 70563 Stuttgart | thomas.baldauf@dlr.de |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file sfctools-1.1.9.2.tar.gz
.
File metadata
- Download URL: sfctools-1.1.9.2.tar.gz
- Upload date:
- Size: 321.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.8.17 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56d7d0961375389c1d271cdacaa857a1f0ac9779e26e4f53fc63fdca47a71a96 |
|
MD5 | 74325256e55c1dc29c5d4c7155e3a811 |
|
BLAKE2b-256 | 0f1f3035f6453069b277fa34b5e8219b601d59a2a319156cc53b48d982264dce |
File details
Details for the file sfctools-1.1.9.2-py3-none-any.whl
.
File metadata
- Download URL: sfctools-1.1.9.2-py3-none-any.whl
- Upload date:
- Size: 357.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.8.17 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf4881f9280c1c992915126e2fb00a09eed4ae6f930ce1d7fc70a37e7938410b |
|
MD5 | 7acea3f2f46fd3c988804c49d7c66d62 |
|
BLAKE2b-256 | 61da35254e71a16e5f114b97b626e76086076f06125e08730f82252a1b522ed3 |