Small module that makes your journey with RMV REST API somewhat easier.
Go to file
Renovate 393e120069
All checks were successful
Tests / test (3.10) (pull_request) Successful in 3m11s
Tests / test (3.11) (pull_request) Successful in 3m9s
Tests / test (3.9) (pull_request) Successful in 3m9s
Tests / test (3.12) (pull_request) Successful in 3m16s
Tests / test (3.10) (push) Successful in 3m13s
Tests / test (3.11) (push) Successful in 3m5s
Tests / test (3.12) (push) Successful in 3m15s
Tests / test (3.9) (push) Successful in 3m7s
Update dependency mypy to ~=1.14.0
2024-12-20 17:48:21 +02:00
.gitea/workflows Dropped support for Python 3.8 because of EOL. 2024-11-30 20:04:06 +01:00
requirements Update dependency mypy to ~=1.14.0 2024-12-20 17:48:21 +02:00
src/pyrmv Possibly fixed false positives on exception detection 2024-09-19 22:03:57 +02:00
tests Changed testing method for Client.him_search() 2024-09-08 01:28:18 +02:00
wiki Documentation prepared and improved 2023-11-25 13:16:48 +01:00
.gitignore Dependencies bumped and .gitignore updated 2024-09-08 01:27:58 +02:00
.renovaterc Add '.renovaterc' 2023-04-21 10:07:48 +03:00
LICENSE Configured license and versions 2022-09-22 18:35:21 +02:00
pyproject.toml Dropped support for Python 3.8 because of EOL. 2024-11-30 20:04:06 +01:00
README.md Dropped support for Python 3.8 because of EOL. 2024-11-30 20:04:06 +01:00
tox.ini Dropped support for Python 3.8 because of EOL. 2024-11-30 20:04:06 +01:00

PythonRMV

License: MIT Code style: black

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)
  • Python 3.9+
  • git (Only for installation from source)

Installation

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

Variant 1

python -m pip install pyrmv

Variant 2

python -m pip install git+https://git.end-play.xyz/profitroll/PythonRMV.git

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 you got above
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
  • Tickets