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)
| File | Size | Uploaded | |
|---|---|---|---|
| igc_net-0.1.0.tar.gz | 83.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|