OSM Fastly Logs
This is ofastlylog, the software that processes OpenStreetMap logs from Fastly.
Install
Packaged versions of ofastlylog can be installed like any other python software. To do so in a virtual environment do
python3 -m venv venv
venv/bin/pip install ofastlylog
venv/bin/ofastlylog --help
Contributing
This code is difficult to contribute to unless you have access to the OSMF AWS accounts. Recommendations to improve this are welcome.
Development is done using uv.
git clone https://github.com/pnorman/ofastlylog.git
cd ofastlylog
uv sync
uv run pre-commit install
uv run ofastlylog --help
Development could also be done using a venv and pip but this is not officially supported
python3 -m venv venv
venv/bin/pip install -e .
venv/bin/ofastlylog --help
Usage
AWS credentials need to be set up for ofastlylog to access the service logs. In a typical setup this is done with
export AWS_PROFILE=osm-service-logs
ofastlylog has two commands right now: one to create tables, and another to perform hourly tasks.
All commands take a list of service tables to create or process. Specify these with --<servicename> <tabletype>, e.g. --tile success for the tile.openstreetmap.org success table. See Table Types for a full list of combinations.
ofastlylog tools
Contains tools for creating and working with setup tables
ofastlylog tools create-table
Creates tables in athena.
ofastlylog tools check-hour
TODO: Check if a particular hour has data in the table
ofastlylog process
Peform log generation and processing
ofastlylog process hourly
Perform log processing intended to be run hourly
Table types
| Table | --tile |
--vector |
--nominatim |
--website |
|---|---|---|---|---|
base |
✓ | ✓ | ✓ | ✓ |
success |
✓ | ✓ | ✓ | ✓ |
aggregated |
✓ | ✓ | not impelemented | not impelemented |
Architecture
Several OSMF-hosted services use Fastly as a CDN. Fastly is set up to deposit compressed log files in a s3 bucket. The log files contain line-delimited JSON objects deposited every 10 minutes.
Because compressed text is slow to read, these files are processed with ofastlylog process hourly. This creates a number of tables. All tables are stored as Parquet data with hourly partitioning.
Metadata
Release files for ofastlylog 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ofastlylog-0.5.0.tar.gz | 58.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ofastlylog-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 82.9 kB
Release files / ofastlylog-0.5.0.tar.gz
| Download URL | ofastlylog-0.5.0.tar.gz |
|---|---|
| Size | 58.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
80fa330185ad6348e357604caab433cb0f9bdf254153f77113ec9d54d8e6d63f
|
|
BLAKE2b-256 checksum How to use checksums |
fd38dcfeae9399b130aef252f0724d2e45e8db1a7a15a1c306b47df2841590bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.
Transparency logRelease files / ofastlylog-0.5.0-py3-none-any.whl
| Download URL | ofastlylog-0.5.0-py3-none-any.whl |
|---|---|
| Size | 24.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9e5921b4cd1acd105b9c9c2ad096482155b4dd57ead289e6f37e8420573bbecd
|
|
BLAKE2b-256 checksum How to use checksums |
32f5ec30987b42db1b6bbcb5b66f9ef36f26556c264a7f8d06851352845e23cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.
Transparency log