Skip to main content

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

Project description

Build Status 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)

# 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.
dist_field = dijkstra3d.euclidean_distance_field(field, source=(0,0,0), anisotropy=(4,4,40))
dist_field = dijkstra3d.euclidean_distance_field(
  field, source=[ (0,0,0), (10, 40, 232) ], anisotropy=(4,4,40)
)

# 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.

What is that pairing_heap.hpp?

Early on, I anticipated using decrease key in my heap and implemented a pairing heap, which is supposed to be an improvement on the Fibbonacci heap. However, I ended up not using decrease key, and the STL priority queue ended up being faster. If you need a pairing heap outside of boost, check it out.

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.12.0.tar.gz (264.1 kB view details)

Uploaded Source

Built Distributions

dijkstra3d-1.12.0-cp310-cp310-macosx_10_9_universal2.whl (580.8 kB view details)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

dijkstra3d-1.12.0-cp39-cp39-win_amd64.whl (221.7 kB view details)

Uploaded CPython 3.9 Windows x86-64

dijkstra3d-1.12.0-cp39-cp39-win32.whl (215.4 kB view details)

Uploaded CPython 3.9 Windows x86

dijkstra3d-1.12.0-cp39-cp39-manylinux2010_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

dijkstra3d-1.12.0-cp39-cp39-manylinux2010_i686.whl (1.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686

dijkstra3d-1.12.0-cp39-cp39-manylinux1_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.9

dijkstra3d-1.12.0-cp39-cp39-manylinux1_i686.whl (1.8 MB view details)

Uploaded CPython 3.9

dijkstra3d-1.12.0-cp39-cp39-macosx_10_9_x86_64.whl (319.9 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

dijkstra3d-1.12.0-cp39-cp39-macosx_10_9_universal2.whl (577.9 kB view details)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

dijkstra3d-1.12.0-cp38-cp38-win_amd64.whl (223.2 kB view details)

Uploaded CPython 3.8 Windows x86-64

dijkstra3d-1.12.0-cp38-cp38-win32.whl (216.9 kB view details)

Uploaded CPython 3.8 Windows x86

dijkstra3d-1.12.0-cp38-cp38-manylinux2010_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

dijkstra3d-1.12.0-cp38-cp38-manylinux2010_i686.whl (1.9 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

dijkstra3d-1.12.0-cp38-cp38-manylinux1_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.8

dijkstra3d-1.12.0-cp38-cp38-manylinux1_i686.whl (1.9 MB view details)

Uploaded CPython 3.8

dijkstra3d-1.12.0-cp38-cp38-macosx_11_0_universal2.whl (565.5 kB view details)

Uploaded CPython 3.8 macOS 11.0+ universal2 (ARM64, x86-64)

dijkstra3d-1.12.0-cp38-cp38-macosx_10_9_x86_64.whl (313.8 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

dijkstra3d-1.12.0-cp37-cp37m-win_amd64.whl (214.4 kB view details)

Uploaded CPython 3.7m Windows x86-64

dijkstra3d-1.12.0-cp37-cp37m-win32.whl (209.4 kB view details)

Uploaded CPython 3.7m Windows x86

dijkstra3d-1.12.0-cp37-cp37m-manylinux2010_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

dijkstra3d-1.12.0-cp37-cp37m-manylinux2010_i686.whl (1.7 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

dijkstra3d-1.12.0-cp37-cp37m-manylinux1_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.7m

dijkstra3d-1.12.0-cp37-cp37m-manylinux1_i686.whl (1.7 MB view details)

Uploaded CPython 3.7m

dijkstra3d-1.12.0-cp37-cp37m-macosx_10_9_x86_64.whl (316.4 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

dijkstra3d-1.12.0-cp36-cp36m-win_amd64.whl (214.2 kB view details)

Uploaded CPython 3.6m Windows x86-64

dijkstra3d-1.12.0-cp36-cp36m-win32.whl (209.3 kB view details)

Uploaded CPython 3.6m Windows x86

dijkstra3d-1.12.0-cp36-cp36m-manylinux2010_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

dijkstra3d-1.12.0-cp36-cp36m-manylinux2010_i686.whl (1.7 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ i686

dijkstra3d-1.12.0-cp36-cp36m-manylinux1_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.6m

dijkstra3d-1.12.0-cp36-cp36m-manylinux1_i686.whl (1.7 MB view details)

Uploaded CPython 3.6m

dijkstra3d-1.12.0-cp36-cp36m-macosx_10_9_x86_64.whl (315.8 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: dijkstra3d-1.12.0.tar.gz
  • Upload date:
  • Size: 264.1 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.12.0.tar.gz
Algorithm Hash digest
SHA256 3df51a99bca000f56c6fcfcb825184efc795d7dc35b73ff311b80f4288d18fcc
MD5 011cceb919421f3af8c5082463c79d98
BLAKE2b-256 537628015ed87b9f0bd1384444119af7c07873afe99cd7501d9566b9d52f617c

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp310-cp310-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 580.8 kB
  • Tags: CPython 3.10, macOS 10.9+ universal2 (ARM64, 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.12.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 9e12e165ca7cbc99a579ad8afb42052dadf08b4d9c91e54b9babf8686db17f22
MD5 829d4a444ec68462010bbf945f6c44d4
BLAKE2b-256 ef55e51f78b552c3b1b7b5edc00afaa652cc69b0d0d416a6dbb1787030b262dc

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.12.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 221.7 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.12.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3c0c8bdc3ed80b8ea6b7fa6034420ffa851055d03ed587086a66d1917f6f3cd2
MD5 b656bd276d2a0e10ac7bdf2d44a09e08
BLAKE2b-256 5be8674c8c78d4f9e5aa1e66a969dd5533be9d25f1446589427fdcaf54244491

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.12.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 215.4 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.12.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 37fb55f5e5bd32bc21df1da40782c5a9bdcf0e4b2cfdfd4ec91e3e7f1fba6245
MD5 d743fcb19bf591f5a6750cbb286b1e1e
BLAKE2b-256 fd40e589c2a93e1ac72b50989c57e0485270c561d3b88701576c381feb625ac2

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp39-cp39-manylinux2010_x86_64.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ 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.12.0-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 3099cf939d12834ddd4309691b7b9da255ab9f0aecfb9d25bcfcea9300cc55d5
MD5 e291b5f523b2feb0736c807d8d65ac80
BLAKE2b-256 9ddf08815d9e1fff272a089482c4775dfd30647ece5cd5a872fbd76804f25190

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp39-cp39-manylinux2010_i686.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp39-cp39-manylinux2010_i686.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ i686
  • 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.12.0-cp39-cp39-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 476ae4c1e4a6e07fb3a8be7d4878ba2f62c9749e22ca6422e72c01b8c8c5030b
MD5 c01f41ff5817b60f5eb55a44661144f3
BLAKE2b-256 86f2e571c462df7a6ef9ddae7c16ae1a7e152f80d27c56caf92da66108a69cea

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp39-cp39-manylinux1_x86_64.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp39-cp39-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.9
  • 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.12.0-cp39-cp39-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 8e504bb75d2e48e906755b5ec58efdf4015c45301915cb725539a7ae0389d341
MD5 37c18f173576f9ca0e99b08f630af65e
BLAKE2b-256 5c5fae30add9e3c2f92fc136d36fea9b32e80ef224ee5e8b17e924fac0f8ed84

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp39-cp39-manylinux1_i686.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp39-cp39-manylinux1_i686.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.9
  • 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.12.0-cp39-cp39-manylinux1_i686.whl
Algorithm Hash digest
SHA256 0b03f682af8231a5e94aa90084ea44da62b0ca8125f3497fd811b9d4dcb2e447
MD5 e593af3ce031b729f3f6e05653f9fdd9
BLAKE2b-256 b70ceca6b105c339297ba6ab762f4cd25a4b0632c1ceb27544fc188149693aed

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.12.0-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 319.9 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.12.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 17af976bb817ae07ab1c32008c0bf99b8f175c9c08d7638adbef5b0a161ad640
MD5 06d1ad931c1925424a46d123f98eceff
BLAKE2b-256 97108f95b5d99cb6439a707476346563c3d67bae5c204e27d5f063d8c801beb3

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp39-cp39-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 577.9 kB
  • Tags: CPython 3.9, macOS 10.9+ universal2 (ARM64, 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.12.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c009a318c0a35029606a29d4eeefc7cc964873de8a25baec50e4424b5dbc21ae
MD5 6cf412eeff6ae57c7762e874b019d1e9
BLAKE2b-256 bd337002229276b43d5a87052ae06d2aae3d2b6b0c7a5fdcb0446db75afba982

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.12.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 223.2 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.12.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 53a83d53d619ce0192b1d1fc5cbb4aa917a443ef0c1de840b54a9a2a7898fd42
MD5 53d99f20ccbeaa8031f854157d308a38
BLAKE2b-256 eef18c7c7bb32c29960380f2074ca971c2ffd710aefb683fd3bde211560d0850

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.12.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 216.9 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.12.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 9b08ba59169b7a7153033bf74a598eb5f62d33c5e5f57550b1845ace8c811cba
MD5 d1f8fc83bafe846cf096e31fa8a7a3d6
BLAKE2b-256 85310b7bc7430e9441e19fd6b9eaf398b10d240ec91571be1e34603eb8825bc5

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ 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.12.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a5e4997b07efb4166fa5b8921c63be00e2fce5e1ce2b35ab24a52d33de0ff1ed
MD5 2cf20f3723db57eff1dab35f793324cd
BLAKE2b-256 da0063a003f5179993028e918b24a41f05e2ef42450efe27ef6578c165c0f7ae

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp38-cp38-manylinux2010_i686.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp38-cp38-manylinux2010_i686.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ i686
  • 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.12.0-cp38-cp38-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 a81ce0b689f0e6b6fefc2a5a71510975a81962ae2b99d16167c52f368efe540e
MD5 abe41ac5674258663c71e27e7c0bd544
BLAKE2b-256 478ddfa20e8ae98415bbe47d8d75d1b32189018f7ef5f7db4cee54a3489620c5

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.8
  • 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.12.0-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 44c39bbb16aacd95cf209594175dded977ff2361c362458e04cb3273e5f5ef17
MD5 f43024fba1ac575c5b01d82b942f2711
BLAKE2b-256 d48d7504aff25b81903804cb92ab439d28ac9bf09c70f5a8b38189d4f287dc2d

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp38-cp38-manylinux1_i686.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp38-cp38-manylinux1_i686.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.8
  • 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.12.0-cp38-cp38-manylinux1_i686.whl
Algorithm Hash digest
SHA256 954d15a4695ff78360ae661c032a229494505cffacf6310a40ca44a2fdd61e82
MD5 8e02278020ebf21e6ce89e0266f0343c
BLAKE2b-256 7390edcd2a9cadcff179b321a937df1a4542d7d3b19db5674008f5b997b8db51

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp38-cp38-macosx_11_0_universal2.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp38-cp38-macosx_11_0_universal2.whl
  • Upload date:
  • Size: 565.5 kB
  • Tags: CPython 3.8, macOS 11.0+ universal2 (ARM64, 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.12.0-cp38-cp38-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 aff9a2c306a6aecb48a8f042f33c146ad93017640ee1e06b2017046560d1f639
MD5 4ed886a42027e8980998ef553d125b9f
BLAKE2b-256 e801a36764f4ccfee02d8a0dfea57c31d83765be73dfa64b500c039ea953f82e

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.12.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 313.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.12.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 45e9c4d511dc8e9ed80b4ed00c3aa31690b3cd12caaadb30b99a4ccafc5ee65e
MD5 f9d99b3d1fcd0a6ba6ecf43a05b71e9e
BLAKE2b-256 92461eaa93badf5aac4c6b0d31258014f50e4d7da2a383ffd5698e5ea7100d67

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 214.4 kB
  • Tags: CPython 3.7m, 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.12.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 de556f37fe4f5f0f0cdd692b80bae372fafea507000893955dca854e19cb6219
MD5 062b35b0b7073ec19665c86e1c15a0ab
BLAKE2b-256 f711ce51ef6b61153a581afb115610def69a4eae74adf9153519fdd9a4d604ad

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp37-cp37m-win32.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 209.4 kB
  • Tags: CPython 3.7m, 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.12.0-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 5b6748a0600ed7283477641ac567e9f6f1bcc046a9a23fd2a07f876f4d500bf9
MD5 92d70261d4f6b181ebdc9a40bc9b29ef
BLAKE2b-256 238bc580e897ebd1336e779b8531ddca8286e14b37f21bf64dd834aa6837ada6

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ 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.12.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 0c356e29389cbfd8b001506cefd7ca2ff4ca53c57302064ec7650da2ab0bc32e
MD5 a3cb94fc1568d7ba5bd16c8e724cbe20
BLAKE2b-256 42a7b75738c9eee271a6de02af36d25dfef6b7017072db7a702c6383b3dec70e

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp37-cp37m-manylinux2010_i686.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp37-cp37m-manylinux2010_i686.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ i686
  • 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.12.0-cp37-cp37m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 e83b7022e9828ba55106b9c432e36bf1db7c9120d8750eeb60522825ebab4bdb
MD5 c2d68848afab24493b7ba2bb0e67737d
BLAKE2b-256 f81ae1a62f43f1f07935f4b6343cb2dcd2f9445ee638cc3987fa060439837de7

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.7m
  • 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.12.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 7869e6f1a0f12e21f32a211389654bbfa62780f402a10b50bd1f3c50d4e317b7
MD5 b3fd5301d5deffbc30b35edad17c7c15
BLAKE2b-256 ac4fb9f7562a317a68eb2b91ed6b7506a3ca0c1df301c4ecb3fa59f44abc3cbd

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp37-cp37m-manylinux1_i686.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.7m
  • 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.12.0-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 7e917e23a5b05428e27ae150802f78227156b59c179774023248dcb1db69108a
MD5 fd7374bc309c550c98205462382ad420
BLAKE2b-256 b4d3c854d564d696fefa531229f68a52b64c9a8968c53a4680daa4c818476b4c

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 316.4 kB
  • Tags: CPython 3.7m, 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.12.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e5f871bcbb5c561ee3d7f0ac177a05b385f7a4a3e45b4081a25932902f1cd3ff
MD5 fd402970595d0471a0c8c5921b99f6af
BLAKE2b-256 98b8f716424c5b45986a36a7aba74180c6dcdf602a17dc4bc928d5f8463adcb6

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 214.2 kB
  • Tags: CPython 3.6m, 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.12.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 f622bd100d9b9cbd6df20852c0ab93bd819986b5059ac76bddc01e37e1c72083
MD5 f0a98d491eb52f943be799212823bc9a
BLAKE2b-256 b7ae6033c3b2febcde207be6421f9a0d8d982444b7899c8aae56f606799cd2a7

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp36-cp36m-win32.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 209.3 kB
  • Tags: CPython 3.6m, 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.12.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 f4012d4cf2a99648495bf9a1dfe3eb7437afb935529dfaff1bf027dc9a2df5a2
MD5 047c22e993eaf3248712d4f0ccfd863b
BLAKE2b-256 1eab1438066b018a16f756b573d481a661d10dbd2deb053890bea9b50c81c8b6

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ 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.12.0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 31bc98b7357c00043350337a0f0e74868110da777e04e85bdbe0f6297795ff98
MD5 393debb055cebee59c5705cb003e7db4
BLAKE2b-256 38e81cb22b64f6192b2e9aa5058745ffecc759d7b2dc75bb4e203494d122cd5c

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp36-cp36m-manylinux2010_i686.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp36-cp36m-manylinux2010_i686.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ i686
  • 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.12.0-cp36-cp36m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 59ac2bb8e27dc82d44a98caff5bd74e243bac61999c0d0879441562342aadc94
MD5 6804285606180a4267b337e76dfd8849
BLAKE2b-256 68e0285c0aab0e45fce8dd1665162b2830784553c0fd9b4ffb80c35992a0cacc

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.6m
  • 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.12.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 9d366a8cc0840cd2e6e9eba02479178091fbf86093e802d913a84dd08b905185
MD5 713b17b497bb5632dd0d8a3537ee6e18
BLAKE2b-256 243a81cd064c5819f3de3fb6e9e53e6aaf36a11a4535ba964972b27e5d22dd5f

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp36-cp36m-manylinux1_i686.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.6m
  • 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.12.0-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 edfe0705721143e2bf65b25a7e763a2c347bb9d14f54a4c55cc3d26e23719b91
MD5 658b1071d596a6d4850e1079f262f42c
BLAKE2b-256 0e18e485d1ce81dc2348fff53af8f4aceeb180f5d4574ab8736c650d9863f85a

See more details on using hashes here.

Provenance

File details

Details for the file dijkstra3d-1.12.0-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: dijkstra3d-1.12.0-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 315.8 kB
  • Tags: CPython 3.6m, 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.12.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 375d542b66192ca61d50ff93bfe6442cf3e2a33d2eca5d14d0fb1579a0a9ce5f
MD5 c788e1dca212c1681118f907333a2f76
BLAKE2b-256 823455acda1d284a419602908d45caf41bd2e6b2715f84b2e3200f858a53c389

See more details on using hashes here.

Provenance

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