2023-11-24 12:21:02 +02:00
|
|
|
<h1 align="center">PythonRMV</h1>
|
|
|
|
|
|
|
|
<p align="center">
|
|
|
|
<a href="https://git.end-play.xyz/profitroll/PythonRMV/src/branch/master/LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-blue"></a>
|
|
|
|
<a href="https://git.end-play.xyz/profitroll/PythonRMV"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
|
|
|
|
</p>
|
2022-09-21 13:06:04 +03:00
|
|
|
|
2022-09-22 19:31:12 +03:00
|
|
|
Small module that makes your journey with RMV REST API somehow easier. Based fully on official RMV API reference and HAFAS documentation.
|
2022-09-22 16:13:41 +03:00
|
|
|
|
2022-10-12 18:15:12 +03:00
|
|
|
## Requirements
|
2022-09-22 16:13:41 +03:00
|
|
|
|
2022-09-22 19:31:12 +03:00
|
|
|
* RMV API key (Get it [here](https://opendata.rmv.de/site/start.html))
|
2024-11-30 21:04:06 +02:00
|
|
|
* Python 3.9+
|
2022-09-22 19:31:12 +03:00
|
|
|
* git (Only for installation from source)
|
2022-09-22 16:13:41 +03:00
|
|
|
|
2022-10-12 18:15:12 +03:00
|
|
|
## Installation
|
2022-09-22 16:13:41 +03:00
|
|
|
|
2022-09-22 19:31:12 +03:00
|
|
|
If you have everything listed in [requirements](#requirements), then let's begin.
|
2022-09-22 16:13:41 +03:00
|
|
|
|
2022-10-12 18:15:12 +03:00
|
|
|
### Variant 1
|
|
|
|
|
2023-11-25 14:20:00 +02:00
|
|
|
`python -m pip install pyrmv`
|
2022-09-22 16:13:41 +03:00
|
|
|
|
2022-10-12 18:15:12 +03:00
|
|
|
### Variant 2
|
|
|
|
|
2023-11-25 14:20:00 +02:00
|
|
|
`python -m pip install git+https://git.end-play.xyz/profitroll/PythonRMV.git`
|
2022-09-22 16:13:41 +03:00
|
|
|
|
2022-10-12 18:15:12 +03:00
|
|
|
## Usage
|
2022-09-23 16:01:00 +03:00
|
|
|
|
|
|
|
```py
|
|
|
|
import pyrmv
|
|
|
|
|
2022-10-07 12:35:02 +03:00
|
|
|
# Define a Client with API key
|
|
|
|
client = pyrmv.Client("AcessId")
|
2022-09-23 16:01:00 +03:00
|
|
|
|
|
|
|
# Get origin's and destination's location
|
2022-10-07 12:35:02 +03:00
|
|
|
origin = client.stop_by_name("Frankfurt Hauptbahnhof", max_number=3)[0]
|
|
|
|
destination = client.stop_by_coords(50.099613, 8.685449, max_number=3)[0]
|
2022-09-23 16:01:00 +03:00
|
|
|
|
2023-11-25 14:20:00 +02:00
|
|
|
# Find a trip by locations you got above
|
2022-10-07 12:35:02 +03:00
|
|
|
trip = client.trip_find(origin_id=origin.id, dest_id=destination.id)
|
2022-09-23 16:01:00 +03:00
|
|
|
```
|
|
|
|
|
2022-10-12 18:15:12 +03:00
|
|
|
## Frequently Asked Questions
|
2022-09-22 16:13:41 +03:00
|
|
|
|
2022-10-12 18:15:12 +03:00
|
|
|
* [Why are there raw versions and formatted ones?](#why-are-there-raw-versions-and-formatted-ones)
|
|
|
|
* [Some methods work slightly different](#some-methods-work-slightly-different)
|
2022-09-22 16:13:41 +03:00
|
|
|
|
2022-10-12 18:15:12 +03:00
|
|
|
### Why are there raw versions and formatted ones?
|
2022-09-22 16:13:41 +03:00
|
|
|
|
|
|
|
For the purposes of my projects I don't really need all the stuff RMV gives (even though it's not much).
|
2022-09-22 19:31:12 +03:00
|
|
|
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.
|
2022-09-22 16:13:41 +03:00
|
|
|
|
2022-10-12 18:15:12 +03:00
|
|
|
### Some methods work slightly different
|
2022-09-22 16:13:41 +03:00
|
|
|
|
2022-09-22 19:31:12 +03:00
|
|
|
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.
|
2022-09-22 16:13:41 +03:00
|
|
|
Just [make an issue](https://git.end-play.xyz/profitroll/PythonRMV/issues/new) and I'll implement it correct when I'll have some free time.
|
|
|
|
|
2022-10-12 18:15:12 +03:00
|
|
|
## To-Do
|
|
|
|
|
|
|
|
### General
|
|
|
|
|
|
|
|
* [ ] Docs in Wiki
|
|
|
|
* [ ] Tickets
|