Small module that makes your journey with RMV REST API somewhat easier.
Go to file
2022-10-08 12:27:13 +02:00
pyrmv Some errors ignored 2022-10-08 12:26:48 +02:00
wiki Started writing wiki 2022-10-07 15:22:52 +02:00
.gitignore Test added 2022-10-06 11:36:32 +02:00
LICENSE Configured license and versions 2022-09-22 18:35:21 +02:00
README.md Updated readme to 0.3.0 2022-10-07 13:47:25 +02:00
requirements.txt Added "isodate" to requirements 2022-09-23 22:58:21 +02:00
setup.cfg Tree changed once more 2022-09-22 19:27:34 +02:00
setup.py Updated meta to 0.3.1 2022-10-07 14:17:56 +02:00
test_colors.py Testing script added 2022-10-06 12:34:50 +02:00
test.py Changed test function argument type 2022-10-08 12:27:13 +02:00

PythonRMV

Small module that makes your journey with RMV REST API somehow easier. Based fully on official RMV API reference and HAFAS documentation.

Requirements

  • RMV API key (Get it here)
  • Python3 (Tested versions are 3.7.9 and 3.9.13)
  • git (Only for installation from source)

Installation

If you have everything listed in requirements, then let's begin.

Variant 1:

  1. python -m pip install pyrmv

Variant 2:

  1. git clone https://git.end-play.xyz/profitroll/PythonRMV.git
  2. cd PythonRMV
  3. python setup.py install

Usage

import pyrmv

# Define a Client with API key
client = pyrmv.Client("AcessId")

# Get origin's and destination's location
origin = client.stop_by_name("Frankfurt Hauptbahnhof", max_number=3)[0]
destination = client.stop_by_coords(50.099613, 8.685449, max_number=3)[0]

# Find a trip by locations got
trip = client.trip_find(origin_id=origin.id, dest_id=destination.id)

Frequently Asked Questions

Why are there raw versions and formatted ones?

For the purposes of my projects I don't really need all the stuff RMV gives (even though it's not much). I only need some specific things. However I do understand that in some cases other users may find those methods quite useful so I implemented them as well.

Some methods work slightly different

Can be. Not all function arguments written may work perfectly because I simply did not test each and every request. Some of arguments may be irrelevant in my use-case and the others are used quite rare at all. Just make an issue and I'll implement it correct when I'll have some free time.

To-Do

General

  • Docs in Wiki

Raw methods

  • arrivalBoard (board_arrival)
  • departureBoard (board_departure)
  • himsearch (him_search)
  • journeyDetail (journey_detail)
  • location.nearbystops (stop_by_coords)
  • location.name (stop_by_name)
  • trip (trip_find)
  • recon (trip_recon)

Normal methods

  • arrivalBoard (board_arrival)
  • departureBoard (board_departure)
  • himsearch (him_search)
  • journeyDetail (journey_detail)
  • location.nearbystops (stop_by_coords)
  • location.name (stop_by_name)
  • trip (trip_find)
  • recon (trip_recon)