# 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.
Raw data
{
"_id": null,
"home_page": "https://github.com/mikeqfu/pyrcs",
"name": "pyrcs",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "Python, Railway, Railway Codes, Bridges, Computer Reservation System, CRS, National Location Codes, NLC, Timing Point Locations, TIPLOC, Station Number Names, STANME, Station Numbers, STANOX, Electrification, Engineer's Line References, ELR, Mileage, Line Of Route, LOR, Railway Line Names, Railway Bridges, Stations, Signal Boxes, Tunnels, Viaducts, Depots, Tracks",
"author": "Qian Fu",
"author_email": "q.fu@bham.ac.uk",
"download_url": "https://files.pythonhosted.org/packages/38/6b/2a3ccfc584b50f9d33dc1a987e4e3a146ff2c4ae0bbbb340c05119a455fd/pyrcs-1.0.2.tar.gz",
"platform": null,
"description": "# PyRCS\r\n\r\n[](https://pypi.org/project/pyrcs/)\r\n[](https://docs.python.org/3/)\r\n[](https://github.com/mikeqfu/pyrcs/blob/master/LICENSE)\r\n[](https://pyrcs.readthedocs.io/en/latest/?badge=latest)\r\n[](https://github.com/mikeqfu/pyrcs/actions)\r\n[](https://app.codacy.com/gh/mikeqfu/pyrcs/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)\r\n[](https://codecov.io/gh/mikeqfu/pyrcs)\r\n[](https://doi.org/10.5281/zenodo.4026744)\r\n\r\nPyRCS 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.\r\n\r\nDuring [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.\r\n\r\nWith PyRCS, users can leverage Python's power to streamline workflows and enhance productivity when working with railway codes in the UK rail industry.\r\n\r\n## Installation\r\n\r\nTo install the latest version of pyrcs from [PyPI](https://pypi.org/project/pyrcs/) via [pip](https://pip.pypa.io/en/stable/cli/pip/):\r\n\r\n```bash\r\n$ pip install --upgrade pyrcs\r\n```\r\n\r\nFor more information, see the [Installation](https://pyrcs.readthedocs.io/en/latest/installation.html). \r\n\r\n## Quick start\r\n\r\nFor 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: \r\n\r\n* [Location identifiers](http://www.railwaycodes.org.uk/crs/CRS0.shtm) (CRS, NLC, TIPLOC and STANOX codes)\r\n* [Engineer\u2019s Line References](http://www.railwaycodes.org.uk/elrs/elr0.shtm) (ELRs) and their associated mileage files\r\n* [Railway station data](http://www.railwaycodes.org.uk/stations/station1.shtm) (mileages, operators and grid coordinates)\r\n\r\n## Documentation\r\n\r\nThe complete PyRCS Documentation is available in [HTML](https://pyrcs.readthedocs.io/en/latest/) and [PDF](https://pyrcs.readthedocs.io/_/downloads/en/latest/pdf/) formats.\r\n\r\nIt 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. \r\n\r\n## Cite as\r\n\r\nFu, 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)\r\n\r\n```bibtex\r\n@software{Fu_PyRCS_2020,\r\n author = {Fu, Qian},\r\n title = {{PyRCS: An open-source tool for collecting railway codes used in different UK rail industry systems}},\r\n year = 2020,\r\n publisher = {Zenodo},\r\n doi = {10.5281/zenodo.4026744},\r\n license = {MIT},\r\n url = {https://github.com/mikeqfu/pyrcs}\r\n}\r\n```\r\n\r\nFor 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).\r\n\r\n## License\r\n\r\nPyRCS is licensed under the [MIT License](https://github.com/mikeqfu/pyrcs/blob/master/LICENSE).\r\n\r\nPlease 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.\r\n\r\n## Acknowledgement\r\n\r\nPyRCS 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.\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "An open-source tool for collecting railway codes used in different UK rail industry systems",
"version": "1.0.2",
"project_urls": {
"Bug Tracker": "https://github.com/mikeqfu/pyrcs/issues",
"Documentation": "https://pyrcs.readthedocs.io/en/1.0.2/",
"Homepage": "https://github.com/mikeqfu/pyrcs",
"Source": "https://github.com/mikeqfu/pyrcs"
},
"split_keywords": [
"python",
" railway",
" railway codes",
" bridges",
" computer reservation system",
" crs",
" national location codes",
" nlc",
" timing point locations",
" tiploc",
" station number names",
" stanme",
" station numbers",
" stanox",
" electrification",
" engineer's line references",
" elr",
" mileage",
" line of route",
" lor",
" railway line names",
" railway bridges",
" stations",
" signal boxes",
" tunnels",
" viaducts",
" depots",
" tracks"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "d298b4cd07f540f5606dce620a6a17fe65df9ae84982901ca8de3a5f303befa1",
"md5": "a0cb1485b9588cd00fb82791bf2b8f24",
"sha256": "25920ba1ec7c4bb9ddf28aabefaa7e1510f2b746317d613c3b10e9a4c4bb6e3f"
},
"downloads": -1,
"filename": "pyrcs-1.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a0cb1485b9588cd00fb82791bf2b8f24",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 1984835,
"upload_time": "2025-07-12T20:14:28",
"upload_time_iso_8601": "2025-07-12T20:14:28.729622Z",
"url": "https://files.pythonhosted.org/packages/d2/98/b4cd07f540f5606dce620a6a17fe65df9ae84982901ca8de3a5f303befa1/pyrcs-1.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "386b2a3ccfc584b50f9d33dc1a987e4e3a146ff2c4ae0bbbb340c05119a455fd",
"md5": "d74312f6848d1ea2700075d70eb12eef",
"sha256": "81aa32f1650f1335c3c02ff7084b0f6a1edc343957b9286d2b7997cc38d81a10"
},
"downloads": -1,
"filename": "pyrcs-1.0.2.tar.gz",
"has_sig": false,
"md5_digest": "d74312f6848d1ea2700075d70eb12eef",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 1814087,
"upload_time": "2025-07-12T20:14:32",
"upload_time_iso_8601": "2025-07-12T20:14:32.497598Z",
"url": "https://files.pythonhosted.org/packages/38/6b/2a3ccfc584b50f9d33dc1a987e4e3a146ff2c4ae0bbbb340c05119a455fd/pyrcs-1.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-12 20:14:32",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mikeqfu",
"github_project": "pyrcs",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "build",
"specs": [
[
"==",
"1.2.2.post1"
]
]
},
{
"name": "fqdn",
"specs": [
[
"==",
"1.5.1"
]
]
},
{
"name": "furo",
"specs": [
[
"==",
"2024.8.6"
]
]
},
{
"name": "isoduration",
"specs": [
[
"==",
"20.11.0"
]
]
},
{
"name": "jaraco.collections",
"specs": [
[
"==",
"5.1.0"
]
]
},
{
"name": "jsonpointer",
"specs": [
[
"==",
"3.0.0"
]
]
},
{
"name": "notebook",
"specs": [
[
"==",
"7.4.4"
]
]
},
{
"name": "pip-chill",
"specs": [
[
"==",
"1.0.3"
]
]
},
{
"name": "pkginfo",
"specs": [
[
"==",
"1.12.1.2"
]
]
},
{
"name": "pyhelpers",
"specs": [
[
"==",
"2.3.0"
]
]
},
{
"name": "pytest-cov",
"specs": [
[
"==",
"6.2.1"
]
]
},
{
"name": "pytest-xdist",
"specs": [
[
"==",
"3.8.0"
]
]
},
{
"name": "sphinx-copybutton",
"specs": [
[
"==",
"0.5.2"
]
]
},
{
"name": "sphinx-new-tab-link",
"specs": [
[
"==",
"0.8.0"
]
]
},
{
"name": "sphinx-toggleprompt",
"specs": [
[
"==",
"0.6.0"
]
]
},
{
"name": "tinycss2",
"specs": [
[
"==",
"1.4.0"
]
]
},
{
"name": "tomli",
"specs": [
[
"==",
"2.0.1"
]
]
},
{
"name": "twine",
"specs": [
[
"==",
"6.1.0"
]
]
},
{
"name": "uri-template",
"specs": [
[
"==",
"1.3.0"
]
]
},
{
"name": "webcolors",
"specs": [
[
"==",
"24.11.1"
]
]
}
],
"lcname": "pyrcs"
}