Pymetropolis
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
About The Project
METROPOLIS2 is a dynamic multi-modal agent-based transport simulator.
Built With
Pymetropolis make use of some great Python libraries, including:
- duckdb for efficient data processing
- 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
Semver
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.
Getting Started
- 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.
Contributing
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.
License
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 your 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.
Contact
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
Acknowledgments
Pymetropolis benefited from the work of Kokouvi Joseph Djafon on the calibration tools.
Metadata
Release files for pymetropolis 0.12.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pymetropolis-0.12.0.tar.gz | 188.0 kB | Without provenance | Details for pymetropolis-0.12.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pymetropolis-0.12.0-py3-none-any.whl | Python 3 | none | any | Details for pymetropolis-0.12.0-py3-none-any.whl |
Total release size: 436.9 kB
Release files / pymetropolis-0.12.0.tar.gz
| Download URL | pymetropolis-0.12.0.tar.gz |
|---|---|
| Size | 188.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b9c90fad0262f96e74292f22a2929e301f17f8e4c1e28a89e31a13a15c0db936
|
|
BLAKE2b-256 checksum How to use checksums |
ffd7a8ec6d74b1d8b5b305021ad24133ef54b4cd38ec77848762ae3dff9ceb79
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / pymetropolis-0.12.0-py3-none-any.whl
| Download URL | pymetropolis-0.12.0-py3-none-any.whl |
|---|---|
| Size | 248.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d54f744e884207fbb9c2ab9e6b6ef176dde950fcfd4b2f856c8446fcd207759e
|
|
BLAKE2b-256 checksum How to use checksums |
14619cc2599bb6962dd2e56a88ee0e17edaf340fcc02933d8daadb151a52bcdf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for pymetropolis 0.12.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.