Skip to main content

Implementation of Dijkstra's Shortest Path algorithm on 3D images.

Project description

PyPI version

dijkstra3d

Dijkstra's Shortest Path variants for 6, 18, and 26-connected 3D Image Volumes or 4 and 8-connected 2D images.

import dijkstra3d
import numpy as np

field = np.ones((512, 512, 512), dtype=np.int32)
source = (0,0,0)
target = (511, 511, 511)


# If you're working with a binary image with one color considered
# foreground the other background, use this function.
path = dijkstra3d.binary_dijkstra(field, source, target, background_color=0)
path = dijkstra3d.binary_dijkstra(
  field, source, target, 
  anisotropy=(2.0, 2.0, 1.0),
)

# path is an [N,3] numpy array i.e. a list of x,y,z coordinates
# terminates early, default is 26 connected
path = dijkstra3d.dijkstra(field, source, target, connectivity=26) 
path = dijkstra3d.dijkstra(field, source, target, bidirectional=True) # 2x memory usage, faster

# Use distance from target as a heuristic (A* search)
# Does nothing if bidirectional=True (it's just not implemented)
path = dijkstra3d.dijkstra(field, source, target, compass=True) 

# parental_field is a performance optimization on dijkstra for when you
# want to return many target paths from a single source instead of
# a single path to a single target. `parents` is a field of parent voxels
# which can then be rapidly traversed to yield a path from the source. 
# The initial run is slower as we cannot stop early when a target is found
# but computing many paths is much faster. The unsigned parental field is 
# increased by 1 so we can represent background as zero. So a value means
# voxel+1. Use path_from_parents to compute a path from the source to a target.
parents = dijkstra3d.parental_field(field, source=(0,0,0), connectivity=6) # default is 26 connected
path = dijkstra3d.path_from_parents(parents, target=(511, 511, 511))
print(path.shape)

# Given a boolean label "field" and a source vertex, compute 
# the anisotropic euclidean chamfer distance from the source to all labeled vertices.
# Source can be a single point or a list of points. Accepts bool, (u)int8 dtypes.
dist_field = dijkstra3d.euclidean_distance_field(field, source=(0,0,0), anisotropy=(4,4,40))

sources = [ (0,0,0), (10, 40, 232) ]
dist_field = dijkstra3d.euclidean_distance_field(
  field, source=sources, anisotropy=(4,4,40)
)
# You can return a map of source vertices to nearest voxels called
# a feature map.
dist_field, feature_map = dijkstra3d.euclidean_distance_field(
  field, source=sources, return_feature_map=True,
) 

# To make the EDF go faster add the free_space_radius parameter. It's only
# safe to use if you know that some distance around the source point
# is unobstructed space. For that region, we use an equation instead
# of dijkstra's algorithm. Hybrid algorithm! free_space_radius is a physical
# distance, meaning you must account for anisotropy in setting it.
dist_field = dijkstra3d.euclidean_distance_field(field, source=(0,0,0), anisotropy=(4,4,40), free_space_radius=300) 

# You can also get one of the possibly multiple maxima locations instantly.
dist_field, max_loc = dijkstra3d.euclidean_distance_field(field, source=(0,0,0), return_max_location=True) 

# Given a numerical field, for each directed edge from adjacent voxels A and B, 
# use B as the edge weight. In this fashion, compute the distance from a source 
# point for all finite voxels. 
dist_field = dijkstra3d.distance_field(field, source=(0,0,0)) # single source
dist_field = dijkstra3d.distance_field(field, source=[ (0,0,0), (52, 55, 23) ]) # multi-source
dist_field, max_loc = dijkstra3d.distance_field(field, source=(0,0,0), return_max_location=True) # get the location of one of the maxima

# You can also provide a voxel connectivity graph to provide customized
# constraints on the permissible directions of travel. The graph is a
# uint32 image of equal size that contains a bitfield in each voxel 
# where each of the first 26-bits describes whether a direction is 
# passable. The description of this field can be seen here: 
# https://github.com/seung-lab/connected-components-3d/blob/3.2.0/cc3d_graphs.hpp#L73-L92
#
# The motivation for this feature is handling self-touching labels, but there
# are many possible ways of using this.
graph = np.zeros(field.shape, dtype=np.uint32)
graph += 0xffffffff # all directions are permissible
graph[5,5,5] = graph[5,5,5] & 0xfffffffe # sets +x direction as impassable at this voxel
path = dijkstra.dijkstra(..., voxel_graph=graph)

Perform dijkstra's shortest path algorithm on a 3D image grid. Vertices are voxels and edges are the nearest neighbors. For 6 connected images, these are the faces of the voxel (L1: manhattan distance), 18 is faces and edges, 26 is faces, edges, and corners (L: chebyshev distance). For given input voxels A and B, the edge weight from A to B is B and from B to A is A. All weights must be finite and non-negative (incl. negative zero).

What Problem does this Package Solve?

This package was developed in the course of exploring TEASAR skeletonization of 3D image volumes (now available in Kimimaro). Other commonly available packages implementing Dijkstra used matricies or object graphs as their underlying implementation. In either case, these generic graph packages necessitate explicitly creating the graph's edges and vertices, which turned out to be a significant computational cost compared with the search time. Additionally, some implementations required memory quadratic in the number of vertices (e.g. an NxN matrix for N nodes) which becomes prohibitive for large arrays. In some cases, a compressed sparse matrix representation was used to remain within memory limits.

Neither graph construction nor quadratic memory pressure are necessary for an image analysis application. The edges between voxels (3D pixels) are regular and implicit in the rectangular structure of the image. Additionally, the cost of each edge can be stored a single time instead of 26 times in contiguous uncompressed memory regions for faster performance.

Previous rationals aside, the most recent version of dijkstra3d also includes an optional method for specifying the voxel connectivity graph for each voxel via a bitfield. We found that in order to solve a problem of label self-contacts, we needed to specify impermissible directions of travel for some voxels. This is still a rather compact and fast way to process the graph, so it doesn't really invalidate our previous contention.

C++ Use

#include <vector>
#include "dijkstra3d.hpp"

// 3d array represented as 1d array
float* labels = new float[512*512*512](); 

// x + sx * y + sx * sy * z
int source = 0 + 512 * 5 + 512 * 512 * 3; // coordinate <0, 5, 3>
int target = 128 + 512 * 128 + 512 * 512 * 128; // coordinate <128, 128, 128>

vector<unsigned int> path = dijkstra::dijkstra3d<float>(
  labels, /*sx=*/512, /*sy=*/512, /*sz=*/512,
  source, target, /*connectivity=*/26 // 26 is default
);

vector<unsigned int> path = dijkstra::bidirectional_dijkstra3d<float>(
  labels, /*sx=*/512, /*sy=*/512, /*sz=*/512,
  source, target, /*connectivity=*/26 // 26 is default
);

// A* search using a distance to target heuristic
vector<unsigned int> path = dijkstra::compass_guided_dijkstra3d<float>(
  labels, /*sx=*/512, /*sy=*/512, /*sz=*/512,
  source, target, /*connectivity=*/26 // 26 is default
);

uint32_t* parents = dijkstra::parental_field3d<float>(
  labels, /*sx=*/512, /*sy=*/512, /*sz=*/512, 
  source, /*connectivity=*/26 // 26 is default
);
vector<unsigned int> path = dijkstra::query_shortest_path(parents, target);


// Really a chamfer distance.
// source can be a size_t (single source) or a std::vector<size_t> (multi-source)
float* field = dijkstra::euclidean_distance_field3d<float>(
  labels, 
  /*sx=*/512, /*sy=*/512, /*sz=*/512, 
  /*wx=*/4, /*wy=*/4, /*wz=*/40, 
  source, /*free_space_radius=*/0 // set to > 0 to switch on
);

// source can be a size_t (single source) or a std::vector<size_t> (multi-source)
float* field = dijkstra::distance_field3d<float>(labels, /*sx=*/512, /*sy=*/512, /*sz=*/512, source);

Python pip Binary Installation

pip install dijkstra3d

Python pip Source Installation

Requires a C++ compiler.

pip install numpy
pip install dijkstra3d

Python Direct Installation

Requires a C++ compiler.

git clone https://github.com/seung-lab/dijkstra3d.git
cd dijkstra3d
virtualenv -p python3 venv
source venv/bin/activate
pip install -r requirements.txt
python setup.py develop

Performance

I ran three algorithms on a field of ones from the bottom left corner to the top right corner of a 512x512x512 int8 image using a 3.7 GHz Intel i7-4920K CPU. Unidirectional search takes about 42 seconds (3.2 MVx/sec) with a maximum memory usage of about 1300 MB. In the unidirectional case, this test forces the algorithm to process nearly all of the volume (dijkstra aborts early when the target is found). In the bidirectional case, the volume is processed in about 11.8 seconds (11.3 MVx/sec) with a peak memory usage of about 2300 MB. The A* version processes the volume in 0.5 seconds (268.4 MVx/sec) with an identical memory profile to unidirectional search. A* works very well in this simple case, but may not be superior in all configurations.

Theoretical unidirectional memory allocation breakdown: 128 MB source image, 512 MB distance field, 512 MB parents field (1152 MB). Theoretical bidirectional memory allocation breakdown: 128 MB source image, 2x 512 distance field, 2x 512 MB parental field (2176 MB).

Fig. 1: A benchmark of dijkstra.dijkstra run on a 512<sup>3</sup> voxel field of ones from bottom left source to top right target. (black) unidirectional search (blue) bidirectional search (red) A* search aka compass=True.
Fig. 1: A benchmark of dijkstra.dijkstra run on a 5123 voxel field of ones from bottom left source to top right target. (black) unidirectional search (blue) bidirectional search (red) A* search aka compass=True.

import numpy as np
import time
import dijkstra3d

field = np.ones((512,512,512), order='F', dtype=np.int8)
source = (0,0,0)
target = (511,511,511)

path = dijkstra3d.dijkstra(field, source, target) # black line
path = dijkstra3d.dijkstra(field, source, target, bidirectional=True) # blue line
path = dijkstra3d.dijkstra(field, source, target, compass=True) # red line

Fig. 2: A benchmark of dijkstra.dijkstra run on a 50<sup>3</sup> voxel field of random integers of increasing variation from random source to random target. (blue/squares) unidirectional search (yellow/triangles) bidirectional search (red/diamonds) A* search aka .compass=True.
Fig. 2: A benchmark of dijkstra.dijkstra run on a 503 voxel field of random integers of increasing variation from random source to random target. (blue/squares) unidirectional search (yellow/triangles) bidirectional search (red/diamonds) A* search aka compass=True.

import numpy as np
import time
import dijkstra3d

N = 250
sx, sy, sz = 50, 50, 50

def trial(bi, compass):
  for n in range(0, 100, 1):
    accum = 0
    for i in range(N):
      if n > 0:
        values = np.random.randint(1,n+1, size=(sx,sy,sz))
      else:
        values = np.ones((sx,sy,sz))
      values = np.asfortranarray(values)
      start = np.random.randint(0,min(sx,sy,sz), size=(3,))
      target = np.random.randint(0,min(sx,sy,sz), size=(3,))  

      s = time.time()
      path_orig = dijkstra3d.dijkstra(values, start, target, bidirectional=bi, compass=compass)
      accum += (time.time() - s)

    MVx_per_sec = N * sx * sy * sz / accum / 1000000
    print(n, ',', '%.3f' % MVx_per_sec)

print("Unidirectional")
trial(False, False)
print("Bidirectional")
trial(True, False)
print("Compass")
trial(False, True)

Voxel Connectivity Graph

You may optionally provide a unsigned 32-bit integer image that specifies the allowed directions of travel per voxel as a directed graph. Each voxel in the graph contains a bitfield of which only the lower 26 bits are used to specify allowed directions. The top 6 bits have no assigned meaning. It is possible to use smaller width bitfields for 2D images (uint8) or for undirected graphs (uint16), but they are not currently supported. Please open an Issue or Pull Request if you need this functionality.

The specification below shows the meaning assigned to each bit. Bit 32 is the MSB, bit 1 is the LSB. Ones are allowed directions and zeros are disallowed directions.

    32     31     30     29     28     27     26     25     24     23     
------ ------ ------ ------ ------ ------ ------ ------ ------ ------
unused unused unused unused unused unused -x-y-z  x-y-z -x+y-z +x+y-z

    22     21     20     19     18     17     16     15     14     13
------ ------ ------ ------ ------ ------ ------ ------ ------ ------
-x-y+z +x-y+z -x+y+z    xyz   -y-z    y-z   -x-z    x-z    -yz     yz

    12     11     10      9      8      7      6      5      4      3
------ ------ ------ ------ ------ ------ ------ ------ ------ ------
   -xz     xz   -x-y    x-y    -xy     xy     -z     +z     -y     +y  
     2      1
------ ------
    -x     +x

There is an assistive tool available for producing these graphs from adjacent labels in the cc3d library.

References

  1. E. W. Dijkstra. "A Note on Two Problems in Connexion with Graphs" Numerische Mathematik 1. pp. 269-271. (1959)
  2. E. W. Dijkstra. "Go To Statement Considered Harmful". Communications of the ACM. Vol. 11, No. 3, pp. 147-148. (1968)
  3. Pohl, Ira. "Bi-directional Search", in Meltzer, Bernard; Michie, Donald (eds.), Machine Intelligence, 6, Edinburgh University Press, pp. 127-140. (1971)

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

dijkstra3d-1.15.1.tar.gz (356.7 kB view details)

Uploaded Source

Built Distributions

dijkstra3d-1.15.1-cp312-cp312-win_amd64.whl (256.6 kB view details)

Uploaded CPython 3.12 Windows x86-64

dijkstra3d-1.15.1-cp312-cp312-win32.whl (264.9 kB view details)

Uploaded CPython 3.12 Windows x86

dijkstra3d-1.15.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

dijkstra3d-1.15.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (3.0 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

dijkstra3d-1.15.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.2 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

dijkstra3d-1.15.1-cp312-cp312-macosx_11_0_arm64.whl (333.9 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

dijkstra3d-1.15.1-cp312-cp312-macosx_10_9_x86_64.whl (376.3 kB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

dijkstra3d-1.15.1-cp311-cp311-win_amd64.whl (267.9 kB view details)

Uploaded CPython 3.11 Windows x86-64

dijkstra3d-1.15.1-cp311-cp311-win32.whl (271.6 kB view details)

Uploaded CPython 3.11 Windows x86

dijkstra3d-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

dijkstra3d-1.15.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (3.1 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

dijkstra3d-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

dijkstra3d-1.15.1-cp311-cp311-macosx_11_0_arm64.whl (333.3 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

dijkstra3d-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl (380.8 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

dijkstra3d-1.15.1-cp310-cp310-win_amd64.whl (268.0 kB view details)

Uploaded CPython 3.10 Windows x86-64

dijkstra3d-1.15.1-cp310-cp310-win32.whl (272.2 kB view details)

Uploaded CPython 3.10 Windows x86

dijkstra3d-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

dijkstra3d-1.15.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (3.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

dijkstra3d-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

dijkstra3d-1.15.1-cp310-cp310-macosx_11_0_arm64.whl (333.0 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

dijkstra3d-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl (380.1 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

dijkstra3d-1.15.1-cp39-cp39-win_amd64.whl (268.1 kB view details)

Uploaded CPython 3.9 Windows x86-64

dijkstra3d-1.15.1-cp39-cp39-win32.whl (272.3 kB view details)

Uploaded CPython 3.9 Windows x86

dijkstra3d-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

dijkstra3d-1.15.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (3.0 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

dijkstra3d-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

dijkstra3d-1.15.1-cp39-cp39-macosx_11_0_arm64.whl (333.4 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

dijkstra3d-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl (380.7 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

dijkstra3d-1.15.1-cp38-cp38-win_amd64.whl (269.4 kB view details)

Uploaded CPython 3.8 Windows x86-64

dijkstra3d-1.15.1-cp38-cp38-win32.whl (274.2 kB view details)

Uploaded CPython 3.8 Windows x86

dijkstra3d-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

dijkstra3d-1.15.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (3.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

dijkstra3d-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

dijkstra3d-1.15.1-cp38-cp38-macosx_11_0_arm64.whl (330.9 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

dijkstra3d-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl (376.8 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

File details

Details for the file dijkstra3d-1.15.1.tar.gz.

File metadata

  • Download URL: dijkstra3d-1.15.1.tar.gz
  • Upload date:
  • Size: 356.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for dijkstra3d-1.15.1.tar.gz
Algorithm Hash digest
SHA256 8848dafb68a6d454c4c5d094bfab06df787bee14d88a0a39843f55e4f03db4ba
MD5 7a1ea3452f849d4f0bd4d979dde9a203
BLAKE2b-256 cd60478ea4745f026f27ef8da1262e4b984a23ba1aabab8db8b710cc055c0365

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: dijkstra3d-1.15.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 256.6 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for dijkstra3d-1.15.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1b53152e8dd1f4105a4b3616858808ef6deff599cbb9403471d5fc4e71e02e61
MD5 1d070d22147c197cb15eca0778e1711b
BLAKE2b-256 e74d0407abd1334e5f4f3f4e5b942ae39814e48ceead1523f572251ca115ed5e

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp312-cp312-win32.whl.

File metadata

  • Download URL: dijkstra3d-1.15.1-cp312-cp312-win32.whl
  • Upload date:
  • Size: 264.9 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for dijkstra3d-1.15.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 50584302e93633118e28946da75a63eb5744a7b095f94d7dbd7923106f51bfbe
MD5 9e247707557371626cba374b90f3e7fd
BLAKE2b-256 e9638bce2cd124a5ba88bc948bf42cf447fad558821e37bcb872c4f81c9e272f

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dijkstra3d-1.15.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c792ee17f28a2c5fd1f59dbc7bb450e8c38044e197ffea4cd33b9ae75d18e304
MD5 b4faac3c8a7339b86f3c14f04584d96f
BLAKE2b-256 960c53bf9185d7ab1cac6c0188b6123e24efab2b9e4cbdc1513223f3f1222a2e

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for dijkstra3d-1.15.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 502f9a85a2ebc0fecb2aa50cf562feb71eee055893b23befa06630eaaf4a6027
MD5 228bd491d90599330670f7b14a58100d
BLAKE2b-256 f180f3c9e8aec59343a54085e04322926ec3b8540531dd70d51ca5d6f10bdd80

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dijkstra3d-1.15.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 98509a6a9eef7e6c741065768681423e5ab9c93f8568acd1bd154b3daaf4c222
MD5 24fea0e3de71a43269593aca08ef5d81
BLAKE2b-256 ed6fa881c5c06b4108b1c97d8bfc77b93771ed6c8393e3717f993ea8da5163a3

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

  • Download URL: dijkstra3d-1.15.1-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 333.9 kB
  • Tags: CPython 3.12, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for dijkstra3d-1.15.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 81fd9633a365d74831e6fc08905191d4479062b23cd91be1a179360e95d68bc4
MD5 58ac3f3204f61ed159a314afc3aff6cd
BLAKE2b-256 7c264c91cee3bcec387ad95873e517e87c92ce686843afff9b5df623b5ed7a93

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: dijkstra3d-1.15.1-cp312-cp312-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 376.3 kB
  • Tags: CPython 3.12, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for dijkstra3d-1.15.1-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6e5c0cd03f7f8d6d9ec8a2272518e65b7a2e49021f472956fc1051af527f349b
MD5 fd5d464298cd95d51ff07e61db796718
BLAKE2b-256 72e3c4a0a12d0e828057383f513ef63612db8268dfa70cd09d73517ba2294a0a

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: dijkstra3d-1.15.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 267.9 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for dijkstra3d-1.15.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7c786a1da2a0b510491f21df287ab9cd28f353d9d60f45bdc30091d135d3d6ff
MD5 69f697f8179e68bbdc1a4f5cf885919f
BLAKE2b-256 5bf65468f6f401a4256d6dc65eb0d68c5696b70017457cf5154206d0c6c880c9

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp311-cp311-win32.whl.

File metadata

  • Download URL: dijkstra3d-1.15.1-cp311-cp311-win32.whl
  • Upload date:
  • Size: 271.6 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for dijkstra3d-1.15.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 68396e8ff98d9ebf6bfc211f43b0d999be08e301ed335b97d56b11823f6814a4
MD5 c1b140ad06dd8ca1ffb1866412b6a324
BLAKE2b-256 9549c2a3d7eecb21959072841be1cff230aeff71002ffe921b139106c02b54f2

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dijkstra3d-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 04d9d26cf1e92c043e4d80bd59aa4ad0b07ed54487acf1e49cef8dd46424baa9
MD5 5f15e3362118f6020213989555363342
BLAKE2b-256 971df9149801157370b73bc2bbcef03555a5eba9514823f9bc0dc85d452eb017

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for dijkstra3d-1.15.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9ecb17e05fe63be5fd63758508a30a35bfbce3e0249f74b1ce2a67df06695494
MD5 64fb1717a53d65f28f52719d499dadf8
BLAKE2b-256 de2cd9d7116adc61b33e24c8a454e80f5c96a854eb22b0c5cff649039edab8b9

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dijkstra3d-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5ae78436ade88fdae0a0a6b8149b29c8531a8b84c3334e227d80fe75ae0c3686
MD5 ded396a7012f7388b66beba005422a01
BLAKE2b-256 7d2fd40d21046d634e2a6aa79df2754aa5a803730720b512c08eb894b065f46e

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

  • Download URL: dijkstra3d-1.15.1-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 333.3 kB
  • Tags: CPython 3.11, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for dijkstra3d-1.15.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 be124456c332af35c7973e12edf147bd9942a7a34ee40f622ffa8eb9f51fbf53
MD5 74cc2c29fbd88a23c59a3a5fd3d983ca
BLAKE2b-256 0047f3d1d19a30fc0ce79e857266f16de4b9c031ed33a76eec25c449a23be492

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: dijkstra3d-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 380.8 kB
  • Tags: CPython 3.11, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for dijkstra3d-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a47939f7b41e306ed4662e8c2bf5ae15aa77f6bb4e9b441948332ebb795d890c
MD5 fe3364d91defd96cd1ad293e3c917344
BLAKE2b-256 2806e2595b14b0148bac5da953a7f5ae3ad5752ffa020ff1b727fb4740f3a055

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: dijkstra3d-1.15.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 268.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for dijkstra3d-1.15.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5c1d669e50cec2c6cb0a2337b5d0671114685f8cf513c6580a03b3eeec1b6a7a
MD5 62b3ac831ddd1ac49d99a7b1e2a03ab1
BLAKE2b-256 89e1db634c5c09aaaf1b090fa6ffcb93b661f05391565d4851cc9cb0ae230285

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp310-cp310-win32.whl.

File metadata

  • Download URL: dijkstra3d-1.15.1-cp310-cp310-win32.whl
  • Upload date:
  • Size: 272.2 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for dijkstra3d-1.15.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 b89f5f4f696f106543673f13bcb51ceca4fd41deff14e8f10303b601ad6fd2d8
MD5 537ed5e2b05a00f4faf3562f44539e8b
BLAKE2b-256 3086789dcae26829883f796d668ade30f798a69817a6ba10db38de0ca32d034f

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dijkstra3d-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7283117c704cdb06e365c434b5480bdc0269ef11a7c9f72ddccc72fa2a344a8d
MD5 c977ec58d9f3dadb32abf85ec5247f3f
BLAKE2b-256 2e00aaf9900adbdfa164307cb374e017ef41408e27025c0f46b6c1bc3b8a7f81

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for dijkstra3d-1.15.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 4d515b43abdd416108a6274730c037408c527649ae77d37236072290405e0db5
MD5 655f6bdff80384da102d7bda703a6208
BLAKE2b-256 6819db646f439b85a900fd0ac1bffdce32e7a34f2a7601ceba33432f042acb78

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dijkstra3d-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 478ec262047e867e5d821fac81a484f977bba91fe6933ff157bb6b5ba7f9669c
MD5 06eafeb3890012b77221a779abb149c1
BLAKE2b-256 ff82d24f7eda5e8301513f9266d6136458893b3dcc6722c6f9df38c7226327b8

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

  • Download URL: dijkstra3d-1.15.1-cp310-cp310-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 333.0 kB
  • Tags: CPython 3.10, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for dijkstra3d-1.15.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 de913ec3e579a021d955d08f494c66ba7348d8a7bd03d9140c03630ee15e5d81
MD5 bb6b94594a6997698f4c6deeed4433fa
BLAKE2b-256 687c03b34243ee3a0635ea0ee2226a3004f88649b64e4c3b2a881c34c225dacd

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: dijkstra3d-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 380.1 kB
  • Tags: CPython 3.10, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for dijkstra3d-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 225ebc48cfe966b277a71bde80d7e4648a75737e0ee6d3ea97c6de07e2bae776
MD5 e5165832c428da06564eb5b5e40ca26e
BLAKE2b-256 bcd98c86b651886ca374cce3d15078937ceaf50d9e491cc9aebf2f5a62b611da

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: dijkstra3d-1.15.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 268.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for dijkstra3d-1.15.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3f49d60132a2017a7964244e3ac6385bccfab0a2da511b36d983ba1207d8889d
MD5 4b635d3a95900a6210db391ed5d98129
BLAKE2b-256 c657a3a4a05398e2d0f4b9fc63c2c04c6d84dd32fc55f40c26aa4861417abb4f

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp39-cp39-win32.whl.

File metadata

  • Download URL: dijkstra3d-1.15.1-cp39-cp39-win32.whl
  • Upload date:
  • Size: 272.3 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for dijkstra3d-1.15.1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 5c5577aa10faf23e9ab1adc6e1e1dd0502178cb4c71f1a1916d83cf5e09484b8
MD5 bffb63952c9166fef909d7aa54375b7e
BLAKE2b-256 4980a7ed0c7befb2cfc73bc5e31bcdd91f64f0f2e42ae9532c013c8ac86880b2

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dijkstra3d-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 95a30e0b1547d20d19324411b59e21d56c8f90948f6f391a9461739905f12f24
MD5 7032d7215f8480f6ea220713e2c00de6
BLAKE2b-256 dbb836e46be5bbcf7d292efa0e12e7dc87270a218735279a5509cdd462753001

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for dijkstra3d-1.15.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 4c2302d23e339f1a2de4ed8d578d7d7024a7982f789b0cdf24de24e1e461dd58
MD5 2b0bd141c4dbe45171b217982f1c1aeb
BLAKE2b-256 d9444b116eed00801b7319a1a6ccd398e4e1fd2f5135e979c75b3f13b33123f3

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dijkstra3d-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1183800ea028efd01bdd08a44fd25371fbf625ba845753177d71957260371cde
MD5 a37473b10e2dc6bf9aabb68ca1e0c275
BLAKE2b-256 a5b8d07341d2fb1481e8d3fdf8ac6513ec93e805492ea6bcc8d85496a0d39c06

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: dijkstra3d-1.15.1-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 333.4 kB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for dijkstra3d-1.15.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d99adc980ed774cd256da5f3b8fb9826f63fb7234fb2f8d2fd26e33fa95db219
MD5 208115f0f146bf02555ef86093087c86
BLAKE2b-256 25c035ffb331090cb6eb42f8e7b0a85576897d86b325f8c5e9888957c55d3bae

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: dijkstra3d-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 380.7 kB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for dijkstra3d-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8923bcafafa3525c010dd3627976c61086014605a32e4136cbef48d47bfac03a
MD5 4e9f29b8fc54518d74699f2f51f52571
BLAKE2b-256 d3ebf7c20194d4ebb5ee2f7516655ccc10238fdfcb9cc130ef534d3cd5a36f11

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: dijkstra3d-1.15.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 269.4 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for dijkstra3d-1.15.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 9d5706d257261c588a2fa6886d0aad46371b189b22e0c77603cd3417e4d42be2
MD5 ec97a8dfb9b80cae366913d8edcda51d
BLAKE2b-256 d282301b083c4b3bf9f6eecfb0c02fc791e10190e138c06b5e0cb8ee4a331138

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp38-cp38-win32.whl.

File metadata

  • Download URL: dijkstra3d-1.15.1-cp38-cp38-win32.whl
  • Upload date:
  • Size: 274.2 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for dijkstra3d-1.15.1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 fd12172fdbe98fc4e8cffae7b54e96352918b3a7f75e624a74aadf6c2582bd90
MD5 85971198bbe520a167d08ab1da1c3bb4
BLAKE2b-256 20d5be38838bcbd7621c94e50a7a72c833717597f29c643c79a0acb97ead483e

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dijkstra3d-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c848242fb5e199a95f038d564154563b4cc35d6cd149e9fe6c810f83995b8f1f
MD5 82d3798ed122743ce3e732572946d21a
BLAKE2b-256 dc9599ed07800a97241f2626ff4dc620d68b681883a18c748cffb19ebd2c9dbe

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for dijkstra3d-1.15.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 727b61bf5dac99e6e4c7a1eb754bc75811b8757313edc0606392999f8484b86f
MD5 aed3be95ec21a5158ae6a3a9fe24e924
BLAKE2b-256 8f65020ca38bdb94cc2536325b5cb4f89e473dadae4fd96371add20ae2ea9d4b

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dijkstra3d-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c925f6350f16a7210bced8de23252607d90e21e1814da60d194b9b2f4aeac827
MD5 b3eca83a462e3ae1bd87d24e5ef7e104
BLAKE2b-256 dc25498de9c5a384bdee51bfd9b163f093d369ad489cb8829ac5059e7116df75

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

  • Download URL: dijkstra3d-1.15.1-cp38-cp38-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 330.9 kB
  • Tags: CPython 3.8, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for dijkstra3d-1.15.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 17575f14110b281d15c9c36121c9343f6428909d84bee0fdde54d42650dccbca
MD5 37a2261b20528ca8ea26ea266db6b006
BLAKE2b-256 4b86b7c9ef15cd229ab08be55adc6cf69e1da130aca830c97d17c7b238ca8883

See more details on using hashes here.

File details

Details for the file dijkstra3d-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: dijkstra3d-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 376.8 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.10

File hashes

Hashes for dijkstra3d-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 05dc281fbfeb042e3e7cf903198b50bc9f5b2e703b413570396664456eb25725
MD5 c08b423a28694a5723f5d9f756121c41
BLAKE2b-256 04d870e223a73d90adc3b740263e5545a72f66fa18164f7d7a3bbae2a78667ba

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page