Skip to main content

Python API Wrapper Package for the Realtime Trains API.

Project description

Realtime Trains API Python Module

Maintained and managed by members of realtime-trains-lang.

PyPI License Issues

Check out our release notes.

Read the documentation.

About this package

realtime-trains-py is an open-source python API Wrapper designed to allow you to access data directly from the Realtime Trains API, in a simple and user-friendly way. This package includes five different complexity modes that allow you to customise how you want to see the data provided by the API.

This package can be used for anything railway related, whether you're a rail enthusiast or commuter, this package can be used for all your purposes. The package can be used in personal applications or for personal rail data access. For commercial use, you should contact Realtime Trains. More information can be found on their API home page

This package is not affiliated with Realtime Trains.

What can I do with this package?

This package allows you to access data directly from the Realtime Trains API using one of five complexities. Each complexity mode gives you access to different access to the data the API offers.

For the most flexibility, you can use simple mode, the recommended mode. Simple mode allows you to access a fair amount of the data available from the Realtime Trains API. This mode is recommended for those that want a manageable amount of information while keeping it easy to read. Use complexity="s".

For the most freedom with the API, you can use complex mode. Complex mode lets you access all the data available from the Realtime Trains API. This mode does not format any data for you - it creates new .json files with the data you requested. This mode is recommended for those who have a good understanding of python and managing json files. Use complexity="c".

For a balance of freedom and flexibility, you can use advanced mode. Advanced mode allows you to access most of the data available from the Realtime Trains API. This mode is recommended for those that want to see a bit more information, but like to keep things easy to read. Use complexity="a".

Using advanced and simple mode, you can optionally select between prettier or normal mode. The default, prettier mode, gives you your data in a nicely formatted table, while normal mode gives you your data as a list of objects, so you'll need to get the data out of the objects yourself. To use a normal mode, use complexity="s.n" or complexity="a.n". Don't worry though! If you're confused, we have plenty of documentation to help you out.

Installation Instructions

To install the package, simply run the following command in your terminal:

$ pip install realtime-trains-py

Alternatively, you can clone, fork or download the repository onto your device.

Once installed, you can import the package. Place the lines below in your file or you can run them directly in your terminal.

from realtime_trains_py import RealtimeTrainsPy

rtt = RealtimeTrainsPy(
    username="<your_username>", 
    password="<your_password>", 
    complexity="<your_choice>"
)

Check out our full setup guide for more help setting up.

You'll need an account for the Realtime Trains API to use this package. You can sign up for free at the API home page.

Examples

Get Live

The example below will display a live departure board for Ely.
rtt.get_live(tiploc="ELYY")

Get Departures

The example below will return up to 15 rows on the departure board for London King's Cross at the time you run the program.
rtt.get_departures(tiploc="KNGX", rows=15)

Get Arrivals

The example below will return up to 15 rows on the arrivals board for London King's Cross at the time you run the program.
rtt.get_arrivals(tiploc="KNGX", rows=15)

Get Service

The example below will return the service information of G28171 (2H18 0958 London Liverpool Street to Cambridge North) at the time you run the program.
rtt.get_service(service_uid="G28171")

Get Station

The example below will return up to 30 rows of departures and arrivals for London King's Cross at the time you run the program.
rtt.get_station(tiploc="KNGX", rows=15)

More in-depth examples can be found on our examples page.

Licensing

The realtime-trains-py API Wrapper uses an MIT License.

All data is kindly provided by Realtime Trains through the Realtime Trains API.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

realtime_trains_py-2026.1.0b1.tar.gz (32.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

realtime_trains_py-2026.1.0b1-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

Details for the file realtime_trains_py-2026.1.0b1.tar.gz.

File metadata

  • Download URL: realtime_trains_py-2026.1.0b1.tar.gz
  • Upload date:
  • Size: 32.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for realtime_trains_py-2026.1.0b1.tar.gz
Algorithm Hash digest
SHA256 245e662648f28e7cd07716bac72cba7352574adfb7dbde514bdadba867152276
MD5 f58242d2446bdfc494a1e72f8e299252
BLAKE2b-256 c58158daea82b0459da1532c0a6240ba0fd287ae5015e6431ea3d176db7afa4d

See more details on using hashes here.

File details

Details for the file realtime_trains_py-2026.1.0b1-py3-none-any.whl.

File metadata

File hashes

Hashes for realtime_trains_py-2026.1.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 3d15aa5c08a1107bfae09e5e19f5c247d0f9b3f9872d3b45eeecaa3d3f0ebf03
MD5 8a52d091ddd8d651938afbc4cd3bad2f
BLAKE2b-256 b8335c4fb756acd23e4d347d927186f7db4321d6ab95e855f859a7fff92a8ab3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page