Skip to main content

High-performance GNSS multipath analysis library with Python bindings

Project description

GeoVeil-MP: GNSS Multipath Analysis Library

Crates.io PyPI Rust Python License: MIT CI/CD

A high-performance Rust library for GNSS multipath analysis with Python bindings. Part of the GeoVeil suite for GNSS signal quality analysis.

Features

  • ๐Ÿ›ฐ๏ธ RINEX Support: Full support for RINEX v2.xx, v3.xx, and v4.xx observation files
  • ๐ŸŒ Multi-GNSS: GPS, GLONASS, Galileo, BeiDou, QZSS, NavIC/IRNSS, SBAS
  • ๐Ÿ“ก Navigation Data:
    • Broadcast ephemerides (Keplerian elements)
    • GLONASS state vector propagation (4th-order Runge-Kutta)
    • SP3 precise orbit interpolation (Neville's algorithm)
  • ๐Ÿ“Š Multipath Analysis: Code multipath estimation using linear combinations
  • โšก Cycle Slip Detection: Ionospheric residuals and code-phase combinations
  • ๐Ÿ“ Position Estimation: Least squares SPP with DOP calculation
  • ๐ŸŽจ Visualization: R plotting integration for publication-quality figures
  • ๐Ÿš€ High Performance: Parallel processing with Rayon, memory-mapped I/O
  • ๐Ÿ Python Bindings: Full Python API via PyO3

Installation

Python (PyPI)

pip install geoveil-mp

Rust (Cargo)

[dependencies]
geoveil_mp = "0.1"

Or with all features:

[dependencies]
geoveil_mp = { version = "0.1", features = ["full"] }

From Source

# Clone the repository
git clone https://github.com/miluta7/geoveil-mp.git
cd geoveil-mp

# Build Rust library
cargo build --release

# Build Python wheel
pip install maturin
maturin develop --release --features python

Quick Start

Python Usage

import geoveil_mp as gm

# Read RINEX observation file
obs = gm.read_rinex_obs("observation.24o")
print(f"Loaded {obs.num_epochs} epochs, {obs.num_satellites} satellites")

# Read SP3 precise ephemeris (optional, for accurate elevations)
sp3 = gm.read_sp3("ephemeris.sp3")

# Create analyzer with elevation cutoff
analyzer = gm.MultipathAnalyzer(
    obs,
    elevation_cutoff=10.0,
    systems=["G", "E", "R", "C"]  # GPS, Galileo, GLONASS, BeiDou
)

# Run multipath analysis
results = analyzer.analyze()

# Compute satellite elevations from SP3
if sp3 and obs.approx_position:
    computed, failed = results.compute_elevations(sp3, obs.approx_position)
    print(f"Elevations: {computed} computed, {failed} failed")

# Access results
print(f"Total estimates: {results.total_estimates()}")
print(f"Cycle slips detected: {results.total_cycle_slips()}")

# Print statistics by signal
for stat in results.statistics:
    print(f"{stat.signal}: RMS={stat.rms:.4f}m, Count={stat.count}")

# Export to CSV
import pandas as pd
data = [{
    'satellite': e.satellite,
    'epoch': e.epoch,
    'mp_value': e.mp_value,
    'elevation': e.elevation,
    'signal': e.signal
} for e in results.estimates]
df = pd.DataFrame(data)
df.to_csv("multipath_results.csv", index=False)

Rust Usage

use geoveil_mp::{
    prelude::*,
    RinexObsReader, Sp3Reader,
    navigation::SatellitePositionProvider,
};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Read RINEX observation file
    let obs_data = RinexObsReader::new().read("observation.24o")?;
    
    // Read SP3 precise ephemeris
    let sp3_data = Sp3Reader::read("ephemeris.sp3")?;
    
    // Configure analysis
    let config = AnalysisConfig::default()
        .with_elevation_cutoff(10.0)
        .with_systems(&["G", "E", "R", "C"]);
    
    // Run multipath analysis
    let analyzer = MultipathAnalyzer::new(obs_data, config);
    let results = analyzer.analyze()?;
    
    // Export results
    results.to_csv("results.csv")?;
    
    // Print statistics
    for (signal, stats) in &results.statistics {
        println!("{}: RMS={:.4}m, Count={}", signal, stats.rms, stats.count);
    }
    
    Ok(())
}

CLI Usage

# Analyze RINEX file with SP3 orbits
geoveil-mp analyze --obs observation.24o --sp3 ephemeris.sp3 --csv results.csv

# Get file information
geoveil-mp info observation.24o

# Estimate position from pseudoranges
geoveil-mp position --obs observation.24o --nav navigation.24n

Multipath Estimation

The code multipath is estimated using the linear combination:

$$MP_1 = R_1 - \left(1+\frac{2}{\alpha - 1}\right)\Phi_1 + \left(\frac{2}{\alpha - 1}\right)\Phi_2$$

where:

  • $R_1$ is the code observation on frequency 1
  • $\Phi_1, \Phi_2$ are phase observations on frequencies 1 and 2
  • $\alpha = f_1^2/f_2^2$ is the frequency ratio squared

This combination eliminates ionospheric delay and geometry, leaving only code multipath, code noise, and ambiguity-related biases.

Supported GNSS Systems

System Code Frequencies Navigation
GPS G L1, L2, L5 Keplerian
GLONASS R G1, G2, G3 State Vector (RK4)
Galileo E E1, E5a, E5b, E6 Keplerian
BeiDou C B1I, B1C, B2a, B2b, B3I Keplerian
QZSS J L1, L2, L5, L6 Keplerian
NavIC I L5, S, L1 Keplerian
SBAS S L1, L5 -

Data Sources

SP3 Precise Orbits (No Authentication Required)

ESA:  http://navigation-office.esa.int/products/gnss-products/{week}/
GFZ:  https://igs.bkg.bund.de/root_ftp/IGS/products/mgex/{week}/
CODE: https://igs.bkg.bund.de/root_ftp/IGS/products/mgex/{week}/

Broadcast Navigation

BKG:  https://igs.bkg.bund.de/root_ftp/IGS/BRDC/{year}/{doy}/
IGN:  https://igs.ign.fr/pub/igs/data/{year}/{doy}/

Python API Reference

Classes

Class Description
GnssSystem GNSS constellation identifier (G, R, E, C, J, I, S)
Satellite Satellite PRN identifier (e.g., "G01", "E11")
Epoch Time representation with GPS/Julian conversions
Ecef Earth-Centered Earth-Fixed coordinates
Geodetic Latitude/Longitude/Height coordinates
RinexObsData RINEX observation data container
Sp3Data SP3 precise orbit data container
MultipathAnalyzer Main multipath analysis engine
AnalysisResults Analysis results container

Functions

Function Description
read_rinex_obs(path) Read RINEX observation file
read_rinex_obs_bytes(data, filename) Read RINEX from bytes
read_sp3(path) Read SP3 precise orbit file
get_frequency(system, band, fcn) Get signal frequency (Hz)
get_wavelength(system, band, fcn) Get signal wavelength (m)
calculate_azel(receiver, satellite) Compute azimuth/elevation
compute_elevation(sp3, receiver, sat, epoch) Compute elevation from SP3
version() Get library version

Constants

Constant Value Description
SPEED_OF_LIGHT 299792458.0 Speed of light (m/s)
GM_WGS84 3.986005e14 Earth gravitational parameter (mยณ/sยฒ)
EARTH_RADIUS 6378137.0 WGS84 Earth radius (m)

Architecture

geoveil_mp/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ lib.rs              # Library entry point
โ”‚   โ”œโ”€โ”€ python.rs           # Python bindings (PyO3)
โ”‚   โ”œโ”€โ”€ rinex/              # RINEX parsing
โ”‚   โ”‚   โ”œโ”€โ”€ types.rs        # Data structures
โ”‚   โ”‚   โ””โ”€โ”€ obs_reader.rs   # Observation file reader
โ”‚   โ”œโ”€โ”€ navigation/         # Ephemeris handling
โ”‚   โ”‚   โ”œโ”€โ”€ types.rs        # Ephemeris types
โ”‚   โ”‚   โ”œโ”€โ”€ kepler2ecef.rs  # Keplerian to ECEF
โ”‚   โ”‚   โ”œโ”€โ”€ glonass.rs      # GLONASS Runge-Kutta
โ”‚   โ”‚   โ””โ”€โ”€ sp3.rs          # SP3 Neville interpolation
โ”‚   โ”œโ”€โ”€ analysis/           # Analysis algorithms
โ”‚   โ”‚   โ”œโ”€โ”€ multipath.rs    # Multipath estimation
โ”‚   โ”‚   โ”œโ”€โ”€ cycle_slip.rs   # Cycle slip detection
โ”‚   โ”‚   โ””โ”€โ”€ position.rs     # Position estimation
โ”‚   โ”œโ”€โ”€ plotting/           # R integration
โ”‚   โ””โ”€โ”€ utils/              # Utilities
โ”‚       โ”œโ”€โ”€ constants.rs    # Physical constants
โ”‚       โ”œโ”€โ”€ coordinates.rs  # Coordinate transforms
โ”‚       โ”œโ”€โ”€ time.rs         # Time handling
โ”‚       โ””โ”€โ”€ error.rs        # Error types
โ”œโ”€โ”€ examples/
โ”œโ”€โ”€ tests/
โ””โ”€โ”€ r_scripts/              # R plotting scripts

Performance

Benchmarks on a typical 24-hour multi-GNSS RINEX file (~100MB):

Operation Time Notes
Read RINEX 3.05 ~500ms Memory-mapped I/O
Read SP3 ~50ms Neville interpolation ready
Multipath analysis ~200ms Parallel processing
Position estimation ~2s All epochs

Related Projects

References

  • RINEX 4.02 Specification (IGS/RTCM)
  • GPS Interface Control Document (IS-GPS-200)
  • GLONASS Interface Control Document (ICD-GLONASS)
  • Galileo OS-SDD (Open Service Signal-in-Space ICD)
  • IGS Multi-GNSS Experiment (MGEX)

License

MIT License - see LICENSE file for details.

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

Changelog

See CHANGELOG.md for version history.

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

geoveil_mp-0.1.0.tar.gz (99.5 kB view details)

Uploaded Source

Built Distributions

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

geoveil_mp-0.1.0-cp312-cp312-win_amd64.whl (384.2 kB view details)

Uploaded CPython 3.12Windows x86-64

geoveil_mp-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (450.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

geoveil_mp-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (429.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

geoveil_mp-0.1.0-cp311-cp311-win_amd64.whl (383.5 kB view details)

Uploaded CPython 3.11Windows x86-64

geoveil_mp-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (448.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

geoveil_mp-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (429.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

geoveil_mp-0.1.0-cp310-cp310-win_amd64.whl (383.6 kB view details)

Uploaded CPython 3.10Windows x86-64

geoveil_mp-0.1.0-cp310-cp310-manylinux_2_34_x86_64.whl (448.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

geoveil_mp-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (448.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

geoveil_mp-0.1.0-cp310-cp310-macosx_11_0_arm64.whl (430.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

geoveil_mp-0.1.0-cp39-cp39-win_amd64.whl (384.5 kB view details)

Uploaded CPython 3.9Windows x86-64

geoveil_mp-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (449.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

geoveil_mp-0.1.0-cp39-cp39-macosx_11_0_arm64.whl (430.7 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file geoveil_mp-0.1.0.tar.gz.

File metadata

  • Download URL: geoveil_mp-0.1.0.tar.gz
  • Upload date:
  • Size: 99.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for geoveil_mp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0c1974d63d1859d8dbc045d2a68aac063ed8706f0574fac4dff1a7129bf645fc
MD5 a0fcaf4dab3560533724ffeccecfeea1
BLAKE2b-256 952198d41fea8a29ecc715dee45e872519aa5f0b98c589b605d7799d902b8319

See more details on using hashes here.

File details

Details for the file geoveil_mp-0.1.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: geoveil_mp-0.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 384.2 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for geoveil_mp-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7179ca8b8aaf4f85f57e2057e23eb74cce905e00016e6e1646dcd1401924b57f
MD5 7a741086dd467966144f2537821e699f
BLAKE2b-256 6f7b5902ee28b1eda01cce4f2052dac6e5187918976cba8fd0f2a2875e8ad0df

See more details on using hashes here.

Provenance

The following attestation bundles were made for geoveil_mp-0.1.0-cp312-cp312-win_amd64.whl:

Publisher: ci.yml on miluta7/geoveil-mp

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

File details

Details for the file geoveil_mp-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for geoveil_mp-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 225e19c99f527d845c861370bf380012839e29a4990eb071e3c347a82b427d40
MD5 eb7fc7125912b884d2afb13a29fff737
BLAKE2b-256 c233e401cc4152a749ac9af9c8b417f66dcfac3e7371de531febe742588224bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for geoveil_mp-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on miluta7/geoveil-mp

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

File details

Details for the file geoveil_mp-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for geoveil_mp-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ef2b5bf13c56f663f48f9ee47fcd9835b2598f9040b051f7cbf3537e193d7397
MD5 fa2a4fcff3c72cd37ef5493ab129e173
BLAKE2b-256 4137a812e4dd80ed5e3a7a888ecde6036b18ce54ae3ac6556ffd7921c2df024f

See more details on using hashes here.

Provenance

The following attestation bundles were made for geoveil_mp-0.1.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: ci.yml on miluta7/geoveil-mp

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

File details

Details for the file geoveil_mp-0.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: geoveil_mp-0.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 383.5 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for geoveil_mp-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9e8c26ff8847c9fb35dd9ca14f7bea635d1e0d0dabbd7a29953bf0a85d0fe246
MD5 0f7e1e8f1bf8c908342bd4d417c70d2d
BLAKE2b-256 230ec924904daf0d296c7a35987c4b0f30dfaae44c76ba266056973d9a023107

See more details on using hashes here.

Provenance

The following attestation bundles were made for geoveil_mp-0.1.0-cp311-cp311-win_amd64.whl:

Publisher: ci.yml on miluta7/geoveil-mp

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

File details

Details for the file geoveil_mp-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for geoveil_mp-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 70f3163290abd84853dd66f42709d50171d5154870ea5ee6a1e8d258e71ee6bf
MD5 46430073f56a25183aa80404c3fc7c62
BLAKE2b-256 c54e688897aeab1cc1d6d6f9cc4e55d75725cb762bdebaa736679a3f618dfa37

See more details on using hashes here.

Provenance

The following attestation bundles were made for geoveil_mp-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on miluta7/geoveil-mp

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

File details

Details for the file geoveil_mp-0.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for geoveil_mp-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7ea757fa2b7c27790673f7c880921db096425e8701c181a1c361f8c441ca6fac
MD5 47ea4a923882796ad043b04906c3c07c
BLAKE2b-256 6f59dbc9e6460fd65afd16161248a2bdaf77e37b36feaed711e42f09bd418edd

See more details on using hashes here.

Provenance

The following attestation bundles were made for geoveil_mp-0.1.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: ci.yml on miluta7/geoveil-mp

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

File details

Details for the file geoveil_mp-0.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: geoveil_mp-0.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 383.6 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for geoveil_mp-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 aefd122b8d24597d91cf11032db7fc37e044854cd552e6e4c475e76e31ff863a
MD5 28810087ec47b26aa01a29803c1cfe00
BLAKE2b-256 dd1940a85c062d0d3b693a2ab59b2a301f7f296745e004ba79c1f4240c7c09fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for geoveil_mp-0.1.0-cp310-cp310-win_amd64.whl:

Publisher: ci.yml on miluta7/geoveil-mp

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

File details

Details for the file geoveil_mp-0.1.0-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for geoveil_mp-0.1.0-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 ecffd59185d0cf2cadbf8485017a2c4fb0dfc2af810df062633bf6b239e729d0
MD5 ade8fd59ad5ffecf72c298e0ce72b586
BLAKE2b-256 59be312ae6c7912e0343e0a40f216c461ad51f6131ecc3e2b892fe44eca3197a

See more details on using hashes here.

File details

Details for the file geoveil_mp-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for geoveil_mp-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 43eb2e02e5e3892110477ac41bb9f723a93abf16f577eece34520b1378e58601
MD5 8b2346ac8ed76d7fbde5938ad3a6cffa
BLAKE2b-256 7a3a4aed65439b1c43fcfc74a9e763b1bf745cfcdb5bdee12725ff3a24e2250b

See more details on using hashes here.

Provenance

The following attestation bundles were made for geoveil_mp-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on miluta7/geoveil-mp

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

File details

Details for the file geoveil_mp-0.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for geoveil_mp-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ff70728fdc57f12bf4d8121a40ac57f1c86c8ee5c7500ee9f2769eb15ad57ebd
MD5 65aa0fc47e6d162d7e5850d6156ece26
BLAKE2b-256 ac387e10bdf9d61696ab4e5b2f6a8923c08d300e6995610222783606fc6101b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for geoveil_mp-0.1.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: ci.yml on miluta7/geoveil-mp

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

File details

Details for the file geoveil_mp-0.1.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: geoveil_mp-0.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 384.5 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for geoveil_mp-0.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 9e88255019df231b82f9f235e7fbed815c414c7ddd9b32cb30d4fa84816cc6b3
MD5 0920c00a8da60da21ae87fc2d7eababc
BLAKE2b-256 82889ede3348f33be0192d3e9dc47fdc7e37a65dbeb81921c3c2e4a6d45d59d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for geoveil_mp-0.1.0-cp39-cp39-win_amd64.whl:

Publisher: ci.yml on miluta7/geoveil-mp

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

File details

Details for the file geoveil_mp-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for geoveil_mp-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 944fad4b6e0fdfa96aa898f46d80dbedfba1ac5a00e5fc0d28a571d3ea190243
MD5 ec1998b0b4ad63e6485ab8a20017a6a9
BLAKE2b-256 7a1e2163ba8cdbc4d1af8230e5be74324aa621c2852750f0781e1f5310a3e764

See more details on using hashes here.

Provenance

The following attestation bundles were made for geoveil_mp-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on miluta7/geoveil-mp

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

File details

Details for the file geoveil_mp-0.1.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for geoveil_mp-0.1.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 749625d9631876d42075c62ac1bb3e899333f17f68fd951b7732f35d2514fb4d
MD5 553723b4267a604393b44265a2eef942
BLAKE2b-256 1b829d3a7bf98a556bf272c117f6e1ed0137419e185a492737e87d7054a0e07a

See more details on using hashes here.

Provenance

The following attestation bundles were made for geoveil_mp-0.1.0-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: ci.yml on miluta7/geoveil-mp

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