Metadata-Version: 2.4
Name: sitt
Version: 0.1.1
Summary: SiTT (Simulation of Traffic and Transport) is an agent-based simulation for pre-industrial trade routes.
Project-URL: Documentation, https://github.com/Simulation-of-Traffic-and-Transport/SiTT#readme
Project-URL: Issues, https://codeberg.org/SiTT/SiTT/issues
Project-URL: Source, https://codeberg.org/SiTT/SiTT
Author-email: Maximilian Kalus <info@auxnet.de>
License-Expression: MIT
License-File: LICENSE.txt
Keywords: ancient,history,simulation,trade,university
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Scientific/Engineering
Classifier: Typing :: Typed
Requires-Python: <3.13,>=3.11
Requires-Dist: cartopy==0.25.0
Requires-Dist: cdsapi>=0.7.7
Requires-Dist: contextily==1.7.0
Requires-Dist: dask>=2025.11.0
Requires-Dist: extremitypathfinder[numba]~=2.7.1
Requires-Dist: fiona>=1.10.1
Requires-Dist: geoalchemy2>=0.18.1
Requires-Dist: geopandas>=1.1.1
Requires-Dist: igraph>=1.0.0
Requires-Dist: jupyter==1.1.1
Requires-Dist: matplotlib>=3.10.7
Requires-Dist: nanoid>=2.0.0
Requires-Dist: netcdf4>=1.7.3
Requires-Dist: numpy>=1.26.4
Requires-Dist: openpyxl>=3.1.5
Requires-Dist: pandas>=2.3.3
Requires-Dist: psycopg2-binary>=2.9.11
Requires-Dist: pyproj>=3.7.2
Requires-Dist: pyshp>=3.0.3
Requires-Dist: python-dateutil>=2.9.0.post0
Requires-Dist: pyyaml>=6.0.3
Requires-Dist: rasterio>=1.4.3
Requires-Dist: requests>=2.32.5
Requires-Dist: rioxarray>=0.19.0
Requires-Dist: scipy>=1.16.3
Requires-Dist: shapely>=2.1.2
Requires-Dist: sortedcontainers>=2.4.0
Requires-Dist: sqlalchemy>=2.0.48
Requires-Dist: suntime>=1.3.2
Requires-Dist: timezonefinder>=8.1.0
Requires-Dist: xarray>=2025.12.0
Provides-Extra: dev
Requires-Dist: pandas-stubs~=2.3.3; extra == 'dev'
Requires-Dist: pytest>=8.4.2; extra == 'dev'
Description-Content-Type: text/markdown

# SiTT (Simulation of Traffic and Transport)

SiTT is a program suite to simulate the traffic and transport of pre-industrial societies. It uses an agent-based
approach to model the simulation. An agent can be thought of as a batch of cargo transported through the network
(rather than an individual person travelling it).

[![PyPI - Version](https://img.shields.io/pypi/v/sitt.svg)](https://pypi.org/project/sitt)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/sitt.svg)](https://pypi.org/project/sitt)

*Note:* This suite was developed as part of the [STRADA](https://strada.uni-trier.de/) project at the University of
Trier.

Main repository: https://codeberg.org/SiTT/SiTT  
Public mirror: https://github.com/Simulation-of-Traffic-and-Transport/SiTT

-----

**Table of Contents**

- [Installation](#installation)
- [Documentation](#documentation)
- [Examples](#examples)
- [License](#license)

## Installation

You need Python 3.11 or later to run SiTT Moreover, the principal components of the simulation are contained in a
PostgreSQL database, more specifically one with the [PostGIS](https://www.postgis.net/) extension. PostGis should
be pretty recent and should have Geos >= 3.11.0 included, otherwise we will have to implement certain things in Python
which will be pretty slow. SiTT also makes use of JSONB in PostgreSQL, but since this has been introduced in
version 9.4, it is likely, your database server will support this feature anyway.

```console
pip install sitt
```

After installation, you can run SiTT using it as a module:

```console
python -m sitt
```

This will activate the command line interface and print a help message. For other ways to run SiTT, check out the
examples below.

## Dependencies

Installing SiTT as package should install all dependent packages, too. You might want to install them by hand and/or
install the extra dependencies for certain use cases:

```console
pip install -r requirements.txt
pip install -r requirements_extras.txt
```

The extras file contains optional python modules such as pytest or the binary Postgres package.

## Testing

You can run unit tests using pytest:

```console
pip install pytest
cd tests
pytest -v .
```

## Documentation

You can read some documentation on the following pages:

* [SiTT'S General Concept](readmes/concept.md) (with figures)
* [Database Reference](readmes/database.md)

## Examples

Can be found in the [examples directory](examples/README.md).

## License

`sitt` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
