Skip to main content

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

  1. Clone the repository
  2. 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)

Source distribution for py-adsb-historical-data-client 1.1.0
File Size Uploaded
py_adsb_historical_data_client-1.1.0.tar.gz 52.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for py-adsb-historical-data-client 1.1.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.0

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page