https://github.com/mikeqfu/pyrcs
PyRCS: An open-source tool for collecting railway codes used in different UK rail industry systems
https://github.com/mikeqfu/pyrcs
crs depots electrification elr elr-codes elr-mileage line-name lor nlc python rail railway-codes railways signal-boxes stanox stations tiploc tunnels uk-railway viaducts
Last synced: 6 months ago
JSON representation
PyRCS: An open-source tool for collecting railway codes used in different UK rail industry systems
- Host: GitHub
- URL: https://github.com/mikeqfu/pyrcs
- Owner: mikeqfu
- License: mit
- Created: 2017-05-26T10:42:12.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2025-03-19T11:16:44.000Z (7 months ago)
- Last Synced: 2025-04-12T23:51:39.768Z (6 months ago)
- Topics: crs, depots, electrification, elr, elr-codes, elr-mileage, line-name, lor, nlc, python, rail, railway-codes, railways, signal-boxes, stanox, stations, tiploc, tunnels, uk-railway, viaducts
- Language: Python
- Homepage: https://pyrcs.readthedocs.io
- Size: 1.21 MB
- Stars: 9
- Watchers: 1
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
README
# PyRCS
[](https://pypi.org/project/pyrcs/)
[](https://docs.python.org/3/)
[](https://github.com/mikeqfu/pyrcs/blob/master/LICENSE)
[](https://pyrcs.readthedocs.io/en/latest/?badge=latest)
[](https://github.com/mikeqfu/pyrcs/actions)
[](https://app.codacy.com/gh/mikeqfu/pyrcs/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
[](https://codecov.io/gh/mikeqfu/pyrcs)
[](https://doi.org/10.5281/zenodo.4026744)PyRCS is an open-source Python package that simplifies the collection and management of railway codes used across different systems in the UK rail industry. It provides a practical toolkit for researchers, practitioners and frequent users of the [Railway Codes](http://www.railwaycodes.org.uk/index.shtml) website who work extensively with railway codes in the UK. By leveraging Python's capabilities, PyRCS enables efficient access, retrieval and manipulation of railway code data, enhancing productivity and effectiveness in working with these codes.
During [installation](https://pyrcs.readthedocs.io/en/latest/installation.html), PyRCS includes a set of pre-packaged data. When users request data from a specific category on the [Railway Codes](http://www.railwaycodes.org.uk/index.shtml) website, PyRCS loads the corresponding pre-packaged data for that category by default. Additionally, it provides functionality for direct access to the latest data from the source website, ensuring users stay up to date. Users can also update the pre-packaged data as needed, keeping their resources synchronized with the latest developments.
With PyRCS, users can leverage Python's power to streamline workflows and enhance productivity when working with railway codes in the UK rail industry.
## Installation
To install the latest version of pyrcs from [PyPI](https://pypi.org/project/pyrcs/) via [pip](https://pip.pypa.io/en/stable/cli/pip/):
```bash
$ pip install --upgrade pyrcs
```For more information, see the [Installation](https://pyrcs.readthedocs.io/en/latest/installation.html).
## Quick start
For a concise guide on how to use PyRCS, check out the [Quick Start](https://pyrcs.readthedocs.io/en/latest/quick-start.html) tutorial, which includes illustrative examples for three frequently-used code categories in the UK railway system:
* [Location identifiers](http://www.railwaycodes.org.uk/crs/CRS0.shtm) (CRS, NLC, TIPLOC and STANOX codes)
* [Engineer’s Line References](http://www.railwaycodes.org.uk/elrs/elr0.shtm) (ELRs) and their associated mileage files
* [Railway station data](http://www.railwaycodes.org.uk/stations/station1.shtm) (mileages, operators and grid coordinates)## Documentation
The complete PyRCS Documentation is available in [HTML](https://pyrcs.readthedocs.io/en/latest/) and [PDF](https://pyrcs.readthedocs.io/_/downloads/en/latest/pdf/) formats.
It is hosted on [Read the Docs](https://app.readthedocs.org/projects/pyrcs/), and the HTML version is also accessible via [GitHub Pages](https://mikeqfu.github.io/pyrcs/). The documentation includes detailed examples, tutorials and comprehensive references to help users get the most out of PyRCS.
## Cite as
Fu, Q. (2020). PyRCS: an open-source tool for collecting railway codes used in different UK rail industry systems. Zenodo. [doi:10.5281/zenodo.4026744](https://doi.org/10.5281/zenodo.4026744)
```bibtex
@software{Fu_PyRCS_2020,
author = {Fu, Qian},
title = {{PyRCS: An open-source tool for collecting railway codes used in different UK rail industry systems}},
year = 2020,
publisher = {Zenodo},
doi = {10.5281/zenodo.4026744},
license = {MIT},
url = {https://github.com/mikeqfu/pyrcs}
}
```For specific version references, please refer to [Zenodo](https://zenodo.org/search?q=conceptrecid%3A%224026744%22&f=allversions%3Atrue&l=list&p=1&s=10&sort=version).
## License
PyRCS is licensed under the [MIT License](https://github.com/mikeqfu/pyrcs/blob/master/LICENSE).
Please note that this project was initially licensed under the [GPLv3+](https://github.com/mikeqfu/pyrcs/blob/0.3.7/LICENSE) up to version *0.3.7*. Starting with version *1.0.0*, it has been re-licensed under the MIT License.
## Acknowledgement
PyRCS uses data available from the [Railway Codes](http://www.railwaycodes.org.uk/index.shtml) website. The time and effort that the website's editor and [all contributors](http://www.railwaycodes.org.uk/misc/acknowledgements.shtm) put in making the site and data available are fully credited.