Metadata-Version: 2.4
Name: mobility-tools
Version: 0.2.1
Summary: A tool to simulate the mobility behaviours of the inhabitants of a given region.
Author-email: Louise Gontier <l.gontier@elioth.fr>, Félix Pouchain <felix.pouchain@arep.fr>, Capucine-Marin Dubroca-Voisin <capucine-marin.dubroca-voisin@arep.fr>, Lucas Bohnenkamp <lucas.bohnenkamp@arep.fr>
Project-URL: Homepage, https://mobility-team.github.io/
Project-URL: Documentation, https://mobility.readthedocs.io/en/latest/index.html
Project-URL: Repository, https://github.com/mobility-team/mobility
Project-URL: Issues, https://github.com/mobility-team/mobility/issues
Project-URL: Changelog, https://github.com/mobility-team/mobility/releases
Keywords: mobility,transport systems
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: geopandas<1.2,>=1.1
Requires-Dist: numpy<3,>=2.0
Requires-Dist: pandas<3.1,>=2.3
Requires-Dist: scipy<2,>=1.11
Requires-Dist: requests<3,>=2.32
Requires-Dist: shortuuid<2,>=1.0
Requires-Dist: pyarrow<24,>=23.0
Requires-Dist: openpyxl<4,>=3.1
Requires-Dist: py7zr<2,>=1.1
Requires-Dist: rich<15,>=14
Requires-Dist: python-dotenv<2,>=1
Requires-Dist: geojson<4,>=3
Requires-Dist: matplotlib<4,>=3.10
Requires-Dist: mapclassify<3,>=2.10
Requires-Dist: pyogrio<1,>=0.12
Requires-Dist: polars<1.40,>=1.39.3
Requires-Dist: psutil<8,>=7
Requires-Dist: networkx<4,>=3.5
Requires-Dist: dash<4,>=3
Requires-Dist: dash-cytoscape<2,>=1
Requires-Dist: plotly<7,>=6.0
Requires-Dist: scikit-learn<1.9,>=1.8
Requires-Dist: gtfs_kit<13,>=12.0
Requires-Dist: kaleido<2,>=1.2
Requires-Dist: pydantic<3,>=2.12
Requires-Dist: tenacity<10,>=9
Requires-Dist: mobility-mode-sequence-search==0.1.0
Provides-Extra: truststore
Requires-Dist: truststore<1,>=0.10; extra == "truststore"
Provides-Extra: dev
Requires-Dist: build<2,>=1.5; extra == "dev"
Requires-Dist: coverage<8,>=7; extra == "dev"
Requires-Dist: flake8<8,>=7; extra == "dev"
Requires-Dist: pytest<10,>=8; extra == "dev"
Requires-Dist: pytest-cov<8,>=5; extra == "dev"
Requires-Dist: pytest-dependency<1,>=0.6; extra == "dev"
Requires-Dist: wheel<1,>=0.45; extra == "dev"
Dynamic: license-file

# Mobility, an open-source package for transport modelling

Mobility is an open-source Python package for modelling how people move in a local territory, from short trips to longer trips, for personal and work-related motives, on multimodal transport networks.

It was built for transport modellers, urban planners, students, and analysts who want to work with a full mobility workflow: define a study area, build a synthetic population, describe transport options, simulate daily trips, and compare scenarios. It can be used on regions made of hundreds of communes or zones, mainly in France and Switzerland today.

Mobility estimates travel diaries for a local sample population. The model uses individual socio-economic characteristics, expected daily activity programmes, opportunities at places of interest, congestion on transport networks, and generalized transport costs. Most inputs can be prepared from open data. The package provides default parameters so a modeller can build a first working base case. These defaults still need local checks and calibration.

Mobility can help you explore questions such as:

- how many trips are made by car, bicycle, walking, or public transport,
- where the main origin-destination flows are,
- how travel distances, travel times, and emissions change between scenarios,
- what happens when a new line, a cost change, or a land-use change is added to the model.

After a first run, you can inspect simulated daily plan steps, aggregate indicators by mode or activity, origin-destination flow plots, diagnostics by iteration, and scenario comparisons.

The package is mainly focused today on French and Swiss territories. It uses open data, mobility surveys, Python, R, and compiled tools such as `osmium-tool`. The recommended install path uses Pixi to prepare the project environment and install Mobility from PyPI as `mobility-tools`. The mamba environment file is still provided as a fallback for now.

<img width="305" height="256" alt="Flow map of Bayonne region" src="https://github.com/user-attachments/assets/629e5ed0-aa5a-4949-acc6-60615e8f31b5" />
<img width="305" height="256" alt="Car modal share of Bayonne region" src="https://github.com/user-attachments/assets/9fb95b35-4443-40d0-8640-ce1c9846d83b" />

## Start Here

- [Install Mobility](docs/source/installation.md), then run the local quickstart.
- [Run the quickstart](docs/source/quickstart.md) to build a small Limoges model and read first indicators.
- [Read the full documentation](https://mobility.readthedocs.io/en/latest/) when you want to adapt the workflow to a real study.
- [Visit the French project website](https://mobility-team.github.io/)
- [Open an issue](https://github.com/mobility-team/mobility/issues)

Mobility has been developed mainly by [AREP](https://arep.fr) and [Elioth](https://elioth.com/) with [ADEME](https://wiki.resilience-territoire.ademe.fr/wiki/Mobility) support, but anyone can join the project.

More project history, contributors, and example uses are listed in the documentation.
