Get the next in coming buses at a Paris area Station.
Project description
A bot/ cli tool that simply gives you the waiting times for next buses at your favorite bus stop.
It works only for the IDFM/RATP Network, relying on the api lines/v4. For now only a handfull of bus stops on the Plateau de Saclay are registered, but you can add your own
Example
$ nbb mdv Next buses at Mare du Vivier: - ⏰ 6 min. (12:29) 9️⃣ 🚍 ▶ Centre Commercial Ulis 2 - ⏰ 27 min. (12:50) 9️⃣ 🚍 ▶ Gare de Jouy en Josas - ⏰ 35 min. (12:58) 9️⃣ 🚍 ▶ Centre Commercial Ulis 2 - ⏰ 53 min. (13:16) 9️⃣ 🚍 ▶ Christ de Saclay
Installation
Pip Installation
$ pip install next-bus-bot
Developer Installation
clone the repo
$ git clone git@github.com:paquiteau/nbb/
create your venv with your favorite tool
Install locally the package with bells and whistles
$ (venv) pip install -e .[dev,test]
TODO
automatic aliasing of stops (based on initials)
support for direction filtering
Add support for a bot front-end (slack, discord, IRC, etc).
Extend the useful bus stops.
Configuration
nbb can be configured via its command line argument, or via a config file nbb_conf.toml, it uses TOML https://toml.io/en/ syntax formatting. Suitable location for the config file are, loaded in this order:
nbb/nbb_conf.toml
~/.config/nbb_conf.toml
nbb_conf.toml in current directory.
nbb –config <file>
An example (and default) config file is available in nbb/nbb_conf, and a example config is:
[cli]
# Default parameters for the CLI
pretty = true # Emoji in the terminal
compact = false # More condensed output
verbose = false # More verbose output, only for debugging.
[stop.places]
# List of bus stops, with their name and their ID
# You can find the ID of a stop by looking at the URL of the stop on the IDFM website
# https://data.iledefrance-mobilites.fr/explore/dataset/zones-de-correspondance/custom/?disjunctive.zdctype
# The name of the step as a key does not matter,
# it should only be consistent between the stops, stops.aliases and stop.directions sections.
#
# The first stop defined is the default one.
[stop.aliases]
# Aliases for the stops defined in stop.places
"Mare du Vivier" = ["CEA Porte Sud", "Neurospin", "nsp", "mdv"]
"Moulon" = ["ens"]
"Raoul Dautry" = ["CEA Porte Est"]
"Place Marguerite Perey" = ["Inria"]
[stop.direction_filter]
# Direction filter for the stops defined in stop.places.
# For each stop you can filter the direction
"Mare du Vivier" = ["Gare du Guichet", "Centre Commercial Ulis 2"] # Only keep the buses that have either 'gare du guichet' or 'Centre commercial ulis2' as destination.
"Moulon" = ["Gare du Guichet", "Centre Commercial Ulis 2"] # Only keep the gare du guichet and Centre commercial ulis2
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
Built Distribution
File details
Details for the file next-bus-bot-1.3.2.tar.gz
.
File metadata
- Download URL: next-bus-bot-1.3.2.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b15987491612a59383974aedd704bad25845ebe7b39c5bfe26c78bebe6176de |
|
MD5 | 5a5429d6da407aa2dc3ae118b69ee08a |
|
BLAKE2b-256 | e0900287e3cb277d27fac0fac606d26a7d5394a7dc8477a48695059d6b436d53 |
File details
Details for the file next_bus_bot-1.3.2-py3-none-any.whl
.
File metadata
- Download URL: next_bus_bot-1.3.2-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f7c71039629c94f48b249bf50fb64ba5282edd36289f09a66814fee6fac5462 |
|
MD5 | ac422f7f12d8505feaa7b5a9d3d53425 |
|
BLAKE2b-256 | 469815e0b1a4af7d4cd099ae0435c43450a01f93486a5e32f0cb31a45ac90898 |