Skip to main content

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

sfctools-1.1.9.2.tar.gz (321.6 kB view details)

Uploaded Source

Built Distribution

sfctools-1.1.9.2-py3-none-any.whl (357.4 kB view details)

Uploaded Python 3

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

Hashes for sfctools-1.1.9.2.tar.gz
Algorithm Hash digest
SHA256 56d7d0961375389c1d271cdacaa857a1f0ac9779e26e4f53fc63fdca47a71a96
MD5 74325256e55c1dc29c5d4c7155e3a811
BLAKE2b-256 0f1f3035f6453069b277fa34b5e8219b601d59a2a319156cc53b48d982264dce

See more details on using hashes here.

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

Hashes for sfctools-1.1.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bf4881f9280c1c992915126e2fb00a09eed4ae6f930ce1d7fc70a37e7938410b
MD5 7acea3f2f46fd3c988804c49d7c66d62
BLAKE2b-256 61da35254e71a16e5f114b97b626e76086076f06125e08730f82252a1b522ed3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page