3 Home
Profitroll edited this page 2023-11-25 14:00:56 +02:00

PythonRMV

Welcome to the project's Wiki.

This module aims to provide eased access to RMV's OpenData API endpoints and enable some home-projects to show the data about public transit state at the moment. As for now, async is not supported and is not necessarily planned in the future, so bigger projects should consider this before using this module in the first place.

Basic concepts behind

So the module pyrmv has two options to choose from when it comes to the usage:

  1. Using higher-level methods of the class pyrmv.Client. These methods provide pythonic objects, can throw exceptions and are overall pretty neat.
  2. Using raw functions from pyrmv.raw. These functions are basically a small interface for HTTP requests that happen in the background and have little to no processing behind the scenes.

Your preferred variant depends on the use case, but usually higher-level methods of the Client should be the match.

Objects

This module does not use the FPTF because it aims to give full access to the API RMV provides, thus objects Client gives you will contain a bit more information.

These objects are implemented in pyrmv:

Note for bigger projects

As you may already know, bigger projects like Öffi and DB Navigator use NVV's API instead of RMV's for navigation and public transit querying. Reasons behind this are clear as day and from perspective of pyrmv it's highly recommended you also choose that way, because RMV loves to change or break their API in unexpected places and does not cooperate with developers well enough when they do so.