Skip to content

Releases: mobility-team/mobility

v0.2.1

19 Jun 14:40
134cfd2

Choose a tag to compare

New Features

  • Added Pixi as the recommended installation path for transport modellers. The release now provides a pixi.toml file 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 PopulationGroupDayTrips can 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.toml and environment.yml are 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.1

The 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

11 Jun 16:33
81b27db

Choose a tag to compare

New Features

  • Mobility can now be installed from PyPI as mobility-tools, while keeping the Python import name mobility. (#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, malformed calendar_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-tools

Keep importing the package as before:

import mobility

Public 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

Read more

Mobility v0.0.1

10 Jun 10:15

Choose a tag to compare

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

Full Changelog: https://github.com/mobility-team/mobility/commits/v0.0.1