Skip to main content

rustigc-py

Python bindings for rustigc: parsing and cross-country scoring of IGC flight recorder files.

Installation

pip install rustigc-py

Usage

from rustigc_py import Log

log = Log.from_file("flight.igc")
print(log.pilot_name, log.glider_type, len(log.track))

flight = log.flights().longest
score = log.score("xcontest")  # or log.score("xcontest", (125, 25457))
if score:
    print(score.description, score.score, score.distance_km)

open("flight.geojson", "w").write(log.export(flight, score))

Log is the entry point. The API is documented in the docstrings — help(rustigc_py.Log), or hover in any editor; the package ships py.typed, so type checkers see the annotations too.

A track is a numpy structured array underneath, copied once from Rust and then read entirely in Python. Track hands out views over it for vectorized work:

log.track._latitude.mean()
log.track._data[0:100]

The array is read-only, so it always matches what Rust holds. A Log never changes either: Log.with_track hands back a new one over the track it is given.

Scoring without a log

Scorer scores a table of coordinates, so points that do not come from an IGC file score the same way. It takes an (N, 2) array of [latitude, longitude] in degrees, in flight order:

from rustigc_py import Scorer

score = Scorer(points).score("xcontest")

The whole table is the scored window — there are no timestamps to detect a flight in — and there are no fixes behind the result, so takeoff, entry, turnpoints, exit and landing come back as plain indices into the table rather than Fix objects.

league_names() lists what score accepts.

Development

python -m venv venv && source venv/bin/activate
pip install maturin pytest
maturin develop
python -m pytest -v

License

GPL-2.0-or-later WITH Classpath-exception-2.0

Metadata

Release files for rustigc-py 0.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rustigc-py 0.0.6
File Size Uploaded
rustigc_py-0.0.6.tar.gz 4.7 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for rustigc-py 0.0.6
File
rustigc_py-0.0.6-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details
rustigc_py-0.0.6-cp312-abi3-manylinux_2_28_x86_64.whl CPython 3.12 abi3 Linux glibc 2.28+ x86-64 Details
rustigc_py-0.0.6-cp312-abi3-manylinux_2_28_aarch64.whl CPython 3.12 abi3 Linux glibc 2.28+ ARM64 Details
rustigc_py-0.0.6-cp312-abi3-macosx_11_0_arm64.whl CPython 3.12 abi3 macOS 11.0+ ARM64 Details

Total release size: 6.5 MB

Release files / rustigc_py-0.0.6.tar.gz

Download URL rustigc_py-0.0.6.tar.gz
Size 4.7 MB
Tags Source
SHA-256 checksum
How to use checksums
4c17c5e666f0436a19503bb1095dde5ecdc749378af88a591c69f4d016f41afa
BLAKE2b-256 checksum
How to use checksums
213f5dbbe708603b222e9156e945fb60902aac5f234625b225db2b1eca724850
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 Aug 31, 2026.

Transparency log

Release files / rustigc_py-0.0.6-cp312-abi3-win_amd64.whl

Download URL rustigc_py-0.0.6-cp312-abi3-win_amd64.whl
Size 393.6 kB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
33b862ba55836216150c08dce156ffb9311ea1187d42e270ab0e8be65e733df6
BLAKE2b-256 checksum
How to use checksums
e2edba2df305297e0f246bdfd8e74cbcc8a3b78b23ee6b6a4660ae98c240164a
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 Aug 31, 2026.

Transparency log

Release files / rustigc_py-0.0.6-cp312-abi3-manylinux_2_28_x86_64.whl

Download URL rustigc_py-0.0.6-cp312-abi3-manylinux_2_28_x86_64.whl
Size 504.0 kB
Tags CPython 3.12 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
b58e4c0c64a50220186724cf0857cac5cc0036d2d0189e7d69eedd9078bbebc6
BLAKE2b-256 checksum
How to use checksums
41ef4a1b4cc437576a3187db008d6d7a0f0b117f0c5a30356513d09390209c5a
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 Aug 31, 2026.

Transparency log

Release files / rustigc_py-0.0.6-cp312-abi3-manylinux_2_28_aarch64.whl

Download URL rustigc_py-0.0.6-cp312-abi3-manylinux_2_28_aarch64.whl
Size 476.5 kB
Tags CPython 3.12 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
980742ec7dbc952599e8a64187457b9e635f44373f6d0a80967e0b92af79f7b4
BLAKE2b-256 checksum
How to use checksums
97deef4a937b24d58a3cb786423c84b9c71b0ec99127601861fd2e2af168ddf9
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 Aug 31, 2026.

Transparency log

Release files / rustigc_py-0.0.6-cp312-abi3-macosx_11_0_arm64.whl

Download URL rustigc_py-0.0.6-cp312-abi3-macosx_11_0_arm64.whl
Size 475.3 kB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5b150cd079908c1cbd2fa08ded6808a7412c419332c5377c7e1d84610bd352ba
BLAKE2b-256 checksum
How to use checksums
543c64925d42830e8dc8c857653907e0fba216f29a21fc980ee398b28e84d135
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 Aug 31, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.1

5 release files

0.1.0

5 release files

This release

0.0.6 This release

5 release files

0.0.5

5 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