PythonRMV/README.md

79 lines
2.5 KiB
Markdown
Raw Normal View History

2022-09-21 13:06:04 +03:00
# PythonRMV
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-09-22 19:31: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))
* Python3 (Tested versions are 3.7.9 and 3.9.13)
* git (Only for installation from source)
2022-09-22 16:13:41 +03:00
# Installation
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-09-22 19:31:12 +03:00
### Variant 1:
1. `python -m pip install pyrmv`
2022-09-22 16:13:41 +03:00
2022-09-22 19:31:12 +03:00
### Variant 2:
2022-09-22 20:31:21 +03:00
1. `git clone https://git.end-play.xyz/profitroll/PythonRMV.git`
2. `cd PythonRMV`
2022-09-22 19:31:12 +03:00
3. `python setup.py install`
2022-09-22 16:13:41 +03:00
# Usage
```py
import pyrmv
2022-10-07 12:35:02 +03:00
# Define a Client with API key
client = pyrmv.Client("AcessId")
# 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]
# Find a trip by locations got
2022-10-07 12:35:02 +03:00
trip = client.trip_find(origin_id=origin.id, dest_id=destination.id)
```
2022-09-22 16:13:41 +03:00
# Frequently Asked Questions
- [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)
## 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).
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
## Some methods work slightly different
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.
# To-Do
2022-10-04 12:21:51 +03:00
## General
- [ ] Docs in Wiki
## Raw methods
- [x] arrivalBoard (board_arrival)
- [x] departureBoard (board_departure)
- [x] himsearch (him_search)
- [x] journeyDetail (journey_detail)
- [x] location.nearbystops (stop_by_coords)
- [x] location.name (stop_by_name)
- [x] trip (trip_find)
- [x] recon (trip_recon)
## Normal methods
2022-10-05 16:08:27 +03:00
- [x] arrivalBoard (board_arrival)
- [x] departureBoard (board_departure)
2022-10-07 14:47:25 +03:00
- [x] himsearch (him_search)
- [x] journeyDetail (journey_detail)
- [x] location.nearbystops (stop_by_coords)
- [x] location.name (stop_by_name)
- [x] trip (trip_find)
2022-10-06 15:36:01 +03:00
- [x] recon (trip_recon)