High-performance GNSS multipath analysis library with Python bindings
Project description
GeoVeil-MP: GNSS Multipath Analysis Library
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
- geoveil-cn0: CN0 (carrier-to-noise ratio) analysis and interference detection
- GNSS_Multipath_Analysis_Software: Original Python implementation (inspiration)
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file geoveil_mp-0.1.1.tar.gz.
File metadata
- Download URL: geoveil_mp-0.1.1.tar.gz
- Upload date:
- Size: 99.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
884c64f163720e9928a076996d436a3f67c02223fad69dac293bff21c0a24bac
|
|
| MD5 |
d455a131599620dad47841e27fe312cd
|
|
| BLAKE2b-256 |
111a5540b2019f356dfa258131631eaec239be7258b3460ec3f297d8de35c25b
|
Provenance
The following attestation bundles were made for geoveil_mp-0.1.1.tar.gz:
Publisher:
ci.yml on miluta7/geoveil-mp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
geoveil_mp-0.1.1.tar.gz -
Subject digest:
884c64f163720e9928a076996d436a3f67c02223fad69dac293bff21c0a24bac - Sigstore transparency entry: 842935474
- Sigstore integration time:
-
Permalink:
miluta7/geoveil-mp@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/miluta7
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file geoveil_mp-0.1.1-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: geoveil_mp-0.1.1-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 384.1 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d508569dd280c696dc580efe9fce9d7a955d3acb33d91792f1a34c3334bd672d
|
|
| MD5 |
ae8c1bab6e8c5a0279fd4e9f7cfff422
|
|
| BLAKE2b-256 |
e874e09dcbc7bf420bcd04ef63fd78835090ee7b89e2f445d6518f1bef47377a
|
Provenance
The following attestation bundles were made for geoveil_mp-0.1.1-cp312-cp312-win_amd64.whl:
Publisher:
ci.yml on miluta7/geoveil-mp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
geoveil_mp-0.1.1-cp312-cp312-win_amd64.whl -
Subject digest:
d508569dd280c696dc580efe9fce9d7a955d3acb33d91792f1a34c3334bd672d - Sigstore transparency entry: 842935513
- Sigstore integration time:
-
Permalink:
miluta7/geoveil-mp@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/miluta7
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file geoveil_mp-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: geoveil_mp-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 450.0 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11da1a18684c0adc0501a50c20008daf7aa7a4e440f40f8c3f2f8a2a71b6e602
|
|
| MD5 |
dbeef7c22b7c40ddea90942a6329a752
|
|
| BLAKE2b-256 |
b3efa7a477ad5929e50647187364e455bff045bc4c1b3455a060fd0254dc8d8e
|
Provenance
The following attestation bundles were made for geoveil_mp-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
ci.yml on miluta7/geoveil-mp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
geoveil_mp-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
11da1a18684c0adc0501a50c20008daf7aa7a4e440f40f8c3f2f8a2a71b6e602 - Sigstore transparency entry: 842935522
- Sigstore integration time:
-
Permalink:
miluta7/geoveil-mp@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/miluta7
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file geoveil_mp-0.1.1-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: geoveil_mp-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 430.1 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a98aeabf7e164f733a59b7dc46da4f1b7a23e0c2f6d28e44d8fbb05c0e7a2ffe
|
|
| MD5 |
0d72569e8fa0243c99990ed07dc9ad68
|
|
| BLAKE2b-256 |
5d74f6989fa3ea431cf51ce4109f4334a851c2fe3b28789b694f3742f432d476
|
Provenance
The following attestation bundles were made for geoveil_mp-0.1.1-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
ci.yml on miluta7/geoveil-mp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
geoveil_mp-0.1.1-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
a98aeabf7e164f733a59b7dc46da4f1b7a23e0c2f6d28e44d8fbb05c0e7a2ffe - Sigstore transparency entry: 842935507
- Sigstore integration time:
-
Permalink:
miluta7/geoveil-mp@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/miluta7
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file geoveil_mp-0.1.1-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: geoveil_mp-0.1.1-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 383.6 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1787f057fb04d11d729bdf9692b2fb0e96e8daadc124da494203b2dc974e00b
|
|
| MD5 |
d43ac1d88857fb0f613e224ce843ebaa
|
|
| BLAKE2b-256 |
1a04f87ee265d0b1c56cbb2b7976973a01c9154db4fb487a0f1a6e8f7b5f4aaf
|
Provenance
The following attestation bundles were made for geoveil_mp-0.1.1-cp311-cp311-win_amd64.whl:
Publisher:
ci.yml on miluta7/geoveil-mp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
geoveil_mp-0.1.1-cp311-cp311-win_amd64.whl -
Subject digest:
a1787f057fb04d11d729bdf9692b2fb0e96e8daadc124da494203b2dc974e00b - Sigstore transparency entry: 842935489
- Sigstore integration time:
-
Permalink:
miluta7/geoveil-mp@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/miluta7
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file geoveil_mp-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: geoveil_mp-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 448.7 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11e9e3141e6f136bdea16645836a0325f5c29eb4cb969fb946fabb6260ed143e
|
|
| MD5 |
3739188971c7b6e7603381e69354537c
|
|
| BLAKE2b-256 |
3d782d3a062cc33fe8916ec0e1f40cb69e30cb5e3d4760eb0189fd59a61859ee
|
Provenance
The following attestation bundles were made for geoveil_mp-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
ci.yml on miluta7/geoveil-mp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
geoveil_mp-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
11e9e3141e6f136bdea16645836a0325f5c29eb4cb969fb946fabb6260ed143e - Sigstore transparency entry: 842935482
- Sigstore integration time:
-
Permalink:
miluta7/geoveil-mp@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/miluta7
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file geoveil_mp-0.1.1-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: geoveil_mp-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 430.1 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2db0da1e48984d463d12f06e290df6eb75ed500a85de03805209ef9ac474d17b
|
|
| MD5 |
7ec4d43222ca014ad8b595ee8f3c4815
|
|
| BLAKE2b-256 |
53ecb325f4e8c72edf50736446a7af7b0a718dd6fd5966ab30b4150a4a822a88
|
Provenance
The following attestation bundles were made for geoveil_mp-0.1.1-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
ci.yml on miluta7/geoveil-mp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
geoveil_mp-0.1.1-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
2db0da1e48984d463d12f06e290df6eb75ed500a85de03805209ef9ac474d17b - Sigstore transparency entry: 842935527
- Sigstore integration time:
-
Permalink:
miluta7/geoveil-mp@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/miluta7
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file geoveil_mp-0.1.1-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: geoveil_mp-0.1.1-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c3a208b4f90dfcce4a0974b46f11c5914f96c2a52fbb8af6099abc40955f7d4
|
|
| MD5 |
7b166cbca4ceafec42ab32cd42d6e6f8
|
|
| BLAKE2b-256 |
db93c65358af4bfdb28d5969c37b702c8457100245e25809adaebfdc02c0d4f3
|
Provenance
The following attestation bundles were made for geoveil_mp-0.1.1-cp310-cp310-win_amd64.whl:
Publisher:
ci.yml on miluta7/geoveil-mp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
geoveil_mp-0.1.1-cp310-cp310-win_amd64.whl -
Subject digest:
3c3a208b4f90dfcce4a0974b46f11c5914f96c2a52fbb8af6099abc40955f7d4 - Sigstore transparency entry: 842935496
- Sigstore integration time:
-
Permalink:
miluta7/geoveil-mp@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/miluta7
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file geoveil_mp-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: geoveil_mp-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 448.8 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49978599298a06faec39f33884eaeef258b20066c7eec17f3a48533ade8a14f3
|
|
| MD5 |
ab1b7e16b9fd193bcbd2e78582a1a557
|
|
| BLAKE2b-256 |
c1fb0eeca35e543ccc8fef643f1386f9cecde1df55810794cb09c30b5fe631ad
|
Provenance
The following attestation bundles were made for geoveil_mp-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
ci.yml on miluta7/geoveil-mp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
geoveil_mp-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
49978599298a06faec39f33884eaeef258b20066c7eec17f3a48533ade8a14f3 - Sigstore transparency entry: 842935534
- Sigstore integration time:
-
Permalink:
miluta7/geoveil-mp@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/miluta7
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file geoveil_mp-0.1.1-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: geoveil_mp-0.1.1-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 430.2 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3b15e85e11599bb6f49a920bad108a2100b8dc7e9a57e5f2d7cc55f9a5df56f
|
|
| MD5 |
1badb2f536875aae6590f9f84cdbd377
|
|
| BLAKE2b-256 |
1f475b3ea8e7c1ceebdf6e2a3e958b2ea1cb7aeee027d04ef2abc04b212fcdd0
|
Provenance
The following attestation bundles were made for geoveil_mp-0.1.1-cp310-cp310-macosx_11_0_arm64.whl:
Publisher:
ci.yml on miluta7/geoveil-mp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
geoveil_mp-0.1.1-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
b3b15e85e11599bb6f49a920bad108a2100b8dc7e9a57e5f2d7cc55f9a5df56f - Sigstore transparency entry: 842935501
- Sigstore integration time:
-
Permalink:
miluta7/geoveil-mp@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/miluta7
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file geoveil_mp-0.1.1-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: geoveil_mp-0.1.1-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 384.6 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5e167dae7e84e3e48c9ddd5c8638ac934561ef972b927d4afcb3af61597e1ff
|
|
| MD5 |
40d7f1aa235ed667ec1996c88c9699e6
|
|
| BLAKE2b-256 |
b341b70404497558f52cc727fe8f2852f8661bebc98a9defe79d42cd37b07f19
|
Provenance
The following attestation bundles were made for geoveil_mp-0.1.1-cp39-cp39-win_amd64.whl:
Publisher:
ci.yml on miluta7/geoveil-mp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
geoveil_mp-0.1.1-cp39-cp39-win_amd64.whl -
Subject digest:
a5e167dae7e84e3e48c9ddd5c8638ac934561ef972b927d4afcb3af61597e1ff - Sigstore transparency entry: 842935543
- Sigstore integration time:
-
Permalink:
miluta7/geoveil-mp@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/miluta7
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file geoveil_mp-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: geoveil_mp-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 449.7 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe31290c03a906f311f63c032e41b41054a38fc8b3775af3aa54de63566b61f1
|
|
| MD5 |
4451a909acca6fa2fe598f80c68ef268
|
|
| BLAKE2b-256 |
106cde11b412cb355ffb522cc060dc7ba4dbe3f6e382011a22ad0ad2a10815d0
|
Provenance
The following attestation bundles were made for geoveil_mp-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
ci.yml on miluta7/geoveil-mp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
geoveil_mp-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
fe31290c03a906f311f63c032e41b41054a38fc8b3775af3aa54de63566b61f1 - Sigstore transparency entry: 842935518
- Sigstore integration time:
-
Permalink:
miluta7/geoveil-mp@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/miluta7
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file geoveil_mp-0.1.1-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: geoveil_mp-0.1.1-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 430.9 kB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58844225ce3f925dbb4441d16dd252e7dff184c6c244f13581587853a63a6585
|
|
| MD5 |
50d7dc6332439b526cb03a390192f8af
|
|
| BLAKE2b-256 |
bbd791df5f9fa81286401e764c4c509a1b9f6c25fc35969ce3e613d4e9491e42
|
Provenance
The following attestation bundles were made for geoveil_mp-0.1.1-cp39-cp39-macosx_11_0_arm64.whl:
Publisher:
ci.yml on miluta7/geoveil-mp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
geoveil_mp-0.1.1-cp39-cp39-macosx_11_0_arm64.whl -
Subject digest:
58844225ce3f925dbb4441d16dd252e7dff184c6c244f13581587853a63a6585 - Sigstore transparency entry: 842935538
- Sigstore integration time:
-
Permalink:
miluta7/geoveil-mp@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/miluta7
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@2094991242fc45b06f9b4989d31e725dca3e02f5 -
Trigger Event:
push
-
Statement type: