py_adsb_historical_data_client
Python client to retrieve historical data from adsb databases
Installation
pip install py-adsb-historical-data-client
Usage
from datetime import datetime
from py_adsb_historical_data_client.historical import download_heatmap, download_trace
# Download heatmap data for a specific timestamp
timestamp = datetime(2023, 6, 15, 14, 30)
heatmap_data = download_heatmap(timestamp)
# Download trace data for a specific aircraft
icao = "ABC123"
trace_data = download_trace(icao, timestamp)
Development
Setup
- Clone the repository
- Install dependencies:
uv sync
Running Tests
The project includes comprehensive tests for all functionality.
Run all tests except integration tests (recommended for development):
# Using uv directly
uv run pytest tests/ -m "not integration" -v
# Using the test runner script
python run_tests.py
Run all tests including integration tests:
# Using uv directly
uv run pytest tests/ -v
# Using the test runner script
python run_tests.py --all
Run tests with coverage report:
# Using uv directly
uv run pytest tests/ --cov=src/py_adsb_historical_data_client --cov-report=html --cov-report=term
# Using the test runner script
python run_tests.py --coverage
Test Structure
- Unit Tests: Mock external HTTP requests and test all code paths
- Integration Tests: Make real HTTP requests to test actual API endpoints (marked with
@pytest.mark.integration) - Test Coverage: Comprehensive coverage including edge cases, error handling, and input validation
Available Test Commands
| Command | Description |
|---|---|
python run_tests.py |
Run unit tests only |
python run_tests.py --all |
Run all tests including integration tests |
python run_tests.py --coverage |
Run tests with coverage report |
The test suite covers:
- ✅ Successful data downloads
- ✅ HTTP error handling (404, 500, etc.)
- ✅ Network exception handling
- ✅ Date formatting and URL construction
- ✅ ICAO code processing and case handling
- ✅ Time rounding for heatmap intervals
- ✅ Edge cases (short ICAO codes, etc.)
Metadata
Release files for py-adsb-historical-data-client 1.1.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 | |
|---|---|---|---|
| py_adsb_historical_data_client-1.1.0.tar.gz | 52.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| py_adsb_historical_data_client-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 64.0 kB
Release files / py_adsb_historical_data_client-1.1.0.tar.gz
| Download URL | py_adsb_historical_data_client-1.1.0.tar.gz |
|---|---|
| Size | 52.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
67a9c7cb00442a7717f48ce632b0101c47bc4c2ab2b98db674dbd541afe389c6
|
|
BLAKE2b-256 checksum How to use checksums |
aa2dba77436aa6403a9760bede66d43517fb1b09f6d9b1010c0e4216f08e31ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Mar 2, 2026.
Transparency logRelease files / py_adsb_historical_data_client-1.1.0-py3-none-any.whl
| Download URL | py_adsb_historical_data_client-1.1.0-py3-none-any.whl |
|---|---|
| Size | 11.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a97a284ed39391da6c15cf1cffbb404dbc1114e50a5bb87a57a65289856a226d
|
|
BLAKE2b-256 checksum How to use checksums |
91e21172cf0e00092874476410e192290e7daebfb16ccac8f445d50f1a38e67b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Mar 2, 2026.
Transparency log