Pymetropolis is a Python pipeline to generate, calibrate, run and analyze METROPOLIS2 simulation instances.
Explore the docs »
Website
·
Report Bug
·
Request Feature
Table of Contents
METROPOLIS2 is a dynamic multi-modal agent-based transport simulator.
Pymetropolis make use of some great Python libraries, including:
- geopandas for geospatial data manipulation
- loguru for logging
- matplotlib for data visualization
- networkx for graph manipulation
- numpy for arrays and random number generators
- pyosmium for OpenStreetMap data manipulation
- polars for extremely fast dataframes
- shapely for geometric objects
- typer for easy CLI
Pymetropolis is following Semantic Versioning 2.0.
Each new version is given a number MAJOR.MINOR.PATCH. An increase of the MAJOR number indicates backward incompatibilities with previous versions. An increase of the MINOR number indicates new features, that are backward-compatible. An increase of the PATCH number indicates bug fixes.
- Install the Python package with
pip install pymetropolis. - Download the Metropolis-Core simulator.
- Create a TOML configuration file describing the simulation instance.
- Run the pipeline with
pymetropolis my-config.toml.
For more details, please refer to the documentation. You can find complete examples of simulation instances in the official case studies.
If you would like to add a feature to Pymetropolis, start by opening an issue with the tag "enhancement" so that we can discuss its feasibility.
If your suggestion is accepted, you can then create a Pull Request:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
For more details, please read CONTRIBUTING.md and CODE_OF_CONDUCT.md.
Pymetropolis is free and open-source software licensed under the GNU General Public License v3.0.
You are free to:
- Modify and redistribute this software
- Use it for any purpose, personal or commercial
Under the following conditions:
- You retain the original copyright notice
- You distribute you modifications under the same license (GPL-3.0 or later)
- You document any significant changes you make
For the full license text and legal details, see the LICENSE.txt file.
If you have any questions, either post an issue or send an e-mail to any of these addresses:
- METROPOLIS2 team - contact@metropolis2.org
- Lucas Javaudin - metropolis@lucasjavaudin.com
Project Link: https://github.com/Metropolis2/pymetropolis
Pymetropolis benefited from the work of Kokouvi Joseph Djafon on the calibration tools.
