A module which allows you to retrieve data about the cheapest one-way and return flights in a date range, or all available flights on a given day for a given route.
Project description
Ryanair Python
This module allows you to retrieve either:
- The cheapest flights, with or without return flights, within a fixed set of dates. or
- All available flights between two locations, on a given date This is done directly through Ryanair's API, and does not require an API key.
Installation
Run the following command in the terminal:
pip install ryanair-py
Usage
To create an instance:
from ryanair import Ryanair
api = Ryanair("EUR") # Euro currency, so could also be GBP etc. also
Get the cheapest one-way flights
Get the cheapest flights from a given origin airport (returns at most 1 flight to each destination).
from datetime import datetime, timedelta
from ryanair import Ryanair
from ryanair.types import Flight
api = Ryanair("EUR") # Euro currency, so could also be GBP etc. also
tomorrow = datetime.today().date() + timedelta(days=1)
flights = api.get_cheapest_flights("DUB", tomorrow, tomorrow + timedelta(days=1))
# Returns a list of Flight namedtuples
flight: Flight = flights[0]
print(flight) # Flight(departureTime=datetime.datetime(2023, 3, 12, 17, 0), flightNumber='FR9717', price=31.99, origin='DUB', originFull='Dublin, Ireland', destination='GOA', destinationFull='Genoa, Italy')
print(flight.price) # 9.78
Get the cheapest return trips (outbound and inbound)
from datetime import datetime, timedelta
from ryanair import Ryanair
api = Ryanair("EUR") # Euro currency, so could also be GBP etc. also
tomorrow = datetime.today().date() + timedelta(days=1)
tomorrow_1 = tomorrow + timedelta(days=1)
trips = api.get_cheapest_return_flights("DUB", tomorrow, tomorrow, tomorrow_1, tomorrow_1)
print(trips[0]) # Trip(totalPrice=85.31, outbound=Flight(departureTime=datetime.datetime(2023, 3, 12, 7, 30), flightNumber='FR5437', price=49.84, origin='DUB', originFull='Dublin, Ireland', destination='EMA', destinationFull='East Midlands, United Kingdom'), inbound=Flight(departureTime=datetime.datetime(2023, 3, 13, 7, 45), flightNumber='FR5438', price=35.47, origin='EMA', originFull='East Midlands, United Kingdom', destination='DUB', destinationFull='Dublin, Ireland'))
Get all available flights between two airports
E.g. get all available flights from Dublin to London Gatwick, or London, tomorrow:
from datetime import datetime, timedelta
from ryanair import Ryanair
from tabulate import tabulate
api = Ryanair("EUR")
tomorrow = datetime.today().date() + timedelta(days=1)
flights = api.get_all_flights("DUB", tomorrow, "LGW")
print(tabulate(flights, headers="keys", tablefmt="github"))
# We can even expand it to include all vaguely-London airports:
flights = api.get_all_flights("DUB", tomorrow, "LON", destination_is_mac=True)
print(tabulate(flights, headers="keys", tablefmt="github"))
This prints the following:
departureTime | flightNumber | price | origin | originFull | destination | destinationFull |
---|---|---|---|---|---|---|
2023-03-12 06:25:00 | FR 114 | 61.99 | DUB | Dublin | LGW | London (Gatwick) |
2023-03-12 09:20:00 | FR 112 | 88.12 | DUB | Dublin | LGW | London (Gatwick) |
2023-03-12 11:30:00 | FR 122 | 120.37 | DUB | Dublin | LGW | London (Gatwick) |
... |
and
departureTime | flightNumber | price | origin | originFull | destination | destinationFull |
---|---|---|---|---|---|---|
2023-03-12 06:25:00 | FR 114 | 61.99 | DUB | Dublin | LGW | LON |
2023-03-12 06:35:00 | FR 202 | 65.09 | DUB | Dublin | STN | LON |
2023-03-12 07:10:00 | FR 342 | 65.09 | DUB | Dublin | LTN | LON |
2023-03-12 08:20:00 | FR 206 | 102.09 | DUB | Dublin | STN | LON |
... |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ryanair-py-2.0.1.tar.gz
(3.0 MB
view hashes)
Built Distribution
Close
Hashes for ryanair_py-2.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e81bc3579e965c4bf16a4781873d2e12c8ec4ace31ceb0500359ae841808108 |
|
MD5 | 922d5d0b99a089347f2992d08b0bd48c |
|
BLAKE2b-256 | 518c58dce6882cb72e18cd0460074ffa0eb32bd3615b0e5fd693a8f56fd1f674 |