High-performance trajectory distance & similarity measures in Rust with Python bindings
Project description
traj-dist-rs
High-performance trajectory distance & similarity measures in Rust and Python.
A high-performance Rust implementation of trajectory distance algorithms with Python bindings, offering significant speed improvements over the original traj-dist library.
About
traj-dist-rs is a high-performance trajectory distance calculation library written in Rust, providing both native Rust APIs and Python bindings via PyO3. It is a complete rewrite of the original traj-dist library, focusing on performance optimization and modern language features.
Why traj-dist-rs?
- Performance: ~82x faster than Python implementation and ~3x faster than Cython implementation on average
- Batch Computation: Native
pdistandcdistfunctions with parallel support up to 130x faster thantraj-dist - Zero Dependencies: Only requires numpy >= 1.21 - no heavy dependencies like polars, pyarrow, pandas, or shapely
- Safety: Rust's memory safety guarantees eliminate common runtime errors
- Cross-platform: Supports Linux, macOS, and Windows with native binaries
- Dual API: Use it from Python or Rust with minimal overhead
- Accuracy: All algorithms verified against original implementation with < 1e-8 error margin
Features
Supported Distance Algorithms
| Algorithm | Full Name | Best For |
|---|---|---|
| SSPD | Symmetric Segment-Path Distance | General similarity, noise tolerance |
| DTW | Dynamic Time Warping | Similarity with time warping, flexible alignment |
| Discret Frechet | Discrete Fréchet Distance | Geometric similarity, path-based matching |
| Hausdorff | Hausdorff Distance | Maximum distance, outlier-sensitive similarity |
| LCSS | Longest Common Subsequence | Robust similarity with noise tolerance |
| EDR | Edit Distance on Real sequence | Similarity with noise and outlier tolerance |
| ERP | Edit distance with Real Penalty | Robust similarity with gap handling |
Distance Types
- Euclidean - 2D Euclidean distance
- Spherical - Haversine distance for geographic coordinates
Batch Computation
pdist- Pairwise distance matrix for trajectory collections (compressed format)cdist- Cross-distance matrix between two trajectory collections- Parallel processing - Automatic parallelization using Rayon for large datasets
- Metric API - Type-safe configuration with factory methods
Additional Features
- Matrix return for DP-based algorithms (DTW, LCSS, EDR, ERP, Discret Frechet)
- Precomputed distance matrix support for efficient batch computations
- Zero-copy NumPy array support for optimal performance
- Pickle serialization for
DpResultobjects (compatible with joblib) - Comprehensive error handling for invalid inputs
- Full Python type hints for better IDE support
Keywords / Search Terms
Common search terms related to this library:
- Core concepts: trajectory similarity, trajectory distance, similarity measures, trajectory analysis
- Algorithms: DTW, LCSS, EDR, ERP, Fréchet distance, Hausdorff distance, SSPD
- Applications: trajectory clustering, trajectory similarity search, nearest neighbor retrieval, mobility data analysis, GPS trace analysis
- Domains: time series similarity, spatiotemporal data, movement pattern mining, anomaly detection
Migration from traj-dist
If you used the original traj-dist library for trajectory similarity measurement, this library is compatible and offers significant performance improvements:
- Algorithm compatibility: Core algorithms (SSPD, DTW, Hausdorff, LCSS, EDR, ERP) supported
- Performance: 3-10x faster than Cython implementation
Quick Start
Python
import numpy as np
import traj_dist_rs
# Define trajectories as list of [x, y] coordinates or numpy arrays
traj1 = [[0.0, 0.0], [1.0, 1.0], [2.0, 2.0]]
traj2 = [[0.1, 0.1], [1.1, 1.1], [2.1, 2.1]]
# Calculate SSPD distance
distance = traj_dist_rs.sspd(traj1, traj2, dist_type="euclidean")
print(f"SSPD distance: {distance}")
# Calculate DTW distance (returns DpResult with distance and optional matrix)
result = traj_dist_rs.dtw(traj1, traj2, dist_type="euclidean", use_full_matrix=False)
print(f"DTW distance: {result.distance}")
# Calculate Hausdorff distance
distance = traj_dist_rs.hausdorff(traj1, traj2, dist_type="spherical")
print(f"Hausdorff distance: {distance}")
# Batch computation with pdist (pairwise distances)
trajectories = [np.array([[0.0, 0.0], [1.0, 1.0]]) for _ in range(10)]
metric = traj_dist_rs.Metric.sspd(type_d="euclidean")
distances = traj_dist_rs.pdist(trajectories, metric=metric, parallel=True)
print(f"Computed {len(distances)} pairwise distances")
# Cross-distance computation with cdist
dist_matrix = traj_dist_rs.cdist(trajectories[:5], trajectories[5:], metric=metric)
print(f"Distance matrix shape: {dist_matrix.shape}")
Rust
use traj_dist_rs::distance::sspd::sspd;
use traj_dist_rs::distance::dtw::dtw;
use traj_dist_rs::distance::base::TrajectoryCalculator;
use traj_dist_rs::distance::distance_type::DistanceType;
use traj_dist_rs::distance::batch::{pdist, Metric, DistanceAlgorithm};
fn main() {
let traj1 = vec![[0.0, 0.0], [1.0, 1.0], [2.0, 2.0]];
let traj2 = vec![[0.1, 0.1], [1.1, 1.1], [2.1, 2.1]];
// Calculate SSPD distance
let dist = sspd(&traj1, &traj2, DistanceType::Euclidean);
println!("SSPD distance: {}", dist);
// Calculate DTW distance
let calculator = TrajectoryCalculator::new(&traj1, &traj2, DistanceType::Euclidean);
let result = dtw(&calculator, false);
println!("DTW distance: {}", result.distance);
// Batch computation with pdist
let trajectories = vec![
vec![[0.0, 0.0], [1.0, 1.0]],
vec![[0.0, 1.0], [1.0, 0.0]],
vec![[0.5, 0.5], [1.5, 1.5]],
];
let metric = Metric::new(DistanceAlgorithm::SSPD, DistanceType::Euclidean);
let distances = pdist(&trajectories, &metric, true).unwrap();
println!("Computed {} pairwise distances", distances.len());
}
Installation
From PyPI (Python)
pip install traj-dist-rs
Minimal Dependencies: traj-dist-rs only requires numpy >= 1.21 to function. This makes it extremely lightweight and easy to install compared to alternatives that depend on pandas, shapely, or other heavy libraries.
Requirements
- Python: 3.10, 3.11, 3.12, or 3.13
- NumPy: >= 1.21 (the only runtime dependency)
- Platform: Linux, macOS, or Windows
From crates.io (Python)
cargo add traj-dist-rs --features parallel
Installation Options
Basic Installation (minimal dependencies):
pip install traj-dist-rs
Installation with Test Dependencies (for development):
pip install traj-dist-rs[test]
From Source (requires Rust toolchain):
Prerequisites:
- Rust 1.85 or later
- uv
Build and install:
# Clone the repository
git clone https://github.com/Davidham3/traj-dist-rs.git
cd traj-dist-rs
# Compile and install via uv
uv pip install .
Rust-only build:
cargo build --release --features parallel
Performance
Compared to the original traj-dist implementation (based on median values from K=1000 trajectory pairs):
Overall Performance
| Implementation | Average Speedup |
|---|---|
| Rust vs Python | ~82x faster |
| Rust vs Cython | ~3x faster |
By Distance Type
Euclidean Distance:
- Rust vs Python: ~388x faster (range: 169x - 612x)
- Rust vs Cython: ~9.7x faster (range: 6.2x - 13.7x)
Spherical Distance:
- Rust vs Python: ~87x faster (range: 47x - 194x)
- Rust vs Cython: ~3.5x faster (range: 1.8x - 8.6x)
Batch Computation Performance
pdist (DTW, 5 trajectories, varying lengths):
| Trajectory Length | Rust Seq vs traj-dist |
Rust Par vs traj-dist |
|---|---|---|
| 10 points | 8.02x | 0.14x (parallel overhead) |
| 100 points | 15.55x | 10.52x |
| 1000 points | 15.76x | 83.41x |
cdist (DTW, 5×5, varying lengths):
| Trajectory Length | Rust Seq vs traj-dist |
Rust Par vs traj-dist |
|---|---|---|
| 10 points | 15.85x | 1.00x (parallel overhead) |
| 100 points | 15.21x | 15.15x |
| 1000 points | 15.20x | 60.97x |
Real-world Example: TrajCL Data Preprocessing
- Dataset: 7,000 trajectories (Porto dataset)
- Task: DTW distance matrix computation
- Performance: 31.8x faster than traj-dist baseline (2933s → 92s)
For detailed performance analysis with statistics, see performance.md.
Documentation
- Installation Guide: installation.md
- Python User Guide: usage_for_python.ipynb
- Rust User Guide: usage_for_rust.ipynb
- Performance Report: performance.md
- Examples: examples/ - Python and Rust example code
Testing
Run comprehensive integration tests:
bash scripts/pre_build.sh
Contributing
We welcome contributions! Please see our contributing guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests and ensure they pass via
bash scripts/pre_build.sh - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Workflow
For daily development, use the pre-build script:
bash scripts/pre_build.sh
This script will:
- Format Rust and Python code
- Run linting (clippy, ruff)
- Run all tests (Rust + Python)
- Generate Python stub files
- Build Python bindings
Project Structure
traj-dist-rs/
├── src/
│ ├── distance/ # Distance algorithm implementations
│ ├── binding/ # Python bindings (PyO3)
│ └── lib.rs # Library entry point
├── tests/ # Rust integration tests
├── py_tests/ # Python integration tests
├── python/ # Python package source
├── docs/ # Documentation
└── scripts/ # Build and utility scripts
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Original traj-dist library for algorithm reference
- PyO3 for Python bindings
- The Rust community for excellent tooling and libraries
Support
- Issues: Report bugs and request features via GitHub Issues
- Discussions: Join discussions about usage and development
- Documentation: Check the docs directory for detailed guides
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 traj_dist_rs-1.0.0b4.tar.gz.
File metadata
- Download URL: traj_dist_rs-1.0.0b4.tar.gz
- Upload date:
- Size: 2.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
03a79e13de36561145a15cb130e893f54654d8d48660014cc3c9e5819261e37d
|
|
| MD5 |
66ec101aff3f2b76307e8160c3d0665d
|
|
| BLAKE2b-256 |
874e6171577447de0b39280fb6575c0c4ea6bdb40bc6a65d395799a4c26f639d
|
File details
Details for the file traj_dist_rs-1.0.0b4-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: traj_dist_rs-1.0.0b4-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 323.5 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f6793e5372728b17c27c56ae1cd670da0fd501a2b0d6635ad68820743755b1af
|
|
| MD5 |
161c74791b370e5d2bae184dd2481fde
|
|
| BLAKE2b-256 |
39aca7736e5671ce4cb63b2e875a974474b481c951d60c34cd0836ece6d973f6
|
File details
Details for the file traj_dist_rs-1.0.0b4-cp313-cp313-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: traj_dist_rs-1.0.0b4-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 506.6 kB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d8cafaea772a38e06e0cd1cd4fdf1b0a39ec761770269f93d40e2c3992e6a98
|
|
| MD5 |
078ca6967c73a25a1505f4da47fe52e0
|
|
| BLAKE2b-256 |
fa03b02e547effce096b10a012da74514ed6973a3779cb722db0377cd39d6e14
|
File details
Details for the file traj_dist_rs-1.0.0b4-cp313-cp313-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: traj_dist_rs-1.0.0b4-cp313-cp313-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 486.8 kB
- Tags: CPython 3.13, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f304e8a277fc57b3d5319184421e48ef855e273c0d99c46afd09af6944f1bd2
|
|
| MD5 |
0808be6b283feec73e0c7bb2ade1170e
|
|
| BLAKE2b-256 |
edc5f0b84d745d2d9a9439449239fdc1afe344f9b1a41f1e0bd1d21125c8218e
|
File details
Details for the file traj_dist_rs-1.0.0b4-cp313-cp313-macosx_11_0_x86_64.whl.
File metadata
- Download URL: traj_dist_rs-1.0.0b4-cp313-cp313-macosx_11_0_x86_64.whl
- Upload date:
- Size: 455.0 kB
- Tags: CPython 3.13, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae679cfada32b02cd83e28de3518e1cb5ec0c381330bfa1de0d0e74b634bbc45
|
|
| MD5 |
a7b19d4bc7aed98b3c7bbc0986db3b47
|
|
| BLAKE2b-256 |
f513b315481a8299d98aef625709c8984993606204311727c9ee5bd947bea0e3
|
File details
Details for the file traj_dist_rs-1.0.0b4-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: traj_dist_rs-1.0.0b4-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 442.0 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e028967c8abe05940bcc97ba36c1b39265135059867daeca883b2e1665749b0c
|
|
| MD5 |
6fa8007dca9110bc8a02b753f1ff273c
|
|
| BLAKE2b-256 |
3c8c51589028b0799f0191819163c562a88f87527ab81c2daeb183ca8101afd0
|
File details
Details for the file traj_dist_rs-1.0.0b4-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: traj_dist_rs-1.0.0b4-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 323.9 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f023fb297f6148945258abce4d795b5afce89cc38967699f1504ca24b8afebc6
|
|
| MD5 |
022633fc2f19ac69ca392667412a7516
|
|
| BLAKE2b-256 |
3d94a4dbd0b303547242df9d6e423430a5840b725c6b524f41b8d2566c82eeff
|
File details
Details for the file traj_dist_rs-1.0.0b4-cp312-cp312-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: traj_dist_rs-1.0.0b4-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 507.6 kB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20806b3df0018cad322dc0c66b6e9627fd99550290074e956056cdb771fb20f1
|
|
| MD5 |
03cee812c43a4d499a411fc9c267fc8c
|
|
| BLAKE2b-256 |
9a9d7e1cedd35168d7724572f351aa68157e29237083019127d2f86734fe1705
|
File details
Details for the file traj_dist_rs-1.0.0b4-cp312-cp312-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: traj_dist_rs-1.0.0b4-cp312-cp312-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 487.0 kB
- Tags: CPython 3.12, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7344ac1403001f4170c716b0a77149894422cc9207aae31903e99c1cc5eb2426
|
|
| MD5 |
d96c1b709adf597a0463ecb9e2663e3e
|
|
| BLAKE2b-256 |
ab08f938483dfdf18fa29d4dc05450c72f75765f359a102de0b22ea42e714f73
|
File details
Details for the file traj_dist_rs-1.0.0b4-cp312-cp312-macosx_11_0_x86_64.whl.
File metadata
- Download URL: traj_dist_rs-1.0.0b4-cp312-cp312-macosx_11_0_x86_64.whl
- Upload date:
- Size: 455.1 kB
- Tags: CPython 3.12, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b495b9677f9fdc2fcadc1e6048c06300c6054926ee0f2af63b698eaffda681b1
|
|
| MD5 |
93b6e65fe4ed0f835ab6f8c80a0dd9ac
|
|
| BLAKE2b-256 |
406f260c82665ccc33b774f1308711ff62988759819e3be00fef52bfbe8cce03
|
File details
Details for the file traj_dist_rs-1.0.0b4-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: traj_dist_rs-1.0.0b4-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 442.2 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb21fad9186fe7b8700deefd629a4da5bfac5d2c87981c3bb56ebb9425fe6f82
|
|
| MD5 |
2a9df59cde34ac649cdcfbb5fc4a829e
|
|
| BLAKE2b-256 |
d9295f24adc2d4306b62b1de95adf68470b513fbfa2185182ef4bd1c1114d597
|
File details
Details for the file traj_dist_rs-1.0.0b4-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: traj_dist_rs-1.0.0b4-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 325.7 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb73aacbd8d6eb9b34a82cfa53ac1c0f9e445105d2a32623a6d697d2977c915e
|
|
| MD5 |
29f5475c862819195e89687f72f4982e
|
|
| BLAKE2b-256 |
eb099441b11d45568d1b8735caeb2ab78fa3cbf90d8e626a64c3b55c4b045440
|
File details
Details for the file traj_dist_rs-1.0.0b4-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: traj_dist_rs-1.0.0b4-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 505.1 kB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
99cc1bd266e38156ae3d8d153dd11af1aa2136a9bf95070a9bffb8a4d7cbb782
|
|
| MD5 |
41436793f3e74c0aa0591cc9817ced77
|
|
| BLAKE2b-256 |
b6638a55814901363f014af007d502ace0bd0e0dee4c70b01dc8feedb435f584
|
File details
Details for the file traj_dist_rs-1.0.0b4-cp311-cp311-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: traj_dist_rs-1.0.0b4-cp311-cp311-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 489.8 kB
- Tags: CPython 3.11, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51009b1bdd89f5323d993aa7b60a0580214a898bab0ff7a557a874f97e06998b
|
|
| MD5 |
f39e76980e148e2ce25ef800cbb336cc
|
|
| BLAKE2b-256 |
f5772b7177b94693aefca254f0334fda76b47f6e47681a4f730f11964052525c
|
File details
Details for the file traj_dist_rs-1.0.0b4-cp311-cp311-macosx_11_0_x86_64.whl.
File metadata
- Download URL: traj_dist_rs-1.0.0b4-cp311-cp311-macosx_11_0_x86_64.whl
- Upload date:
- Size: 455.9 kB
- Tags: CPython 3.11, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0e1865a697fb9440322685e5cb4066d95b80c5822df1ab2a8b0bb7fc57c7292
|
|
| MD5 |
5e0108a0422d5b58ca87c4b03f7ea195
|
|
| BLAKE2b-256 |
643014f47e9d332b86b18286cc2b201f30fe9467cc29889f1d5860df5192fc0d
|
File details
Details for the file traj_dist_rs-1.0.0b4-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: traj_dist_rs-1.0.0b4-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 440.2 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9dd260246a765cc3cc90e4d170f11521bf35b5c4ffd89e5ff7872f2a7729225a
|
|
| MD5 |
a8c16ec335e160fbc6428b5b9bcb200c
|
|
| BLAKE2b-256 |
106689ab98749ac364c8d546f45d30eff3049bd41db96d2d53603fd598dc0e55
|
File details
Details for the file traj_dist_rs-1.0.0b4-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: traj_dist_rs-1.0.0b4-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 323.9 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
439ca860218b1b31d830a0ad0dc0fbf8396f6b89271fc54b86ef0601679ae6ab
|
|
| MD5 |
8e4c7955ee79346b8a6a52eaa5667a2e
|
|
| BLAKE2b-256 |
62de5a899ad41ea9b545aed3597d4c8536a3e481c594808cb5fe7721ae5c9145
|
File details
Details for the file traj_dist_rs-1.0.0b4-cp310-cp310-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: traj_dist_rs-1.0.0b4-cp310-cp310-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 504.1 kB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75e5b073db081cf46447c7a279a647945bf26ada23a742547d9411cd0bbf65cb
|
|
| MD5 |
973335f49cabed330ca82bd16b201414
|
|
| BLAKE2b-256 |
5d67287259a5dfe632b69f025f22aa64dec93e78973652eecfdeb15b3599fbde
|
File details
Details for the file traj_dist_rs-1.0.0b4-cp310-cp310-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: traj_dist_rs-1.0.0b4-cp310-cp310-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 490.3 kB
- Tags: CPython 3.10, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0e0734b8bf3f2b6389340b6d39ef1c09274bde9dac371a858e65c736a734639
|
|
| MD5 |
cdabfb249dc26cfe984b5e937e52cc80
|
|
| BLAKE2b-256 |
13eda10bd814b477e419e183558ae08e819c345da3bdcd2281625736d6c03d7a
|
File details
Details for the file traj_dist_rs-1.0.0b4-cp310-cp310-macosx_11_0_x86_64.whl.
File metadata
- Download URL: traj_dist_rs-1.0.0b4-cp310-cp310-macosx_11_0_x86_64.whl
- Upload date:
- Size: 457.8 kB
- Tags: CPython 3.10, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3f99bd7b034192bb924bc726b34ea6e66421e76ede7db8833aa40db75f63c7a3
|
|
| MD5 |
7afe5cc5f3f6e55e4c38d433efdb8897
|
|
| BLAKE2b-256 |
00525d0d5d960910d1c3cb41b87b02853f624d3b3c8b76230607960dce281804
|
File details
Details for the file traj_dist_rs-1.0.0b4-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: traj_dist_rs-1.0.0b4-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 442.3 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de4d44f5d5611e1ff727541b754fef0f889b62efffad1c21370f687ec14c46e4
|
|
| MD5 |
be0b25c4a7cef6516cb06f38f0eb6fcb
|
|
| BLAKE2b-256 |
ffac8cec2c119ae32ca85b89af88b04f7d486c27ef5afe8f4419eb9a3d940cfa
|