Skip to main content

PyPI Version Python Version CI/CD

nstimes

Find your next train home while you are in CLI. I used the Dutch Railway Services (Nederlandse Spoorwegen) API to make myself this tool.

Usage:

$ nstimes [OPTIONS] COMMAND [ARGS]...

Options:

  • --version: Print version info
  • --install-completion: Install completion for the current shell.
  • --show-completion: Show completion for the current shell, to copy it or customize the installation.
  • --help: Show this message and exit.

Commands:

  • journey: Provide train type, platform and departure...
  • update-stations-json: Generate stations lookup

nstimes journey

Provide train type, platform and departure times of an A -> B journey

Usage:

$ nstimes journey [OPTIONS]

Options:

  • --start TEXT: Start station [required]
  • --end TEXT: Stop station [required]
  • --token TEXT: Token to talk with the NS API [env var: NS_API_TOKEN; required]
  • --time TEXT: Time to departure (%H:%M) [default: 12:19]
  • --date TEXT: Date to departure (%d-%m-%Y) [default: 15-10-2023]
  • --printer-choice [table|ascii]: [default: ascii]
  • --help: Show this message and exit.

nstimes update-stations-json

Generate stations lookup, should not be neccesary

Usage:

$ nstimes update-stations-json [OPTIONS]

Options:

  • --token TEXT: Token to talk with the NS API [env var: NS_API_TOKEN; required]
  • --path TEXT: Token to talk with the NS API [env var: NS_API_TOKEN; default: /home/erik/dev/ns_cli/nstimes/stations.json]
  • --help: Show this message and exit.

Installation

To install, run the following:

pip install nstimes

To verify, run:

nstimes --version

To install auto-completion, run:

nstimes --install-completion

In order for autocomplete to work, one might need to add this to their .zshrc:

echo -e "\ncompinit -D\n" | tee -a ~/.zshrc
source ~/.zshrc # Reload shell

Obtaining NS token Create an account at the NS API portal. Then create a token here.

Add the token to your shell, for zsh:

echo -e "\nexport NS_API_TOKEN=****\n" | tee -a ~/.zshrc
source ~/.zshrc # Reload shell

Printers By default, this tool prints in ASCII, e.g.:

IC  p. 12 in  4 min (21:37) -> (21:50)
IC  p. 12 in 16 min (21:49) -> (22:02)
SPR p.  4 in 17 min (21:50) -> (22:10)
IC  p. 12 in 34 min (22:07) -> (22:20)
IC  p. 12 in 46 min (22:19) -> (22:32)
SPR p.  4 in 47 min (22:20) -> (22:40)

If you use the --printer-choice table option it prints like:

    Journeys from Utrecht Centraal -> Amersfoort Centraal at
                        24-01-2024 21:32
┏━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Train ┃ Platform ┃ Leaves in ┃ Departure time ┃ Arrival time ┃
┡━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ IC    │       12 │     4 min │        (21:37) │      (21:50) │
│ IC    │       12 │    16 min │        (21:49) │      (22:02) │
│ SPR   │        4 │    17 min │        (21:50) │      (22:10) │
│ IC    │       12 │    34 min │        (22:07) │      (22:20) │
│ IC    │       12 │    46 min │        (22:19) │      (22:32) │
│ SPR   │        4 │    47 min │        (22:20) │      (22:40) │
└───────┴──────────┴───────────┴────────────────┴──────────────┘

Release files for nstimes 0.4.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nstimes 0.4.8
File Size Uploaded
nstimes-0.4.8.tar.gz 10.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nstimes 0.4.8
File Interpreter ABI Platform
nstimes-0.4.8-py3-none-any.whl Python 3 none any Details

Total release size: 22.5 kB

Release files / nstimes-0.4.8.tar.gz

Download URL nstimes-0.4.8.tar.gz
Size 10.9 kB
Tags Source
SHA-256 checksum
How to use checksums
d3bc0013fb461295593d14a1b904350eda7d3d8d93ad47f4435e17486f25ca21
BLAKE2b-256 checksum
How to use checksums
05176f4462e2d97b73aec696ad1f4e5054dfbbeb2b0b0bf261172e349bb04e25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.11.0 Linux/6.2.0-1018-azure

Release files / nstimes-0.4.8-py3-none-any.whl

Download URL nstimes-0.4.8-py3-none-any.whl
Size 11.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
177787dfd43567f9bae3dcb1837eccd597195465a7c259b165c423a9d2aff4ae
BLAKE2b-256 checksum
How to use checksums
e9ea32500269f598fa3096d3a57f4d78ca25c6a1cc276ddd8ab3323638b2bc8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.11.0 Linux/6.2.0-1018-azure

Release history Release notifications | RSS feed

This release

0.4.8 This release

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

1 release file

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page