Skip to main content

DynamicalSystemFramework

Latest Release PyPI version DOI

Standard TBB SPDLOG CSV JSON SQLite codecov

The aim of this project is to rework the original Traffic Flow Dynamics Model. This rework consists of a full code rewriting, in order to implement more features (like intersections) and get advantage from the latest C++ updates.

Table of Contents

Installation

The library is available on PyPI:

pip install dsf-mobility

To check the installation you can simply run

import dsf

print(dsf.__version__)

Installation (from source)

Requirements

The project requires C++20 or greater, cmake, tbb simdjson, spdlog, csv-parser and SQLiteCpp. To install requirements on Ubuntu:

sudo apt install cmake libtbb-dev

To install requirements on macOS:

brew install cmake tbb

Utilities are written in python. To install their dependencies:

pip install -r ./requirements.txt

Installation (C++)

The library can be installed using CMake. To build and install the project in the default folder run:

cmake -B build -DCMAKE_BUILD_TYPE=Release && cmake --build build -j$(nproc)
sudo cmake --install build

Otherwise, it is possible to customize the installation path:

cmake -B build -DCMAKE_INSTALL_PREFIX=/path/to/install

then building and installing it (eventually in sudo mode) with:

cmake --build build
cmake --install build

Installation (Python)

If you want to use the library from Python, you can build the Python bindings using pybind11. Make sure you have tbb installed:

sudo apt install libtbb-dev

Then, the installation is automatic via uv:

uv build

or you can just use the classic pip:

pip install .

After installation, you should be able to import the module in Python:

import dsf

print(dsf.__version__)

If you encounter issues, ensure that the installation path is in your PYTHONPATH environment variable.

Testing

This project uses Doctest for testing.

If the project is compiled in Debug or Coverage mode, tests are always built. Otherwise, you can add the -DDSF_TESTS=ON flag to enable test build.

cmake -B build -DDSF_TESTS=ON
cmake --build build -j$(nproc)

To run the tests use the command:

ctest --test-dir build -j$(nproc) --output-on-failure

Benchmarking

Some functionalities of the library have been benchmarked in order to assess their efficiency.
The benchmarks are performed using Google Benchmarks. To build the benchmarks add the flag -DDSF_BENCHMARKS=ON :

cmake -B build -DDSF_BENCHMARKS=ON
cmake --build build -j$(nproc)

To run all the benchmarks together use the command:

cd benchmark
for f in ./*.out ; do ./$f ; done

Citing

@software{berselli_2026_18745492,
  author       = {Berselli, Gregorio},
  title        = {DynamicalSystemFramework},
  month        = mar,
  year         = 2026,
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.18745492},
  url          = {https://doi.org/10.5281/zenodo.18745492},
}

Bibliography

  • Mungai, Veronica (2024) Studio dell'ottimizzazione di una rete semaforica. University of Bologna, Bachelor's Degree in Physics [L-DM270]. Link to Thesis.
  • Berselli, Gregorio (2024) Advanced queuing traffic model for accurate congestion forecasting and management. University of Bologna, Master's Degree in Physics [LM-DM270]. Link to Thesis.
  • Berselli, Gregorio (2022) Modelli di traffico per la formazione della congestione su una rete stradale. University of Bologna, Bachelor's Degree in Physics [L-DM270]. Link to Thesis.

Metadata

Release files for dsf-mobility 5.8.8

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

Source distribution (sdist)

Source distribution for dsf-mobility 5.8.8
File Size Uploaded
dsf_mobility-5.8.8.tar.gz 151.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for dsf-mobility 5.8.8
File
dsf_mobility-5.8.8-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
dsf_mobility-5.8.8-cp314-cp314-win32.whl CPython 3.14 CPython 3.14 Windows x86-32 Details
dsf_mobility-5.8.8-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
dsf_mobility-5.8.8-cp314-cp314-macosx_15_0_arm64.whl CPython 3.14 CPython 3.14 macOS 15.0+ ARM64 Details
dsf_mobility-5.8.8-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
dsf_mobility-5.8.8-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
dsf_mobility-5.8.8-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
dsf_mobility-5.8.8-cp312-cp312-macosx_15_0_arm64.whl CPython 3.12 CPython 3.12 macOS 15.0+ ARM64 Details

Total release size: 13.2 MB

Release files / dsf_mobility-5.8.8.tar.gz

Download URL dsf_mobility-5.8.8.tar.gz
Size 151.6 kB
Tags Source
SHA-256 checksum
How to use checksums
cd7d28c049afd1d63cff02d5028ad04aa08e44ffa515e265d8c83031e47c5666
BLAKE2b-256 checksum
How to use checksums
e12bc1d0b076f21bad9fe2f173477b83e5b7ddaf4793e66bbb638705e96c63b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Release files / dsf_mobility-5.8.8-cp314-cp314-win_amd64.whl

Download URL dsf_mobility-5.8.8-cp314-cp314-win_amd64.whl
Size 1.5 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
0b4bbd02df3cb6bd8f871d9cf80550d4779d110d40213db386d57c34ccf962f4
BLAKE2b-256 checksum
How to use checksums
8b504fcf93029ae1249ebb9e8e34c684b23560e8cb6c9b1235d3f72cbf2c503e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Release files / dsf_mobility-5.8.8-cp314-cp314-win32.whl

Download URL dsf_mobility-5.8.8-cp314-cp314-win32.whl
Size 1.5 MB
Tags CPython 3.14 Windows x86-32
SHA-256 checksum
How to use checksums
aacb9a98a4d8ab7dc380d4171b17deb80550cbd876fef45b457ca03cf36b3f3f
BLAKE2b-256 checksum
How to use checksums
9391bd137c4ce6c3bb99e5db6b78467851fc61b02259a607958fc54b8f13e358
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Release files / dsf_mobility-5.8.8-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL dsf_mobility-5.8.8-cp314-cp314-manylinux_2_28_x86_64.whl
Size 2.1 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3f8882392cda387a8df9afe347443f0db7d26bdb570a94de17cb09fef943b95e
BLAKE2b-256 checksum
How to use checksums
f78a13591154426194e93b85d6e5a4b10249a8bb6743735c3e8ba886cb19fbff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Release files / dsf_mobility-5.8.8-cp314-cp314-macosx_15_0_arm64.whl

Download URL dsf_mobility-5.8.8-cp314-cp314-macosx_15_0_arm64.whl
Size 1.4 MB
Tags CPython 3.14 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
34ecdaea354369b7c5daf7acb108ac62e79329251c234c517af3e4db8c04e935
BLAKE2b-256 checksum
How to use checksums
0c040ee6607971d764f45c711b3be490993755ed239508ea6000f59898935f25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Release files / dsf_mobility-5.8.8-cp312-cp312-win_amd64.whl

Download URL dsf_mobility-5.8.8-cp312-cp312-win_amd64.whl
Size 1.5 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
70634306793708873294871d0bfe7a87b2891333724d27b6ca3d9551d250d5e9
BLAKE2b-256 checksum
How to use checksums
8298f09859c2a91634b065af8a41262e9d4da98a4b4487848fa3cc213e9ad66f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Release files / dsf_mobility-5.8.8-cp312-cp312-win32.whl

Download URL dsf_mobility-5.8.8-cp312-cp312-win32.whl
Size 1.5 MB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
0d04d8402bbb0e9bf4166fb527292b2c6112aea82ceadde9f4e630ffcd634973
BLAKE2b-256 checksum
How to use checksums
0daf1078893b573533f161bc56a35664811aafefe27f1f936758fea9059aeb8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Release files / dsf_mobility-5.8.8-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL dsf_mobility-5.8.8-cp312-cp312-manylinux_2_28_x86_64.whl
Size 2.1 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
94e31d73717f4e1a765809535c4a89b70346b2404ce8474e0e236c062201b5df
BLAKE2b-256 checksum
How to use checksums
ab6cf794174c1a04c3d31a380f69930637b1dadd8c10a660badcd86ef37bc430
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Release files / dsf_mobility-5.8.8-cp312-cp312-macosx_15_0_arm64.whl

Download URL dsf_mobility-5.8.8-cp312-cp312-macosx_15_0_arm64.whl
Size 1.4 MB
Tags CPython 3.12 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
637c8ec1ad59c69b11dfce53cacfd29688b16fe766a15c9cb56d53beda275910
BLAKE2b-256 checksum
How to use checksums
bf187d46c09151bccf2006b2ad416da6280a754852886e67b85a9c355c9d5a8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Release history Release notifications | RSS feed

This release

5.8.8 This release

9 release files

5.8.6

9 release files

5.8.5

9 release files

5.8.4

7 release files

5.8.2

7 release files

5.8.1

7 release files

5.8.0

7 release files

5.7.0

7 release files

5.6.0

7 release files

5.5.0

7 release files

5.4.0

7 release files

5.3.5

7 release files

5.3.4

7 release files

5.3.3

7 release files

5.3.2

7 release files

5.3.1

7 release files

5.3.0

7 release files

5.2.0

7 release files

5.1.2

7 release files

5.1.1

7 release files

5.1.0

7 release files

5.0.3

7 release files

5.0.2

7 release files

5.0.1

7 release files

5.0.0

7 release files

4.7.9

7 release files

4.7.8

7 release files

4.7.7

7 release files

4.7.6

7 release files

4.7.5

7 release files

4.7.4

7 release files

4.7.3

7 release files

4.7.0

7 release files

4.6.2

7 release files

4.6.1

7 release files

4.6.0

7 release files

4.5.5

7 release files

4.5.4

7 release files

4.5.3

7 release files

4.5.2

7 release files

4.5.1

7 release files

4.5.0

5 release files

4.4.9

5 release files

4.4.8

5 release files

4.4.7

5 release files

4.4.6

5 release files

4.4.5

5 release files

4.4.4

5 release files

4.4.3

5 release files

4.4.2

5 release files

4.4.1

5 release files

4.4.0

5 release files

4.3.1

5 release files

4.3.0

5 release files

4.2.0

5 release files

4.1.0

5 release files

4.0.2

5 release files

4.0.1

5 release files

4.0.0

5 release files

3.14.1

5 release files

3.14.0

5 release files

3.13.5

5 release files

3.13.4

5 release files

3.13.3

5 release files

3.13.2

5 release files

3.13.1

5 release files

3.13.0

5 release files

3.12.1

5 release files

3.12.0

5 release files

3.11.1

5 release files

3.9.4

6 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