Argo is a library aimed at the fast calculation of generalised time matrices from GTFS files. By applying appropriate simplifications on the GTFS dataset, the library is able to calculate such matrices at scale. For example, it was possible to calculate an MSOA-to-MSOA matrix for England and Wales in ~1 hour (with a relatively large machine).
For more detailed instructions, see our documentation.
To install gtfs_skims, we recommend using the mamba package manager:
git clone [email protected]:arup-group/gtfs_skims.git
cd gtfs_skims
mamba create -n gtfs_skims -c conda-forge --file requirements/base.txt
mamba activate gtfs_skims
pip install --no-deps .
git clone [email protected]:arup-group/gtfs_skims.git
cd gtfs_skims
mamba create -n gtfs_skims -c conda-forge --file requirements/base.txt --file requirements/dev.txt
mamba activate gtfs_skims
pip install --no-deps -e .
For more detailed instructions, see our documentation.
There are many ways to contribute to gtfs_skims. Before making contributions to the gtfs_skims source code, see our contribution guidelines and follow the development install instructions.
If you plan to make changes to the code then please make regular use of the following tools to verify the codebase while you work:
pre-commit
: runpre-commit install
in your command line to load inbuilt checks that will run every time you commit your changes. The checks are: 1. check no large files have been staged, 2. lint python files for major errors, 3. format python files to conform with the pep8 standard. You can also run these checks yourself at any time to ensure staged changes are clean by simple callingpre-commit
.pytest
- run the unit test suite and check test coverage.pytest -p memray -m "high_mem" --no-cov
(not available on Windows) - after installing memray (mamba install memray pytest-memray
), test that memory and time performance does not exceed benchmarks.
For more information, see our documentation.
If you are unable to access the online documentation, you can build the documentation locally. First, install a development environment of gtfs_skims, then deploy the documentation using mike:
mike deploy develop
mike serve
Then you can view the documentation in a browser at http://localhost:8000/.
This package was created with Cookiecutter and the arup-group/cookiecutter-pypackage project template.