Skip to main content

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.

License: MIT Python Version Rust Version

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: ~220x faster than traj-dist's Python implementation and ~6.5x faster than Cython implementation on average
  • Batch Computation: Native pdist and cdist functions with parallel support up to 130x faster than traj-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 < 1.5e-8 error margin

Performance Overview

traj-dist-rs benchmark speedup

Median benchmark summary:

  • ~230x faster than traj-dist (Python) on average
  • ~6.3x faster than traj-dist (Cython) on average
  • Parallel batch pdist / cdist reaches up to ~62.3x speedup on large inputs

See performance.md for the full benchmark report and additional plots.

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 DpResult objects (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 ~220x faster
Rust vs Cython ~6.5x faster

By Distance Type

Euclidean Distance:

  • Rust vs Python: ~329x faster (range: 169x - 517x)
  • Rust vs Cython: ~8.9x faster (range: 6.3x - 12.9x)

Spherical Distance:

  • Rust vs Python: ~93x faster (range: 47x - 195x)
  • Rust vs Cython: ~3.6x faster (range: 2.3x - 6.8x)

Batch Computation Performance

pdist (DTW, 5 trajectories, varying lengths):

Trajectory Length Rust Seq vs traj-dist Rust Par vs traj-dist
10 points 9.15x 0.21x (parallel overhead)
100 points 11.58x 9.73x
1000 points 12.47x 71.24x

cdist (DTW, 5×5, varying lengths):

Trajectory Length Rust Seq vs traj-dist Rust Par vs traj-dist
10 points 10.77x 0.55x (parallel overhead)
100 points 14.45x 34.81x
1000 points 12.27x 50.36x

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

Testing

Run comprehensive integration tests:

bash scripts/pre_build.sh

Contributing

We welcome contributions! Please see our contributing guidelines:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Run tests and ensure they pass via bash scripts/pre_build.sh
  5. Commit your changes (git commit -m 'Add amazing feature')
  6. Push to the branch (git push origin feature/amazing-feature)
  7. 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


Download files

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

Source Distribution

traj_dist_rs-1.0.0rc3.tar.gz (2.9 MB view details)

Uploaded Source

Built Distributions

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

traj_dist_rs-1.0.0rc3-cp313-cp313-win_amd64.whl (326.9 kB view details)

Uploaded CPython 3.13Windows x86-64

traj_dist_rs-1.0.0rc3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (510.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

traj_dist_rs-1.0.0rc3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (489.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

traj_dist_rs-1.0.0rc3-cp313-cp313-macosx_11_0_x86_64.whl (452.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ x86-64

traj_dist_rs-1.0.0rc3-cp313-cp313-macosx_11_0_arm64.whl (439.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

traj_dist_rs-1.0.0rc3-cp312-cp312-win_amd64.whl (327.3 kB view details)

Uploaded CPython 3.12Windows x86-64

traj_dist_rs-1.0.0rc3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (510.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

traj_dist_rs-1.0.0rc3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (489.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

traj_dist_rs-1.0.0rc3-cp312-cp312-macosx_11_0_x86_64.whl (452.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ x86-64

traj_dist_rs-1.0.0rc3-cp312-cp312-macosx_11_0_arm64.whl (439.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

traj_dist_rs-1.0.0rc3-cp311-cp311-win_amd64.whl (326.2 kB view details)

Uploaded CPython 3.11Windows x86-64

traj_dist_rs-1.0.0rc3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (508.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

traj_dist_rs-1.0.0rc3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (488.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

traj_dist_rs-1.0.0rc3-cp311-cp311-macosx_11_0_x86_64.whl (459.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ x86-64

traj_dist_rs-1.0.0rc3-cp311-cp311-macosx_11_0_arm64.whl (444.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

traj_dist_rs-1.0.0rc3-cp310-cp310-win_amd64.whl (326.0 kB view details)

Uploaded CPython 3.10Windows x86-64

traj_dist_rs-1.0.0rc3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (507.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

traj_dist_rs-1.0.0rc3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (489.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

traj_dist_rs-1.0.0rc3-cp310-cp310-macosx_11_0_x86_64.whl (458.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ x86-64

traj_dist_rs-1.0.0rc3-cp310-cp310-macosx_11_0_arm64.whl (443.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file traj_dist_rs-1.0.0rc3.tar.gz.

File metadata

  • Download URL: traj_dist_rs-1.0.0rc3.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

Hashes for traj_dist_rs-1.0.0rc3.tar.gz
Algorithm Hash digest
SHA256 bd9ee6178287c2ce30380ddd1c8e220d000f6eccdfc13299ba7b9c7563ab47f1
MD5 96689171bc811c624581d77b19ec8ba9
BLAKE2b-256 7788b768e5210af496ecde410229e4fc2c143000e7877ef7b05eea743578fd8a

See more details on using hashes here.

File details

Details for the file traj_dist_rs-1.0.0rc3-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for traj_dist_rs-1.0.0rc3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 60c7138f8ed2bcc97285a76372e5399c6ad25d34e45741166ebfab1eeb85a435
MD5 356d73441b22e1e1f0bcab4781ed046e
BLAKE2b-256 02d9d106a68a074248c108c1845f9c8ac3f8c6e6efb8ec9485dd08d50cd95cd3

See more details on using hashes here.

File details

Details for the file traj_dist_rs-1.0.0rc3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for traj_dist_rs-1.0.0rc3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c3eb6b14b4dc802cd865aebf71133975db93e449f2ef82e257b8eb070640603b
MD5 5f1c16ea24108d508ebe23e5b7b0b541
BLAKE2b-256 4be4193dbc680731e0fed886ad91635fb2bd272aaea98982f6b5ffe8b91b7817

See more details on using hashes here.

File details

Details for the file traj_dist_rs-1.0.0rc3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for traj_dist_rs-1.0.0rc3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 295b0aabba016010ebe52e822513ecf8d39dab00a4adc8d88bba8d0a39a54c2a
MD5 5dcc4562b6ab419f424a0e49062a5d7b
BLAKE2b-256 75e64bbeabdcf4108fee84c8aab5bebf11a7d94940519553d3672b0af97a3b9b

See more details on using hashes here.

File details

Details for the file traj_dist_rs-1.0.0rc3-cp313-cp313-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for traj_dist_rs-1.0.0rc3-cp313-cp313-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 f0dbc66ecf9b68d7eaaf3fdb37aaea01082fc8e86c9e1aba6662786febdc6393
MD5 0a88639ee298762ca370965af49bacdc
BLAKE2b-256 81b554657ae64187eef62cc1f22d014d6e8017dc3b67f20bd20a06c586280391

See more details on using hashes here.

File details

Details for the file traj_dist_rs-1.0.0rc3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for traj_dist_rs-1.0.0rc3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 25a4a1c2dc3d97061264348027a7b1809580c5eae36cad11a2c7ed3055a11e4f
MD5 b05693bafb4ad6a141f66910a59ed29e
BLAKE2b-256 edc3372c671f1fb788fd63cbfaf29839891808b270b81148d931467b5daafec1

See more details on using hashes here.

File details

Details for the file traj_dist_rs-1.0.0rc3-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for traj_dist_rs-1.0.0rc3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 595a8b17ad08bae057dddb1ad97caa7ef2004b7cce549d1406f7257245568d52
MD5 e4483d9529a1f1e33cf2de0adea3fa87
BLAKE2b-256 fbb01dae3b2402a89fb1b9e6b5ff9f744ca203c7cd1b8de3d57ea662f86d77f5

See more details on using hashes here.

File details

Details for the file traj_dist_rs-1.0.0rc3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for traj_dist_rs-1.0.0rc3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 fa5e9d6db2a605842c058970f5baee4db4ae18af643a664c07dfd4dcf3dadfe9
MD5 9afa3c63ad87b94c6ef0a056509e078e
BLAKE2b-256 4c021dc1641c58ade55229828fec45c6b45554a17b1e853fcc9f108e9f930a28

See more details on using hashes here.

File details

Details for the file traj_dist_rs-1.0.0rc3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for traj_dist_rs-1.0.0rc3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 28004ee41c751abc58b6e5f57932245e8f71ec8e3c8432a24d42fd54c57b2175
MD5 24641cb3f00e4fcc715cb776d38e9920
BLAKE2b-256 fec2e5ec7f5accd4379de048974af2bf1bfe177853ecd5ee0cc17442b99572de

See more details on using hashes here.

File details

Details for the file traj_dist_rs-1.0.0rc3-cp312-cp312-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for traj_dist_rs-1.0.0rc3-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 54177a370b28a502186c2f67f5cb12929975cda36ece7b38b678cb566749d4c4
MD5 7c23751ea7994164e0e7a2efe908f211
BLAKE2b-256 4b6f315e8ac85899bbfe37a190abb600bd5577d91c5816737664865c1b9206e2

See more details on using hashes here.

File details

Details for the file traj_dist_rs-1.0.0rc3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for traj_dist_rs-1.0.0rc3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 152c17d5b9c597f8810cd7941891306b1222f21c8abcfe23333bde81d36fc88b
MD5 e01830d23f4c3bf24949d7a7fe5d7a59
BLAKE2b-256 1ddce5e461132ddcb50177f2e2ba52835b36a40f1efe9730a39093fbc5f1e3a6

See more details on using hashes here.

File details

Details for the file traj_dist_rs-1.0.0rc3-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for traj_dist_rs-1.0.0rc3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5836a4795a50b516d555c4abc4c8c82d89798b47b5bb6ec08124ca51ea417ad5
MD5 dd639b53ba6a87a49cf7e1579fbbc0d3
BLAKE2b-256 f038db07e0c31c3e0b182fff30e2d44a1fd810243f59c58092ad53f2a78dddd9

See more details on using hashes here.

File details

Details for the file traj_dist_rs-1.0.0rc3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for traj_dist_rs-1.0.0rc3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 a260a5124c0ead9bd884df6842818a4a9e0d35d695d524006f282d03b27428f4
MD5 93bcdb6e519a556113c9200338075f3b
BLAKE2b-256 d7aca833fac28de93def85954301891811f97df9ec9dd6449a8c99c89753c408

See more details on using hashes here.

File details

Details for the file traj_dist_rs-1.0.0rc3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for traj_dist_rs-1.0.0rc3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 a617cfd5b102a6e478b1190274ed202b82338571f0ef23e423ce2ea38305a7e8
MD5 8bc569e498ec32b35abf69b422aae75f
BLAKE2b-256 939ceb54300c6bc868d48cdaab8a30aa5319f1c9351f567ac2662c831f655862

See more details on using hashes here.

File details

Details for the file traj_dist_rs-1.0.0rc3-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for traj_dist_rs-1.0.0rc3-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 d9ca3b95200c10c5a6d1f41a39bd6eb4680a280f691ccd118ee6bd67c6559e7b
MD5 ed92769692c555175edd7aeaad205974
BLAKE2b-256 b3469366effacd66d10ad38e2002c453dbf60c2fe18464173dc0af3f0ae4f8ac

See more details on using hashes here.

File details

Details for the file traj_dist_rs-1.0.0rc3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for traj_dist_rs-1.0.0rc3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7b7e88222b2eb37e033496c92d54d3183e4f6332c033f8c26883fa7470280c9a
MD5 dab1d4efd5a004a4ada974b5314e716a
BLAKE2b-256 bd875b1cd169f67d307f6c3a3eef13e5b8ad61883093fba708e2d19326eb452d

See more details on using hashes here.

File details

Details for the file traj_dist_rs-1.0.0rc3-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for traj_dist_rs-1.0.0rc3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 82482d5bf6ecf9141a8d96664d2303f75c12397e9483a3b94b9b1acd785f40aa
MD5 acce34909108143cb0dff9c0dd3b71d3
BLAKE2b-256 5efc9b0ab75de3578b22bc9f6659b3d158a78c9568f5d8f596ff9a445c215a55

See more details on using hashes here.

File details

Details for the file traj_dist_rs-1.0.0rc3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for traj_dist_rs-1.0.0rc3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 6b34091c3e8578aaf4f9c6722f61b01932eb07d54e5cc1253914bca0488a7bce
MD5 1f4528dc49a362ffb2254df3cafde6b9
BLAKE2b-256 34bd8af6511525d6d7659b13c1e860a6d965b943ecfdf60abb8f386fc17d371c

See more details on using hashes here.

File details

Details for the file traj_dist_rs-1.0.0rc3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for traj_dist_rs-1.0.0rc3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 838206ec2ccc18df2248d214b532da8472e5a59a6cfe2af09ba79bee8558cc12
MD5 1f9d4ea3221773e6a4a974fd1984d345
BLAKE2b-256 173f37b816249f9bb06dd997303b6315ee95991fef1d86c016362e18fec148b9

See more details on using hashes here.

File details

Details for the file traj_dist_rs-1.0.0rc3-cp310-cp310-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for traj_dist_rs-1.0.0rc3-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 6290474112d5fbb3a51abaf120c96f21dba6f29212308d64f2ea47e7ecf2a7fb
MD5 1d7a0f495212356f9c7e8f866d29392d
BLAKE2b-256 22ba2fddc2bbaf5769430aec7b40f9b5e5bd4227893e7740881222cef33406c7

See more details on using hashes here.

File details

Details for the file traj_dist_rs-1.0.0rc3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for traj_dist_rs-1.0.0rc3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 52884c05a3705cc2b46984e1308e424172162426527a161105ac763a5e1bd8b7
MD5 97dd2a69bc8934dcca5d859b1af4e3b6
BLAKE2b-256 9f7205a7c1ce4fd77ffb8b7dbee29e274b950abf7c0052827288a99215860e76

See more details on using hashes here.

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