This is the data fetcher for all BP gas stations.
This program is fetching all BP gas stations from the Aral "tankstellenfinder" api.
The data is saved in the following formats: json
and ov2
.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
What things you need to install the software and how to install them.
python3
is required.
Install the required packages by running:
pip install -r requirements.txt
You can now run the data fetcher with python main.py
The data will be saved in ./out/json
and ./out/ov2
.
/
/main.py # gets all stations and automatically sorts them in /out
/generator.py # generates the following files in /out/other: sitemap.xml, facilities.json and fuel.json
/database.py # generates a sqlite3 file based on "stations_ARAL Tankstelle_min.json" which is used in "aral-prices"
out/
/json
/all
/stations.json # these are all BP Stations worldwide
/brands
/stations_BP.json # all stations with the Brand BP
/stations_ARAL Tankstelle.json # all stations from the Brand Aral
/countries
/stations_DE.json # all German stations from all brands
/stations_US.json # all stations in the US from all Brands
/other # used in another project
/ov2 #
/all
/stations.ov2 # these are all BP Stations worldwide
/brands
/stations_BP.ov2 # all stations with the Brand BP
/stations_ARAL Tankstelle.ov2 # all stations from the Brand Aral
/countries
/stations_DE.ov2 # all German stations from all brands
/stations_US.ov2 # all stations in the US from all Brands
There is always a _min.json
available (e.g. stations_min.json
) that has the whole JSON on a single line.
Use the default file for better readability.
The .ov2
files have skipper records, so performance should be good.
You can find the data here.
There is also a README.md in the data that has basic stats.
The data may not be accurate as the script calls the gas station locator API and this can be prone to errors.
Please note that there may be stations missing!
You can see a example deployment at ./.github/workflows/generate.yml
The data is updated by this GitHub action.
The version is automatically bumped by this GitHub action on cron '0 2 * * 1'.
The code is formatted and checked with ruffs default settings.
None
I am not affiliated with the Aral Aktiengesellschaft nor the BP p.l.c.