Skip to main content

Package with utilities and tools for GNSS data processing

Project description

pygnss — GNSS utilities and tools

pygnss is a lightweight collection of utilities for GNSS data processing:

  • parsers for Hatanaka (CRX) and RINEX formats,
  • IONEX (GIM) utilities and exporters,
  • small geodetic and ionospheric helpers, and
  • a few filtering tools (particle filter, EKF/UKF helpers) used in demos and tests.

This README gives a short overview for users and contributors: installation, development (building the compiled extension), available CLI scripts and examples of the most used APIs.

Installation

Stable release from PyPI (no compiled extension required for pure-Python features):

pip install pygnss

Developer / editable install (builds the C extension declared in pyproject.toml). This is the recommended setup when working on the repository locally because some features (Hatanaka/CRX parsing) rely on a compiled extension for speed.

# create and activate a venv
python -m venv .venv
source .venv/bin/activate
# install the package and test/dev extras
python -m pip install --upgrade pip
python -m pip install -e '.[test]'

Notes on the compiled extension

  • The extension module pygnss._c_ext is built from the sources listed in pyproject.toml (under [[tool.setuptools.ext-modules]]). Building the package with pip install . or python -m build will compile it. On CI the workflow provided in .github/workflows/python-package.yml creates a virtualenv and runs pip install -e '.[test]' to ensure the entry points and compiled modules are available for tests.

CLI entry points (installed as console scripts)

The package declares several console scripts (see pyproject.toml):

  • ionex_diff — compare IONEX files or compare an IONEX to NeQuick output
  • compute_cdf — utility to compute CDF from data (used by examples)
  • rinex_from_file, rinex_to_parquet, merge_rinex_nav — helpers for RINEX conversions

After installing the package into a venv these commands are available on $PATH (from .venv/bin). Tests rely on the entry points being discoverable via PATH in CI, so the workflow prepends .venv/bin to PATH before running tests.

Quick usage examples

  1. Hatanaka (CRX) -> pandas DataFrame
from pygnss import hatanaka

df = hatanaka.to_dataframe('station.crx.gz', station='MYST')
print(df.head())

If the compiled extension is not available the function raises an ImportError with instructions to build/install the package (see "Developer" section).

  1. Read and diff IONEX maps (programmatic)
from pygnss import ionex
from pygnss.iono import gim

# load an ionex and collect VTEC maps
handler = gim.GimHandlerArray()
ionex.load('sample.ionex', gim_handler=handler)
print(len(handler.vtec_gims))

Running tests locally

With the venv active and the test extras installed the canonical way to run the test-suite is:

# inside the project root with .venv activated
python -m pytest -v

If tests call console scripts (such as ionex_diff) the venv bin directory must be on PATH so subprocesses can find the entry points. The CI workflow prepares the environment accordingly.

Where to look next

  • pygnss/hatanaka.py — Hatanaka/CRX parsing wrapper (uses compiled helper)
  • pygnss/ionex.py — IONEX loader/writer and CLI glue
  • pygnss/filter/ — particle filter, EKF/UKF helpers and demos

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pygnss-2.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl (126.8 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

pygnss-2.1.0-cp314-cp314t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl (129.9 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.12+ x86-64manylinux: glibc 2.28+ x86-64

pygnss-2.1.0-cp314-cp314-musllinux_1_2_x86_64.whl (125.8 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

pygnss-2.1.0-cp314-cp314-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl (128.9 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.12+ x86-64manylinux: glibc 2.28+ x86-64

pygnss-2.1.0-cp313-cp313-musllinux_1_2_x86_64.whl (125.3 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

pygnss-2.1.0-cp313-cp313-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl (128.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.12+ x86-64manylinux: glibc 2.28+ x86-64

pygnss-2.1.0-cp312-cp312-musllinux_1_2_x86_64.whl (125.2 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

pygnss-2.1.0-cp312-cp312-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl (128.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.12+ x86-64manylinux: glibc 2.28+ x86-64

pygnss-2.1.0-cp311-cp311-musllinux_1_2_x86_64.whl (124.6 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pygnss-2.1.0-cp311-cp311-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl (127.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.12+ x86-64manylinux: glibc 2.28+ x86-64

pygnss-2.1.0-cp310-cp310-musllinux_1_2_x86_64.whl (123.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

pygnss-2.1.0-cp310-cp310-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl (126.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.12+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file pygnss-2.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pygnss-2.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 959cb286fd90cd070d98c2240735e312d4650150abf51c652df8e50d11b9ea9f
MD5 974d3f79da15da57a0903edf43b7e1d1
BLAKE2b-256 e058e4e9e9214fef05389b61e911b9973cd340ffc4f745143e9e9e819a6b49a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pygnss-2.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on mgfernan/pygnss

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pygnss-2.1.0-cp314-cp314t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pygnss-2.1.0-cp314-cp314t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a58c53bf9cb48bc91eb2d941705d59256548502b51f72a24a6f3489d2b943b75
MD5 ad355c34c4a2f1f2d399814a5ca89b22
BLAKE2b-256 86cecdb7ca760ae316389d6931d758fec03df0cdd432e98820dad62fe821e13b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pygnss-2.1.0-cp314-cp314t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on mgfernan/pygnss

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pygnss-2.1.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pygnss-2.1.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 24306bdc7897c0fe1bb4ea58b44e9c19e0b384d798e1473d1fbac9580ad04598
MD5 fc141b636009a4f6e3be9ecb699ac38b
BLAKE2b-256 5e8996ccae6d20916b15e01f40c4cc3dc0e3bf5882bc4f4b77d62fa4200d75bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pygnss-2.1.0-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on mgfernan/pygnss

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pygnss-2.1.0-cp314-cp314-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pygnss-2.1.0-cp314-cp314-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b630c7ab8f57e674d0311c174958f67045cbe11c317e655ff5bf097c4c83df4e
MD5 f1f3458c26abf7e79d9c51a05de1f099
BLAKE2b-256 ea3f071ddcd8a6531402b4c6a2fa92277fb1728dadfcc1b528943cf65b1c8b59

See more details on using hashes here.

Provenance

The following attestation bundles were made for pygnss-2.1.0-cp314-cp314-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on mgfernan/pygnss

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pygnss-2.1.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pygnss-2.1.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8925c4b46f832871ced7137f6c181330084e260460fdfb25cf9730a063f5d28d
MD5 1913784d5a49cb7c20cd3f51ef3f648d
BLAKE2b-256 0ce68889d548eebe2ce78b8c6668f05f0c035d5b65ce9defeff71d0a4a096c8c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pygnss-2.1.0-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on mgfernan/pygnss

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pygnss-2.1.0-cp313-cp313-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pygnss-2.1.0-cp313-cp313-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3c7ae8f76c419045cbcb0cf7ed49449be4ef24000a2f9265d578a058aa26d7ee
MD5 e31353faabe56441f3f51e8bddf6f027
BLAKE2b-256 95e316174cbe2d62efa3d603dfec727f820023bcc3592c6f40eaa5ac423aacb6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pygnss-2.1.0-cp313-cp313-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on mgfernan/pygnss

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pygnss-2.1.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pygnss-2.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fd60294fb1ff68920297e01b7a134a52da5a14e012b5e90e02cfae4f0df5fca8
MD5 b796a7ced50022f15d0569c0a189524b
BLAKE2b-256 f6a428b8600f08d6641c6b11d21635742cc927efbe0bb2e8c280dfe190e6e0f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pygnss-2.1.0-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on mgfernan/pygnss

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pygnss-2.1.0-cp312-cp312-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pygnss-2.1.0-cp312-cp312-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0548c57c6e5b2aa233608c3506c0cb59eecdf2647229e195a9687582bf50cc46
MD5 d58b00834026bb188e8b74f7049ae154
BLAKE2b-256 b2f7c153a062f42c8a0a3c2910f35a069029396dcc361e498424417f867faf8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pygnss-2.1.0-cp312-cp312-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on mgfernan/pygnss

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pygnss-2.1.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pygnss-2.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 86577d59309e6d51e9cf8306f2eb3b8ca541e28c066c02b8c0b0f6acc4b283f0
MD5 fe37145414db64904fc44af8bb56f208
BLAKE2b-256 82b2007c3336df47589a1e9b2451246f1d660d1f4ca4c85227503cd065d322ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for pygnss-2.1.0-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on mgfernan/pygnss

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pygnss-2.1.0-cp311-cp311-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pygnss-2.1.0-cp311-cp311-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 28b4c1b8325bdbc57ccce207a1f30775315a43d1b0a5a4caef5d3da1bf049f0b
MD5 3e4119a87895b668a391d754b9a7b7b1
BLAKE2b-256 346ce0c735e8f535e8c811a0bae4b51878fa2632b2b01b284eb43a45b7aa5fd1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pygnss-2.1.0-cp311-cp311-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on mgfernan/pygnss

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pygnss-2.1.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pygnss-2.1.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c8b4f03be2b52119b5ff01ddca9e1bc91e82a917d5a812b927aba9e823d26112
MD5 fa91620f0e96f867b78fe2dd6796d3d0
BLAKE2b-256 7d37fa490580a5b154acad62d303c9c3575ffd9e192f8a50a3eb787b9ff58af6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pygnss-2.1.0-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on mgfernan/pygnss

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pygnss-2.1.0-cp310-cp310-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pygnss-2.1.0-cp310-cp310-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 22de6ff723bfcde090274a45e30d360c6eee92093a1cf03155d355d185b7e4d6
MD5 52510e270318adb86059a2b4d6ab8bba
BLAKE2b-256 aa89ac7eeeb66d4a7323b2f8c71c2c5319d4dfc87411c36e238b2d8f5a04d756

See more details on using hashes here.

Provenance

The following attestation bundles were made for pygnss-2.1.0-cp310-cp310-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on mgfernan/pygnss

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page