tfl

A Python package for the Transport for London (TFL) API.

MIT License

Downloads
289
Stars
2

A Python package for the Transport for London (TFL) API.

The TFL API is a RESTful API that provides data related to all modes of transport in London, including cycle hire, buses, roads, and the underground. Anonymous access to the TFL API is limited to 50 requests a minute. If you want to call the API more than that, you'll need to subscribe to a "Product" which lets you bypass this limit with a subscription-key that you append to your requests.

Currently, we support the following APIs:

The plan is to add support for all the TFL APIs. Contributions are welcome!

Installation

pip install py-tfl

or install with Poetry:

poetry add py-tfl

Quickstart

CLI

The TFL CLI provides a command line interface to the TFL API. It is built on top of Typer, which provides easy way to build command line interfaces.

tfl --help

Client

The TFL client provides a Python interface to the TFL API. It provides a Pythonic interface to the API, and handles authentication and rate limiting for you. The client is built on top of HTTPX, which provides a fast, async HTTP client.

from tfl import clients


async with clients.TFLClient(auth=clients.Auth(key="<your-tfl-api-key>")) as client:
    response = await client.handlers.lift_disruptions_v2_handler.get_lift_disruptions()

print(response.json())

Releases

You can see the list of available releases on the GitHub Releases page.

We follow Semantic Versions specification.

We use Release Drafter. As pull requests are merged, a draft release is kept up-to-date listing the changes, ready to publish when youre ready. With the categories option, you can categorize pull requests in release notes using labels.

License

This project is licensed under the terms of the MIT license. See LICENSE for more details.

Credits

A special thanks to HTTPX, Typer, and the TFL API team for making this project possible.

This project was built using IntelliJ IDEA.

Package Rankings
Top 31.59% on Pypi.org
Badges
Extracted from project README
Python Code style: black Checked with mypy Ruff Pre-commit Semantic Versions codecov CodeFactor License
Related Projects