Skip to main content

igc-net (Python)

Python bindings for the igc-net flight log exchange protocol, wrapping the Rust reference implementation via PyO3.

Installation

Install from PyPI:

pip install igc-net

If no matching wheel is available for your platform, pip will build the extension from source. That requires a local Rust toolchain.

For unreleased local development, use a checkout and maturin develop; see Development below.

Quick start

from igc_net import IgcNode, FlightMetadata
from pathlib import Path

# Inspect an IGC file (offline, no network needed)
meta = FlightMetadata.from_igc(Path("flight.igc").read_bytes())
print(meta.pilot_name, meta.duration_s)

# Publish to the network
with IgcNode(str(Path.home() / ".igc-net")) as node:
    result = node.publish(Path("flight.igc").read_bytes(), filename="flight.igc")
    print(result.igc_hash)

CLI

igc-net announce flight.igc       # Publish an IGC file
igc-net runindex --policy eager   # Run an indexer node
igc-net fetch <igc_hash>          # Retrieve by hash
igc-net inspect flight.igc        # Analyze offline
igc-net list                      # Show local index

Development

Requires Rust toolchain and Python 3.12+.

python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
make test

Useful targets:

make help
make fmt
make vet
make itest
make compliance

Cross-language compliance tests require the Rust CLI binary and do not assume a local sibling checkout. Install it separately and point the tests at it:

cargo install igc-net-cli
IGCNET_RS_BIN="$HOME/.cargo/bin/igc-net" make compliance

Metadata

Release files for igc-net 0.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 igc-net 0.1.0
File Size Uploaded
igc_net-0.1.0.tar.gz 83.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for igc-net 0.1.0
File Interpreter ABI Platform
igc_net-0.1.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details

Total release size: 92.5 MB

Release files / igc_net-0.1.0.tar.gz

Download URL igc_net-0.1.0.tar.gz
Size 83.2 MB
Tags Source
SHA-256 checksum
How to use checksums
e69b90a24d1ed59873ffd93277e1c20d51264c29d2519dcb803508c64a448660
BLAKE2b-256 checksum
How to use checksums
ad5669c139307f832b097879668c53c4562590690845f869669a371ffde4490b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / igc_net-0.1.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL igc_net-0.1.0-cp314-cp314-macosx_11_0_arm64.whl
Size 9.2 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d92043856c9fd001f05cf388ea502550b5b6a21d510ece6c62f3489df664f946
BLAKE2b-256 checksum
How to use checksums
dec23bdfbfa5cb19aab7014dcd3879fb135acef8db699ab798ba4ef5581304d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release history Release notifications | RSS feed

This release

0.1.0 This release

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