pyrcs

PyRCS: An open-source tool for collecting railway codes used in different UK rail industry systems

https://github.com/mikeqfu/pyrcs

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    2 of 5 committers (40.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.9%) to scientific vocabulary

Keywords

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 ·

Repository

PyRCS: An open-source tool for collecting railway codes used in different UK rail industry systems

Basic Info
Statistics
  • Stars: 9
  • Watchers: 1
  • Forks: 3
  • Open Issues: 1
  • Releases: 27
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
Created over 8 years ago · Last pushed 7 months ago
Metadata Files
Readme Changelog License Citation

README.md

PyRCS

PyPI Release Version Python Version License ReadTheDocs Documentation GitHub Actions Workflow Status Codacy - Code Quality Codecov - Test Coverage DOI

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 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, PyRCS includes a set of pre-packaged data. When users request data from a specific category on the Railway Codes 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 via pip:

bash $ pip install --upgrade pyrcs

For more information, see the Installation.

Quick start

For a concise guide on how to use PyRCS, check out the Quick Start tutorial, which includes illustrative examples for three frequently-used code categories in the UK railway system:

Documentation

The complete PyRCS Documentation is available in HTML and PDF formats.

It is hosted on Read the Docs, and the HTML version is also accessible via GitHub Pages. 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

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.

License

PyRCS is licensed under the MIT License.

Please note that this project was initially licensed under the GPLv3+ 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 website. The time and effort that the website's editor and all contributors put in making the site and data available are fully credited.

Owner

  • Name: Qian Fu
  • Login: mikeqfu
  • Kind: user
  • Company: University of Birmingham

Research Fellow @UoB-BCRRE

Citation (CITATION.cff)

cff-version: 1.2.0
title: >-
  PyRCS: An open-source tool for collecting railway codes
  used in different UK rail industry systems
message: >-
  If you use PyRCS and/or any code from its GitHub
  repository, please cite it using the metadata provided in
  this file. For specific version references of PyRCS,
  please refer to Zenodo
type: software
authors:
  - given-names: Qian
    family-names: Fu
    email: q.fu@bham.ac.uk
    affiliation: University of Birmingham
    orcid: 'https://orcid.org/0000-0002-6502-9934'
identifiers:
  - type: doi
    value: 10.5281/zenodo.4026744
    description: >-
      This DOI represents all versions of PyRCS, and will
      always resolve to the latest one.
repository-code: 'https://github.com/mikeqfu/pyrcs'
url: 'https://mikeqfu.github.io/pyrcs/'
repository: 'https://pyrcs.readthedocs.io/'
repository-artifact: 'https://pypi.org/project/pyrcs/'
abstract: >-
  PyRCS is an open-source Python package designed to
  simplify the collection and management of diverse codes
  used in different systems within the UK rail industry. It
  serves as a practical toolkit for researchers,
  practitioners, and individuals who frequently interact
  with the Railway Codes website and work extensively with
  railway codes in the UK. Leveraging the capabilities of
  the Python programming language, PyRCS enables efficient
  access to and manipulation of railway code data, enhancing
  productivity and effectiveness in working with these
  codes.

  During installation, PyRCS includes a set of pre-packaged
  data. When users request data from a specific category
  listed on the Railway Codes website, PyRCS automatically
  loads the corresponding pre-packaged data for that
  category by default. Additionally, it provides
  functionality that enables direct access to the latest
  data from the data source website, ensuring users can stay
  updated with the most current information. Furthermore,
  PyRCS users can conveniently update the relevant
  pre-packaged data, keeping their data 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.
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
license: MIT
date-released: '2020-09-12'

GitHub Events

Total
  • Create event: 22
  • Release event: 3
  • Issues event: 5
  • Delete event: 22
  • Issue comment event: 4
  • Push event: 57
  • Pull request event: 45
Last Year
  • Create event: 22
  • Release event: 3
  • Issues event: 5
  • Delete event: 22
  • Issue comment event: 4
  • Push event: 57
  • Pull request event: 45

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 949
  • Total Committers: 5
  • Avg Commits per committer: 189.8
  • Development Distribution Score (DDS): 0.016
Top Committers
Name Email Commits
mikeqfu q****u@o****m 934
Qian Fu m****u@u****m 10
Rhys Davies d****r@a****k 3
Rhys Davies f****n@h****m 1
Qian Fu F****Q@a****k 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 8
  • Total pull requests: 56
  • Average time to close issues: 3 months
  • Average time to close pull requests: 7 days
  • Total issue authors: 4
  • Total pull request authors: 4
  • Average comments per issue: 0.38
  • Average comments per pull request: 0.2
  • Merged pull requests: 49
  • Bot issues: 0
  • Bot pull requests: 6
Past Year
  • Issues: 4
  • Pull requests: 45
  • Average time to close issues: 5 days
  • Average time to close pull requests: about 1 hour
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.07
  • Merged pull requests: 44
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • mikeqfu (7)
  • mobile-appz (1)
  • thatch (1)
Pull Request Authors
  • mikeqfu (50)
  • dependabot[bot] (7)
  • Firtun (3)
  • JamesAllsopp (2)
Top Labels
Issue Labels
enhancement (4) bug (4) documentation (2)
Pull Request Labels
enhancement (38) documentation (31) bug (28) dependencies (12)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 1,209 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 1
  • Total versions: 27
  • Total maintainers: 1
pypi.org: pyrcs

An open-source tool for collecting railway codes used in different UK rail industry systems

  • Versions: 27
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 1,209 Last month
Rankings
Dependent packages count: 4.7%
Average: 16.3%
Downloads: 17.3%
Stargazers count: 18.5%
Forks count: 19.1%
Dependent repos count: 21.8%
Maintainers (1)
Last synced: 6 months ago

Dependencies

requirements.txt pypi
  • Babel ==2.10.1
  • Jinja2 ==3.1.2
  • MarkupSafe ==2.1.1
  • Pygments ==2.12.0
  • QtPy ==2.1.0
  • SQLAlchemy ==1.4.37
  • Send2Trash ==1.8.0
  • Shapely ==1.8.2
  • Sphinx ==5.0.1
  • alabaster ==0.7.12
  • anyio ==3.6.1
  • argon2-cffi ==21.3.0
  • argon2-cffi-bindings ==21.2.0
  • asttokens ==2.0.5
  • attrs ==21.4.0
  • backcall ==0.2.0
  • beautifulsoup4 ==4.11.1
  • bleach ==5.0.0
  • build ==0.8.0
  • certifi ==2022.5.18.1
  • cffi ==1.15.0
  • charset-normalizer ==2.0.12
  • colorama ==0.4.4
  • commonmark ==0.9.1
  • debugpy ==1.6.0
  • decorator ==5.1.1
  • defusedxml ==0.7.1
  • docutils ==0.17.1
  • entrypoints ==0.4
  • executing ==0.8.3
  • fastjsonschema ==2.15.3
  • greenlet ==1.1.2
  • idna ==3.3
  • imagesize ==1.3.0
  • importlib-metadata ==4.11.4
  • ipykernel ==6.14.0
  • ipython ==8.4.0
  • ipython-genutils ==0.2.0
  • ipywidgets ==7.7.0
  • jedi ==0.18.1
  • json5 ==0.9.8
  • jsonschema ==4.6.0
  • jupyter ==1.0.0
  • jupyter-client ==7.3.4
  • jupyter-console ==6.4.3
  • jupyter-core ==4.10.0
  • jupyter-server ==1.17.1
  • jupyterlab ==3.4.3
  • jupyterlab-pygments ==0.2.2
  • jupyterlab-server ==2.14.0
  • jupyterlab-widgets ==1.1.0
  • keyring ==23.6.0
  • matplotlib-inline ==0.1.3
  • mistune ==0.8.4
  • nbclassic ==0.3.7
  • nbclient ==0.6.4
  • nbconvert ==6.5.0
  • nbformat ==5.4.0
  • nest-asyncio ==1.5.5
  • notebook ==6.4.12
  • notebook-shim ==0.1.0
  • numpy ==1.22.4
  • packaging ==21.3
  • pandas ==1.4.2
  • pandocfilters ==1.5.0
  • parso ==0.8.3
  • pep517 ==0.12.0
  • pickleshare ==0.7.5
  • pkginfo ==1.8.3
  • prometheus-client ==0.14.1
  • prompt-toolkit ==3.0.29
  • psutil ==5.9.1
  • pure-eval ==0.2.2
  • pycparser ==2.21
  • pyhelpers ==1.4.0
  • pyparsing ==3.0.9
  • pyproj ==3.3.1
  • pyrsistent ==0.18.1
  • python-dateutil ==2.8.2
  • pytz ==2022.1
  • pywin32 ==304
  • pywin32-ctypes ==0.2.0
  • pywinpty ==2.0.5
  • pyzmq ==23.1.0
  • qtconsole ==5.3.1
  • readme-renderer ==35.0
  • requests ==2.28.0
  • requests-toolbelt ==0.9.1
  • rfc3986 ==2.0.0
  • rich ==12.4.4
  • six ==1.16.0
  • sniffio ==1.2.0
  • snowballstemmer ==2.2.0
  • soupsieve ==2.3.2.post1
  • sphinx-copybutton ==0.5.0
  • sphinx-rtd-theme ==1.0.0
  • sphinxcontrib-applehelp ==1.0.2
  • sphinxcontrib-devhelp ==1.0.2
  • sphinxcontrib-htmlhelp ==2.0.0
  • sphinxcontrib-jsmath ==1.0.1
  • sphinxcontrib-qthelp ==1.0.3
  • sphinxcontrib-serializinghtml ==1.1.5
  • stack-data ==0.2.0
  • terminado ==0.15.0
  • tinycss2 ==1.1.1
  • tomli ==2.0.1
  • tornado ==6.1
  • traitlets ==5.2.2.post1
  • twine ==4.0.1
  • urllib3 ==1.26.9
  • wcwidth ==0.2.5
  • webencodings ==0.5.1
  • websocket-client ==1.3.2
  • widgetsnbextension ==3.6.0
  • zipp ==3.8.0
pyproject.toml pypi
setup.py pypi