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

Uploaded Source

Built Distributions

dijkstra3d-1.11.0-cp39-cp39-win_amd64.whl (205.5 kB view details)

Uploaded CPython 3.9 Windows x86-64

dijkstra3d-1.11.0-cp39-cp39-win32.whl (199.3 kB view details)

Uploaded CPython 3.9 Windows x86

dijkstra3d-1.11.0-cp39-cp39-manylinux2010_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

dijkstra3d-1.11.0-cp39-cp39-manylinux2010_i686.whl (1.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686

dijkstra3d-1.11.0-cp39-cp39-manylinux1_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.9

dijkstra3d-1.11.0-cp39-cp39-manylinux1_i686.whl (1.6 MB view details)

Uploaded CPython 3.9

dijkstra3d-1.11.0-cp39-cp39-macosx_10_9_x86_64.whl (288.7 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

dijkstra3d-1.11.0-cp39-cp39-macosx_10_9_universal2.whl (519.4 kB view details)

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

dijkstra3d-1.11.0-cp38-cp38-win_amd64.whl (206.8 kB view details)

Uploaded CPython 3.8 Windows x86-64

dijkstra3d-1.11.0-cp38-cp38-win32.whl (200.7 kB view details)

Uploaded CPython 3.8 Windows x86

dijkstra3d-1.11.0-cp38-cp38-manylinux2010_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

dijkstra3d-1.11.0-cp38-cp38-manylinux2010_i686.whl (1.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

dijkstra3d-1.11.0-cp38-cp38-manylinux1_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.8

dijkstra3d-1.11.0-cp38-cp38-manylinux1_i686.whl (1.7 MB view details)

Uploaded CPython 3.8

dijkstra3d-1.11.0-cp38-cp38-macosx_11_0_universal2.whl (507.2 kB view details)

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

dijkstra3d-1.11.0-cp38-cp38-macosx_10_9_x86_64.whl (282.1 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

dijkstra3d-1.11.0-cp37-cp37m-win_amd64.whl (199.6 kB view details)

Uploaded CPython 3.7m Windows x86-64

dijkstra3d-1.11.0-cp37-cp37m-win32.whl (194.8 kB view details)

Uploaded CPython 3.7m Windows x86

dijkstra3d-1.11.0-cp37-cp37m-manylinux2010_x86_64.whl (1.7 MB view details)

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

dijkstra3d-1.11.0-cp37-cp37m-manylinux2010_i686.whl (1.5 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

dijkstra3d-1.11.0-cp37-cp37m-manylinux1_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.7m

dijkstra3d-1.11.0-cp37-cp37m-manylinux1_i686.whl (1.5 MB view details)

Uploaded CPython 3.7m

dijkstra3d-1.11.0-cp37-cp37m-macosx_10_9_x86_64.whl (284.0 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

dijkstra3d-1.11.0-cp36-cp36m-win_amd64.whl (199.5 kB view details)

Uploaded CPython 3.6m Windows x86-64

dijkstra3d-1.11.0-cp36-cp36m-win32.whl (194.6 kB view details)

Uploaded CPython 3.6m Windows x86

dijkstra3d-1.11.0-cp36-cp36m-manylinux2010_x86_64.whl (1.7 MB view details)

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

dijkstra3d-1.11.0-cp36-cp36m-manylinux2010_i686.whl (1.5 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ i686

dijkstra3d-1.11.0-cp36-cp36m-manylinux1_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.6m

dijkstra3d-1.11.0-cp36-cp36m-manylinux1_i686.whl (1.5 MB view details)

Uploaded CPython 3.6m

dijkstra3d-1.11.0-cp36-cp36m-macosx_10_9_x86_64.whl (283.3 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0.tar.gz
  • Upload date:
  • Size: 252.8 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.11.0.tar.gz
Algorithm Hash digest
SHA256 3c455f25985293d01d02163f35572c56f965689aee91adcd475698c9e42243c0
MD5 db9e766a08cf17db927097aaeb5951c0
BLAKE2b-256 1e618a3a19018406cc2b33635dc0d689a7db8f3bbf90d285840692da8208716c

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 205.5 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.11.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 588c77c6e54c9aa8bb6b09489af163b6201cba61133ad995ee1afdedf77267a5
MD5 71de18126bb5845c0450cf7cc56b0913
BLAKE2b-256 f025e0c3b6f92ce5d4ae61052cba3ff289cb7cc300f7c5f7fd4ebea3d9f31b0a

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 199.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.11.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 322bce897024d1853d71d72f10159de129d23654e0eb04bf3430567cfdadbccd
MD5 2d7ec8402170eaabddc94c978a4b45f4
BLAKE2b-256 7a5fedf6e7a71fd614d4f4a071db827906c8eb6ef067d116858d309302078172

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 1.7 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.11.0-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 4d5bc7a91a3cf5360f1705239a6ca65ca344bbf63903e7968ffbf99e696b3e22
MD5 ed31e7107e8d4d04209a11d3866890bd
BLAKE2b-256 c1dbd16fdce5cb88b521c2a39eb7d72e23d0598249a3bfeea236acae4c2177a1

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp39-cp39-manylinux2010_i686.whl
  • Upload date:
  • Size: 1.6 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.11.0-cp39-cp39-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 3c09e2d54802f4e5d0848579ac9815805a04d7eb684c6abd7b23736cb062b347
MD5 caeebee7852d169615168f68f373c9cd
BLAKE2b-256 cd2755ea47765c48b23123b0df128693cec57bb7b065c19dbb8136f288016d74

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp39-cp39-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.7 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.11.0-cp39-cp39-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 95d259f40ef3c64af89dae97e48df06d9213dd3b5b8cc25d425946146d2de20e
MD5 6f2e2786ddeec88d1729d7fd5bfb30ad
BLAKE2b-256 0f8fdb2849ab5c32a714485d1fa44e90e954f9a2312e2c6c74db37acda2c5a43

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp39-cp39-manylinux1_i686.whl
  • Upload date:
  • Size: 1.6 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.11.0-cp39-cp39-manylinux1_i686.whl
Algorithm Hash digest
SHA256 672fbb5185dbfcf674426857f173c0b68ae43ae0f00e2ff30b17a37c39666d43
MD5 027eaacfe3e27272008c21d804efff83
BLAKE2b-256 2375d58357547728dd7d5cbfe027f9b0397ba6aec581e7ef5a83147687408e50

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 288.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.11.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 11f9b6a7f796c53d6d5da4dce22d26bb1c5abf874aa7054b524438b4d285c0f6
MD5 24a6ad0671bcdef0658c1883dcbabb32
BLAKE2b-256 0f14eba433f2e4a8a4c0780cc3782b1fb4ed1057a9aa567e5775772ea2b94a72

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp39-cp39-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 519.4 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.11.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 cdf9274b80186a8bc96679286045b3c1325b3336d23b2a20e83d008cc7c26bcd
MD5 9116339b51930c468f927fe2beac9a24
BLAKE2b-256 791dc51598343ec79274b9ce09f1ebe6c8262c064f0f41776e97b4f70aaa7b8b

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 206.8 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.11.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 a58e4488b4ed8e48cfb7add63816d68d10785d4da37a9b8d0ca764b170a17b10
MD5 5c9da2f066df0c4510c998ad9ecbcc3a
BLAKE2b-256 b46ba9fa8be8ff696a7b69b41860f4c4d1633cb25512efa55c4d5bbfffed6611

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 200.7 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.11.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 b73eb1f890fe71ec4efc14a6f51142e96c4f1933709129597bdb8b492d30b0de
MD5 f759bceb5c0724b4cda89eb8a3f27ab1
BLAKE2b-256 d3190918391fdfb869bc7caaa0ebc04618a4b545e7593f0c1878a88508b06d72

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 1.8 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.11.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e84f3e121c263eb0065bd64bd369e9ac6209a308ba7a4b8dc9979c796e2329df
MD5 45d6cbd0cefbe254e9800aa19998f404
BLAKE2b-256 d946e392f37d244d2099e6416ea8440d7a4a5f4581648d1d4a4199e1d79f65e4

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp38-cp38-manylinux2010_i686.whl
  • Upload date:
  • Size: 1.7 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.11.0-cp38-cp38-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 960f2a0a38402882c58fa2f7642a9f5eafd2f4c061ff1556aa458110d52ad39b
MD5 eb2d4a958f77010021e715b856028193
BLAKE2b-256 d6c2c5daf54fef192aa942c8c2bf9831a18acae5dce93f7b19cab11b5769b5bb

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.8 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.11.0-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 fea2089489225705a225cf6473c30b275b119aec64f749aeda16e459cf102197
MD5 9aab51e37cf01037daa581eb31b8391d
BLAKE2b-256 bb8019ac7d0a9f77efd09e461f606dec26324bad3a883b7d0527311948eb4c4a

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp38-cp38-manylinux1_i686.whl
  • Upload date:
  • Size: 1.7 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.11.0-cp38-cp38-manylinux1_i686.whl
Algorithm Hash digest
SHA256 0db5f23ecb0c99224f77ca0f30f41c679505ef511405fac9b3790c30439c5f30
MD5 9d9fc4569d2423887a24adcf0a1ad42b
BLAKE2b-256 8a9959e5d4b0bb20264f4f0b9f4b5030066609309ff5b016d9ce13001fcfdffa

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp38-cp38-macosx_11_0_universal2.whl
  • Upload date:
  • Size: 507.2 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.11.0-cp38-cp38-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 80955dbcb0c0c680eb5087d3fdda3e0eecd4b49fffa415ff1e9c85fc8bddf0f0
MD5 3c5e439d6e9390e3b6e0e0bfe17f1a42
BLAKE2b-256 8a30e5a23c3348e534e04273367af963aecc6206a4c229dbfc3b9a1c6c911f16

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 282.1 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.11.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 94bee5a2e20dd749181804ec56af2bc4d4cbc8cf57776d4bbeeb8fb48251514b
MD5 c836f3d46db05f25c8e963d494def068
BLAKE2b-256 24cf5b1f7df130cf5d901fe9adc1b4168a73f70773dafc1227a3670d3affadf1

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 199.6 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.11.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 0959f3638c4626b2a755e548933886ed5afb498c5d19f3e9f46071e1dc5c71da
MD5 5947c3f2e2e7ca6c3a8d803450ddd670
BLAKE2b-256 7721462ab6d0d0ab59064f0002064fbd7c92eb53c242300018fee17125275885

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 194.8 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.11.0-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 bc9865048aeb81641c5a60758bb9c486cc7b4d807a372bb9bb5bd1a3fd82753a
MD5 7a6eed4825d9f507eb59dec897314eaa
BLAKE2b-256 b1e32101cc7e33fb76d3ced8f09457d13997e40c14598be202fb063ba6d87585

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 1.7 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.11.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 5e25f7aeac5cf1751e84a739fb3dcef1b87903e41683f02d5fe810139b797979
MD5 f6874f4be48e11504dc096f303736c49
BLAKE2b-256 7b26f6f5f50b7a666f093cfd14af5cfd7af272407b7bcc4437d9b7bb263223d2

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp37-cp37m-manylinux2010_i686.whl
  • Upload date:
  • Size: 1.5 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.11.0-cp37-cp37m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 f35fdeb5df2940bc4b9fb0c41641cf2123115f434b8ab9d995f979ac46d793c4
MD5 3242934e6197258a943f4ed9b1b41c5b
BLAKE2b-256 d534061e0681d59b09533129bf5b9323a55f8bcd897e58f4125b2a2bb7eeb79f

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp37-cp37m-manylinux1_x86_64.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.11.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 0927980b692fc46a0d5909b4728f26dfedde2830fd0a2907883a8c123ab1cade
MD5 4ad30f22d6f19cfd5efa87285c7300ea
BLAKE2b-256 060e6e6e1a93eef00fb122697c2fe2428597c4407e6a921a0c9441e37b92ddf9

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 1.5 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.11.0-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 4eaafc180c5b688ba1f9831cabf70cecc448f3b3d22894f251f33a9cc4364991
MD5 9bf8e1f58d907a54d14221270f08c30a
BLAKE2b-256 6f6929361b20eacbd80f35e1f84e7d245363ca053eab3ba353b6e19e6100c17f

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 284.0 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.11.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6a93ca99965254639e83dc02f9a17e77fde76eebc5d3fa89a8a0052829e78de8
MD5 f580f2ae752306f8a7c95ac46469a1db
BLAKE2b-256 bd1c013a58d88d432b5317e112b27c71aa05cc75676693194a30ff78ad4c81a4

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 199.5 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.11.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 3dc068085c837aa4f715f5d32b7e6d583b82e21b0979cf395ffd61e819cfce99
MD5 94e28a0cfc258e94d4f1586f04da844c
BLAKE2b-256 2ebc3bf61f977a5e5a6cd4f008d176377a39545c1fb389d84331fc7cad06d4c6

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 194.6 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.11.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 fd350e2558f3b5beea1cf4b0fc07d11251908e183ae25d418a4c7ab6d5215765
MD5 f16979a641e50dd13be60fd181fd3e3b
BLAKE2b-256 6bb162c772996897861f366c2cc5875c7e7e0186d3914b1855d9a07cafd53c5f

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 1.7 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.11.0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 8e67be66bd2ea275959f2c68b41bb57771fe8f9f606cf5d1b661b4caf55ab78d
MD5 569d2e814c82292df2a85bf0b54ecc72
BLAKE2b-256 99b603de92490525f90f6c506fb8145da7cf8c0a815302a99612e05ce96156b6

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp36-cp36m-manylinux2010_i686.whl
  • Upload date:
  • Size: 1.5 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.11.0-cp36-cp36m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 53c7efd6bf7b0c6732c0831324f2fdcb585fa52a6f1d19edec88c0d5d49895fb
MD5 cd4e18f7456ec54e6ca95d1e8e03a61f
BLAKE2b-256 2960a8fed8d7815c077b302962aa819bf63895725ba8785a11e3bba2afae6b21

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp36-cp36m-manylinux1_x86_64.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.11.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 7fe0449b1dcf306ed1dc2922e12324023a05e1746ee254b7a9595f26fd8b1be9
MD5 5da7110ba78efaceb7263e11a85f949b
BLAKE2b-256 3edd07a4861f3a7d12ef8fda586c2629c3160100f803d1bd96b50da7b7c06e70

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 1.5 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.11.0-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 b3c3a9fbcc68f2e39256e5a5ac71af3d3eac4194e0210ee83bb9bc88d0338268
MD5 5ca69e57923d97a51ceab8fe04ecf987
BLAKE2b-256 f9699d933fabb76f3989f5cdf045bc0ae8c5dc3b44a52daf04fa70b1a42cc706

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: dijkstra3d-1.11.0-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 283.3 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.11.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7b9071273c1cd40a86768ca362fb51720a93032eabb62febb93c107075d993d3
MD5 284cc7ce5d01c769c093531af8b217ad
BLAKE2b-256 ec0254d2cfcb1ff566971064569acc425d6763890a431372a526ddd91c9df80f

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