Skip to main content

Python ecosystem for GNSS-Transmissometry canopy VOD retrievals

Project description

canvodpy

Umbrella package for unified GNSS VOD analysis.

Overview

canvodpy is the unified entry point for the canVOD ecosystem. It provides three levels of API:

  • Level 1: One-line convenience functions (fastest path to results)
  • Level 2: Object-oriented classes (structured workflows)
  • Level 3: Low-level components (full control)

Installation

# Installs canvodpy + all 7 sub-packages
uv pip install canvodpy

Quick Start

Level 1: Simple (One-Liners)

from canvodpy import process_date, calculate_vod

# Process one day of data
data = process_date("Rosalia", "2025001")

# Calculate VOD
vod = calculate_vod("Rosalia", "canopy_01", "reference_01", "2025001")

Level 2: Object-Oriented (More Control)

from canvodpy import Site, Pipeline

# Create site and pipeline
site = Site("Rosalia")
pipeline = site.pipeline(aux_agency="ESA", n_workers=8)

# Process data
data = pipeline.process_date("2025001")

# Or process multiple days
for date, datasets in pipeline.process_range("2025001", "2025007"):
    print(f"Processed {date}")

Level 3: Low-Level (Full Control)

from canvod.readers import Rnxv3Obs
from canvod.auxiliary import Sp3File, ClkFile
from canvod.store import GnssResearchSite
from canvodpy.orchestrator import PipelineOrchestrator

# Direct access to all internals
site = GnssResearchSite("Rosalia")
orchestrator = PipelineOrchestrator(site, n_max_workers=12)
# ... custom processing ...

Included Packages

Installing canvodpy provides access to all 7 packages:

  • canvod.readers -- RINEX file parsing (v3.04)
  • canvod.auxiliary -- Auxiliary data (SP3, CLK) handling
  • canvod.grids -- Hemisphere grid structures
  • canvod.store -- Icechunk data storage
  • canvod.vod -- VOD calculation algorithms
  • canvod.viz -- 2D/3D visualization
  • canvod.utils -- Shared utilities

Platform Support

Platform Status Notes
Linux Full support Recommended
macOS Full support Fully tested
Windows WSL only Native not supported (reserved aux name)

Configuration

Create a .env file in repository root (optional for NASA products):

# NASA CDDIS credentials (optional)
CDDIS_MAIL=your.email@example.com

# Data root directory (required)
GNSS_ROOT_DIR=/path/to/your/data

Without .env, canvodpy operates in ESA-only mode (COD, GFZ, ESA products).

Documentation

Centralized documentation

Development

See the main repository README for workspace development setup.

License

Apache License 2.0

Project details


Download files

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

Source Distribution

canvodpy-0.2.1.tar.gz (92.9 kB view details)

Uploaded Source

Built Distribution

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

canvodpy-0.2.1-py3-none-any.whl (110.2 kB view details)

Uploaded Python 3

File details

Details for the file canvodpy-0.2.1.tar.gz.

File metadata

  • Download URL: canvodpy-0.2.1.tar.gz
  • Upload date:
  • Size: 92.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for canvodpy-0.2.1.tar.gz
Algorithm Hash digest
SHA256 6a6a5814dc47b3da5ed684103055ff1866ea032da6af450896865e863ea7ba42
MD5 e0f7af7a8ed94d752cbc1d50cf6ea8c2
BLAKE2b-256 af94d857f0acfca96b24f34da335ba49a653b6191d1ee44536375f5b42d93d4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for canvodpy-0.2.1.tar.gz:

Publisher: publish_pypi.yml on nfb2021/canvodpy

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

File details

Details for the file canvodpy-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: canvodpy-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 110.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for canvodpy-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a883443857d5ba8a65881beeb072b419be75cb4f5da2f080b46f3c56a4133a46
MD5 1e240e8858d68f2e4f3fb80504546970
BLAKE2b-256 fde866d534428d9b986a1c7ead5c50bb560338691f850e84f32c7b4c50285caf

See more details on using hashes here.

Provenance

The following attestation bundles were made for canvodpy-0.2.1-py3-none-any.whl:

Publisher: publish_pypi.yml on nfb2021/canvodpy

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