Releases: mobility-team/mobility
v0.2.1
New Features
- Added Pixi as the recommended installation path for transport modellers. The release now provides a
pixi.tomlfile that creates the Python, R,osmium-tool, and Mobility environment from one project folder. (#388) - Kept the mamba environment file as a fallback for users who already have a working mamba setup. (#388)
- Added a Mobility runtime Docker image with Python, R,
osmium-tool, and the system libraries needed to run Mobility scripts. (#387, #390, #394) - Added country-neutral grouped trip support, so
PopulationGroupDayTripscan now work beyond the previous France-only assumptions. (#383) - Added French GTFS source filtering by administrative areas, which makes it easier to select public transport feeds that cover the study area. (#379)
Bug Fixes
- Fixed car graph access-tag handling, including mixed HOV lanes and restricted access cases. (#384)
- Fixed Swiss urban unit category mapping. (#386)
- Fixed missing urban unit categories so local administrative units can still be prepared when some categories are absent from the source data. (#393)
- Added follow-up tests for country-neutral helpers to protect the new country registry and grouped trip behavior. (#385)
Chores
- Updated the release workflow so
pixi.tomlandenvironment.ymlare both attached to GitHub releases. (#388) - Split runtime image publishing from the PyPI release. The package is now published first, then the Docker image is built manually after the new package exists on PyPI. (#390, #391, #394)
- Updated installation, quickstart, contributor, release, and README documentation for the Pixi-first install flow. (#388, #394)
Migration Notes
The recommended install path now uses Pixi:
mkdir first-mobility-study
cd first-mobility-study
curl -L -o pixi.toml "https://github.com/mobility-team/mobility/releases/download/v0.2.1/pixi.toml"
pixi install
pixi run python -c "import mobility; print(mobility.__file__)"The Python package name is still mobility-tools, and the Python import name is still mobility.
The mamba fallback remains available:
curl -L -o environment.yml "https://github.com/mobility-team/mobility/releases/download/v0.2.1/environment.yml"
mamba env create -n mobility -f environment.yml
mamba activate mobility
pip install mobility-tools==0.2.1The runtime Docker image is published separately after the PyPI package is available:
docker run --rm ghcr.io/mobility-team/mobility-runtime:0.2.1 python -c "import mobility; print(mobility.__file__)"Changelog
This is a small release after v0.2.0. It mainly improves installation and release assets, adds a prepared runtime image, and fixes country and administrative-area edge cases found while preparing French and Swiss studies.
What's Changed
- Filter French GTFS sources with admin areas by @FlxPo in #379
- Make PopulationGroupDayTrips country-neutral by @FlxPo in #383
- Fix car graph access tags by @FlxPo in #384
- Add follow-up coverage tests for country-neutral helpers by @FlxPo in #385
- Fix Swiss urban unit category mapping by @FlxPo in #386
- Add a Mobility runtime Docker image by @FlxPo in #387
- Install the released package in the runtime image by @FlxPo in #390
- Limit runtime image validation on pull requests by @FlxPo in #391
- Fix missing urban unit categories by @FlxPo in #393
- Add Pixi install support by @FlxPo in #388
- Make runtime image publishing manual by @FlxPo in #394
Full Changelog: v0.2.0...v0.2.1
v0.2.0
New Features
- Mobility can now be installed from PyPI as
mobility-tools, while keeping the Python import namemobility. (#371) - Added a GitHub release workflow that builds release artifacts and publishes to PyPI with trusted publishing. (#371, #381, #382)
- Added reproducible GTFS source selection for public transport routing, so projects can share and reuse the same GTFS source catalog. (#369)
- Added support for Swiss data and improved French communal data. (#87, #85)
- Added modelling support for school, leisure, studies, carpool, public transport, congestion, and multimodal workflows. (#115, #262, #200, #136, #113, #205, #203)
- Added group day trip simulation with scenario-aware runs, iteration states, diagnostics, result tables, metrics, sensitivity analysis, and restart support. (#323, #341, #342, #348, #367, #261)
- Added scenario-aware and time-varying parameters, parameter validation, parameter reports, and default scenario fallbacks. (#258, #282, #340, #240, #366)
- Added transport-zone preparation improvements, sparse-zone merging, Python backend support, map helpers, and transport-zone reports. (#271, #332, #344, #331, #347)
- Added route, traffic, public transport, and travel-cost evaluation tools. (#211, #205, #222, #203)
- Added a Dash asset DAG viewer to inspect runtime dependencies. (#360)
Bug Fixes
- Fixed package runtime resources so installed users get the data files needed by Mobility. (#371, #382)
- Fixed public transport leg parameter resolution for scenario-and-iteration-dependent access and egress costs. (#370)
- Fixed GTFS parsing and routing edge cases, including missing
agency_id, malformedcalendar_dates, and GTFS time-offset issues. (#180, #175, #217) - Fixed high memory usage and improved memory handling in long simulations. (#328, #343)
- Fixed bugs in PopulationTrips, destination sampling, trip home returns, metrics, probability calculations, and flow reuse between runs. (#164, #238, #310, #327, #214, #215, #260, #349)
- Fixed transport graph and congestion issues, including cleanup, OSM filtering, one-way tags, restricted roads, ferry links, and lane capacity parsing. (#306, #234, #207, #176, #320)
- Fixed CI download progress crashes caused by overlapping Rich progress displays. (#378)
- Fixed compatibility issues with newer pandas, pyarrow, R, and dependency versions. (#60, #67, #119, #275)
Chores
- Reworked the release process around PyPI, GitHub releases, trusted publishing, release docs, and packaged artifact checks. (#371, #377, #380, #381, #382)
- Simplified the release build so it no longer depends on the custom CI container image. (#381)
- Added and improved CI workflows, coverage reporting, Codecov, Dependabot, macOS install checks, and a prebuilt CI image for normal tests. (#29, #32, #102, #139, #243, #249, #278, #355, #356, #357)
- Improved dependency management for users, tests, Python packages, and R packages. (#275, #168, #371)
- Added a PR template and clearer contribution workflow. (#286)
- Reworked documentation, README files, Read the Docs setup, quickstart material, examples, model pages, API notes, and dependency notes. (#30, #33, #63, #64, #65, #66, #72, #73, #74, #75, #186, #321, #368)
- Switched the maintained quickstart and tests to the Limoges example. (#354)
Migration Notes
Install from PyPI with:
pip install mobility-toolsKeep importing the package as before:
import mobilityPublic transport routing now expects explicit GTFS routing inputs such as gtfs_reference_date and gtfs_sources_folder for reproducible runs. (#369)
Existing projects should be reviewed before rerunning because model internals, transport costs, parameters, dependencies, and public transport inputs changed substantially since v0.0.1.
Changelog
This is a broad catch-up release after several years without a formal release. The highlights above summarize the main user-facing changes; the full generated changelog below includes feature work, fixes, documentation, CI, packaging, and internal refactors.
What's Changed
- Bases demande opportunite by @AntoineGauchot in #17
- [example] improve Millau example by @Mind-the-Cap in #21
- add flake8 and pytest by @Mind-the-Cap in #29
- ajout de codecov by @Mind-the-Cap in #32
- Create README.md by @Mind-the-Cap in #30
- Improve docstrings by @Mind-the-Cap in #34
- Création d'un README pour les données by @Mind-the-Cap in #33
- Add db comparison example by @louisegontier in #40
- Update scripts groupe 1 by @AyoubFOUNDOU in #46
- Comments by @AyoubFOUNDOU in #50
- Update scripts groupe 1 by @cpequign in #49
- Update scripts groupe 1 by @cpequign in #52
- Update scripts groupe 1 by @AnasLahmar in #53
- Update scripts groupe 1 by @AnasLahmar in #54
- readme update by @AnasLahmar in #55
- Add trip type and BLOGDIST by @Mind-the-Cap in #36
- fix bug in emp_2019 parser by @louisegontier in #56
- Add info about INSEE data in the readme by @Mind-the-Cap in #41
- Add numeric_only arg to pandas sum to avoid an error by @FlxPo in #60
- Carbon by @louisegontier in #31
- Small docstrings improvements by @Mind-the-Cap in #62
- Add config for readthedocs by @Mind-the-Cap in #63
- Improve doc config by @Mind-the-Cap in #64
- Amélioration des README by @Mind-the-Cap in #65
- Change doc config by @Mind-the-Cap in #66
- Test doc by @Mind-the-Cap in #70
- Test doc by @Mind-the-Cap in #71
- Use myst_parser for readthedocs by @Mind-the-Cap in #72
- Add a (Markdown) index in doc by @Mind-the-Cap in #73
- Various improvements by Centrale Lyon students by @Mind-the-Cap in #58
- Change Sphinx configuration by @Mind-the-Cap in #74
- Add Readthedocs configuration by @Mind-the-Cap in #75
- Ajout de pyarrow dans les packages nécessaires by @FlxPo in #67
- Departments radiation functions are now main functions by @Mind-the-Cap in #76
- Add badges by @Mind-the-Cap in #77
- Change test strategy by @Mind-the-Cap in #78
- Update test_ademe_base_carbone_api.py by @Mind-the-Cap in #86
- [Data] Update communal data in France by @Mind-the-Cap in #85
- Add Swiss data by @Mind-the-Cap in #87
- Update conf.py by @Mind-the-Cap in #93
- Localisation multimodale des trajets domicile-travail by @FlxPo in #113
- Montée de version de R de 4.1.3 à 4.4.1 by @FlxPo in #119
- Create install-mac.yml by @FlxPo in #139
- Add all changes from carpool branch by @Mind-the-Cap in #136
- Ajout de la possibilité de calibrer le modèle de radiation pour le motif domicile-travail by @FlxPo in #114
- R packages errors by @Mind-the-Cap in #128
- Correction de bugs dans la préparation des données GTFS by @FlxPo in #161
- Correction d'une erreur de colonne manquante dans Population by @FlxPo in #164
- Refactoring et documentation PopulationTrips by @FlxPo in #165
- Suppression de la dépendance au package R readxl by @FlxPo in #168
- Correction de la méthode de construction de la variable socio_pro_category by @FlxPo in #172
- Forcer les noms de colonnes de la table calendar_dates des GTFS quand le parsing échoue by @FlxPo in #175
- Suppression des voies taggées "ferry" dans OSM dans les graphes de transport by @FlxPo in #176
- Améliorer la stratégie de gestion du cache by @FlxPo in #178
- Ajout de la colonne agency_id si manquante by @FlxPo in #180
- Une classe Results pour analyser les résultats de PopulationTrips by @FlxPo in #167
- Calcul de la colonne time dans PublicTransportGeneralizedCost.get by @f...
Mobility v0.0.1
What's Changed
- Scripts de préparation des données ENTD 2008 - EMP 2019 by @FlxPo in #8
- Initialisation de setup.py pour le packaging by @FlxPo in #9
- Nv meth echantillonnage by @AntoineGauchot in #11
New Contributors
- @FlxPo made their first contribution in #8
- @AntoineGauchot made their first contribution in #11
Full Changelog: https://github.com/mobility-team/mobility/commits/v0.0.1