Skip to main content

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/

You can also build the software wheel directly from the git repository using the commands

pip uninstall sfctools -y
poetry build 
pip install <filename of .whl file in dist/folder>

This command requires poetry. It will uninstall sfctools and install the specified version

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 |

Metadata

Release files for sfctools 1.1.9.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sfctools 1.1.9.4
File Size Uploaded
sfctools-1.1.9.4.tar.gz 635.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sfctools 1.1.9.4
File Interpreter ABI Platform
sfctools-1.1.9.4-py3-none-any.whl Python 3 none any Details

Total release size: 1.4 MB

Release files / sfctools-1.1.9.4.tar.gz

Download URL sfctools-1.1.9.4.tar.gz
Size 635.8 kB
Tags Source
SHA-256 checksum
How to use checksums
7624e51ed00a6e3c86ec549dcd51690043087d9f1a487d600a2f12c5f61153b5
BLAKE2b-256 checksum
How to use checksums
81a4570d811f29fc495885d0fa9b039cc57675a4c49f3a2e2bc1bd78a822ee7a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / sfctools-1.1.9.4-py3-none-any.whl

Download URL sfctools-1.1.9.4-py3-none-any.whl
Size 717.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
779d13116795f224d6e55a70303068578ffb443611b87963f538027ca7552b9b
BLAKE2b-256 checksum
How to use checksums
c19d69e4b0b01a7ae3de9fb245421929e5f801d58d56ebcc4605edfcba1b7b02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release history Release notifications | RSS feed

This release

1.1.9.4 This release

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.9.9

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.5.0

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page