Skip to main content

NS api wrapper for Dutch Railways (Nationale Spoorwegen, NS), also called ns-api

Project description

Query the Dutch railways about your routes, getting info on delays and more. See below for the syntax and example output.

PyPI version PyPI downloads PyPI license GitHub commits since latest release

Installation

From PyPI

Assuming you already are inside a virtualenv:

pip install nsapi

From Git

Create a new virtualenv (if you are not already in one) and install the necessary packages:

git clone https://github.com/aquatix/ns-api.git
cd ns-api
mkvirtualenv ns-api
pip install -r requirements.txt

Development in Docker

Git clone this repository, use vscode & docker to remote open in a dev container as explained in this howto.

As part of ns-notifications

Alternatively, follow the installation instructions of ns-notifications, which makes extensive use of this library to serve notifications to for example a smartphone. The requirements of both packages can be installed in the same ns-notifications one mentioned in the project; ns-api will be installed through pip from PyPI.

Home Assistant

The very useful Home Assistant home automation software includes an integration for the ns-api. Be sure to check it out.

Also take a look at nsmaps

Bart Römgens created a fascinating contour map called nsmaps based on ns-api. It visualises Dutch railways travel information with OpenLayer 3 contour maps to show how long it takes to get somewhere in the Netherlands by train and bicycle.

Example application

For example, I use the library to push notifications about my route to my phone through Pushbullet. The program I use to do this has its own repository: ns-notifications.

NS API key

To actually be able to query the Nederlandse Spoorwegen API, you need to subscribe. This immediately gives you a primary and secundary key you need for access.

The library uses the reisinformatie API. Here you can try the API for yourself (and look up station names, but the library has the get_stations() function for this too).

The API portal also provides statistics on usage and errors.

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

nsapi-3.2.1.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

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

nsapi-3.2.1-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file nsapi-3.2.1.tar.gz.

File metadata

  • Download URL: nsapi-3.2.1.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for nsapi-3.2.1.tar.gz
Algorithm Hash digest
SHA256 c6c7565c6876ec81cb7561d6bc48b9b6242b1fc4b33178f4eae9b9a39b9667fa
MD5 23ea0b83ab00f80effe4f4c5b3971d92
BLAKE2b-256 2b6b59c11581d9a866c680e59ef1c53e65c9a41ea6b56c22204fbe67270f654b

See more details on using hashes here.

File details

Details for the file nsapi-3.2.1-py3-none-any.whl.

File metadata

  • Download URL: nsapi-3.2.1-py3-none-any.whl
  • Upload date:
  • Size: 11.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for nsapi-3.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 927e0777ac2d49c9f8d141511471e1cd6589d9d2a36bf16de06ac5b2e1b40044
MD5 ecca8cce2b0bb2726fbbb948d270f28a
BLAKE2b-256 06a7f20d3039c04c84ef35972ac99f97c5fe02a0718f75e096834fdda8411a0d

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