Skip to main content

A Python port of Martini for fast terrain mesh generation

Project description

pymartini

A Cython port of Martini for fast RTIN terrain mesh generation, 2-3x faster than Martini in Node. The only dependency is Numpy.

Install

pip install pymartini

Using

Example

The API is modeled after Martini.

from pymartini import Martini

# set up mesh generator for a certain 2^k+1 grid size
# Usually either 257 or 513
martini = Martini(257)

# generate RTIN hierarchy from terrain data (an array of size^2 length)
tile = martini.create_tile(terrain)

# get a mesh (vertices and triangles indices) for a 10m error
vertices, triangles = tile.get_mesh(10)

Utilities

A few utilities are included.

decode_ele

A helper function to decode a PNG terrain tile into elevations.

Arguments
  • png (np.ndarray): Ndarray of elevations encoded in three channels, representing red, green, and blue. Must be of shape (tile_size, tile_size, >=3) or (>=3, tile_size, tile_size), where tile_size is usually 256 or 512
  • encoding (str): Either 'mapbox' or 'terrarium', the two main RGB encodings for elevation values
  • backfill (bool, default True): Whether to create an array of size (tile_size + 1, tile_size + 1), backfilling the bottom and right edges. This is used because Martini needs a grid of size 2^n + 1
Returns
  • (np.ndarray) Array with decoded elevation values. If backfill is True, returned shape is (tile_size + 1, tile_size + 1), otherwise returned shape is (tile_size, tile_size), where tile_size is the shape of the input array.
Example
from imageio import imread
from pymartini import decode_ele

path = './test/data/fuji.png'
fuji = imread(path)
terrain = decode_ele(fuji, 'mapbox')

rescale_positions

A helper function to rescale the vertices output and add elevations. The output is a numpy ndarray of the form [[x1, y1, z1], [x2, y2, z2], ...].

Arguments
  • vertices: (np.array) vertices output from Martini
  • terrain: (np.ndarray) 2d array of elevations as output by decode_ele
  • bounds: (List[float], default None) linearly rescale position values to this extent, expected to be [minx, miny, maxx, maxy]. If not provided, no rescaling is done
  • flip_y: (bool, default False) Flip y coordinates. Can be useful when original data source is a PNG, since the origin of a PNG is the top left.
  • column_row (bool, default True) Whether axes represent (column, row) or (row, column). This depends on what package you used to load the original PNG image into numpy. imageio uses (column, row), the default; rasterio uses (row, column). Therefore, if you loaded the png with rasterio, use column_row=False.
Example
from imageio import imread
from pymartini import decode_ele, Martini, rescale_positions

path = './test/data/terrarium.png'
png = imread(path)
terrain = decode_ele(png, 'mapbox')
martini = Martini(png.shape[0] + 1)
tile = martini.create_tile(terrain)
vertices, triangles = tile.get_mesh(10)

# Use mercantile to find the bounds in WGS84 of this tile
import mercantile
bounds = mercantile.bounds(mercantile.Tile(385, 803, 11))

# Rescale positions to WGS84
rescaled = rescale_positions(
    vertices,
    terrain,
    tile_size=png.shape[0],
    bounds=bounds,
    flip_y=True
)

Correctness

pymartini passes the (only) test case included in the original Martini JS library. I also wrote a few extra conformance tests to compare output by pymartini and Martini. I've found some small differences in float values at the end of the second step.

This second step, martini.create_tile(terrain), computes the maximum error of every possible triangle and accumulates them. Thus, small float errors appear to be magnified by the summation of errors into larger triangles. These errors appear to be within 1e-5 of the JS output. I'm guessing that this variance is greater than normal float rounding errors, due to this summation behavior.

These differences are larger when using 512px tiles compared to 256px tiles, which reinforces my hypothesis that the differences have something to do with small low-level float or bitwise operations differences between Python and JavaScript.

If you'd like to explore this in more detail, look at the Tile.update() in martini.pyx and the corresponding Martini code.

Benchmark

Preparation steps are about 3x faster in Python than in Node; generating the mesh is about 2x faster in Python than in Node.

JS (Node)

git clone https://github.com/mapbox/martini
cd martini
npm install
node -r esm bench.js
init tileset: 54.293ms
create tile: 17.307ms
mesh: 6.230ms
vertices: 9704, triangles: 19086
mesh 0: 43.181ms
mesh 1: 33.102ms
mesh 2: 30.735ms
mesh 3: 25.935ms
mesh 4: 20.643ms
mesh 5: 17.511ms
mesh 6: 15.066ms
mesh 7: 13.334ms
mesh 8: 11.180ms
mesh 9: 9.651ms
mesh 10: 9.240ms
mesh 11: 10.996ms
mesh 12: 7.520ms
mesh 13: 6.617ms
mesh 14: 5.860ms
mesh 15: 5.693ms
mesh 16: 4.907ms
mesh 17: 4.469ms
mesh 18: 4.267ms
mesh 19: 4.267ms
mesh 20: 3.619ms
20 meshes total: 290.256ms

Python

git clone https://github.com/kylebarron/pymartini
cd pymartini
pip install .
python bench.py
init tileset: 14.860ms
create tile: 5.862ms
mesh (max_error=30): 1.010ms
vertices: 9700.0, triangles: 19078.0
mesh 0: 18.350ms
mesh 1: 17.581ms
mesh 2: 15.245ms
mesh 3: 13.853ms
mesh 4: 11.284ms
mesh 5: 12.360ms
mesh 6: 8.293ms
mesh 7: 8.342ms
mesh 8: 7.166ms
mesh 9: 5.678ms
mesh 10: 5.886ms
mesh 11: 5.092ms
mesh 12: 3.732ms
mesh 13: 3.420ms
mesh 14: 3.524ms
mesh 15: 3.101ms
mesh 16: 2.892ms
mesh 17: 2.358ms
mesh 18: 2.250ms
mesh 19: 2.293ms
mesh 20: 2.281ms
20 meshes total: 155.559ms

License

This library is ported from Mapbox's Martini, which is licensed under the ISC License. My additions are licensed under the MIT license.

ISC License

Copyright (c) 2019, Mapbox

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

pymartini-0.3.0-pp36-pypy36_pp73-win32.whl (212.3 kB view details)

Uploaded PyPy Windows x86

pymartini-0.3.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl (246.8 kB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

pymartini-0.3.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl (222.3 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

pymartini-0.3.0-cp38-cp38-win_amd64.whl (242.2 kB view details)

Uploaded CPython 3.8 Windows x86-64

pymartini-0.3.0-cp38-cp38-win32.whl (225.1 kB view details)

Uploaded CPython 3.8 Windows x86

pymartini-0.3.0-cp38-cp38-manylinux2010_x86_64.whl (656.7 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

pymartini-0.3.0-cp38-cp38-manylinux2010_i686.whl (626.2 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

pymartini-0.3.0-cp38-cp38-manylinux1_x86_64.whl (656.7 kB view details)

Uploaded CPython 3.8

pymartini-0.3.0-cp38-cp38-manylinux1_i686.whl (626.2 kB view details)

Uploaded CPython 3.8

pymartini-0.3.0-cp38-cp38-macosx_10_9_x86_64.whl (244.7 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

pymartini-0.3.0-cp37-cp37m-win_amd64.whl (240.7 kB view details)

Uploaded CPython 3.7m Windows x86-64

pymartini-0.3.0-cp37-cp37m-win32.whl (223.5 kB view details)

Uploaded CPython 3.7m Windows x86

pymartini-0.3.0-cp37-cp37m-manylinux2010_x86_64.whl (596.4 kB view details)

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

pymartini-0.3.0-cp37-cp37m-manylinux2010_i686.whl (563.7 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

pymartini-0.3.0-cp37-cp37m-manylinux1_x86_64.whl (596.4 kB view details)

Uploaded CPython 3.7m

pymartini-0.3.0-cp37-cp37m-manylinux1_i686.whl (563.7 kB view details)

Uploaded CPython 3.7m

pymartini-0.3.0-cp37-cp37m-macosx_10_9_x86_64.whl (244.8 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

pymartini-0.3.0-cp36-cp36m-win_amd64.whl (240.7 kB view details)

Uploaded CPython 3.6m Windows x86-64

pymartini-0.3.0-cp36-cp36m-win32.whl (223.4 kB view details)

Uploaded CPython 3.6m Windows x86

pymartini-0.3.0-cp36-cp36m-manylinux2010_x86_64.whl (596.5 kB view details)

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

pymartini-0.3.0-cp36-cp36m-manylinux2010_i686.whl (564.1 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ i686

pymartini-0.3.0-cp36-cp36m-manylinux1_x86_64.whl (596.5 kB view details)

Uploaded CPython 3.6m

pymartini-0.3.0-cp36-cp36m-manylinux1_i686.whl (564.1 kB view details)

Uploaded CPython 3.6m

pymartini-0.3.0-cp36-cp36m-macosx_10_9_x86_64.whl (246.9 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

pymartini-0.3.0-cp35-cp35m-win_amd64.whl (238.8 kB view details)

Uploaded CPython 3.5m Windows x86-64

pymartini-0.3.0-cp35-cp35m-win32.whl (222.0 kB view details)

Uploaded CPython 3.5m Windows x86

pymartini-0.3.0-cp35-cp35m-manylinux2010_x86_64.whl (589.0 kB view details)

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

pymartini-0.3.0-cp35-cp35m-manylinux2010_i686.whl (557.9 kB view details)

Uploaded CPython 3.5m manylinux: glibc 2.12+ i686

pymartini-0.3.0-cp35-cp35m-manylinux1_x86_64.whl (589.0 kB view details)

Uploaded CPython 3.5m

pymartini-0.3.0-cp35-cp35m-manylinux1_i686.whl (557.9 kB view details)

Uploaded CPython 3.5m

pymartini-0.3.0-cp35-cp35m-macosx_10_9_x86_64.whl (242.6 kB view details)

Uploaded CPython 3.5m macOS 10.9+ x86-64

File details

Details for the file pymartini-0.3.0-pp36-pypy36_pp73-win32.whl.

File metadata

  • Download URL: pymartini-0.3.0-pp36-pypy36_pp73-win32.whl
  • Upload date:
  • Size: 212.3 kB
  • Tags: PyPy, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-pp36-pypy36_pp73-win32.whl
Algorithm Hash digest
SHA256 e6888acbb3a36c5b0420f1f88135a3098a5121aee9810a6a988f90d654ebe607
MD5 98b8a163c61ca566a7593cf8f757f24c
BLAKE2b-256 cfbfccfff38643f1e4fd1fe0ea735bbd08cf1ee0365f1945b024a31ce459f304

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl.

File metadata

  • Download URL: pymartini-0.3.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 246.8 kB
  • Tags: PyPy, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 6ccfa1591d271f991ea3cf3926eeeb1fca53be6ba5950b6b516507b8eb0da87c
MD5 fc2963cfa5a9ada8aba124b769fe8138
BLAKE2b-256 0c389e77812802e749a38dcfa33a2eae972d6f46a2c5f61c1966ce7c7f26060f

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-pp36-pypy36_pp73-manylinux1_x86_64.whl.

File metadata

  • Download URL: pymartini-0.3.0-pp36-pypy36_pp73-manylinux1_x86_64.whl
  • Upload date:
  • Size: 246.8 kB
  • Tags: PyPy
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-pp36-pypy36_pp73-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 8ddd48b22e636c557aaed0f5b682f81e0bffd27cf60251d9229d353c3c1e50df
MD5 e8e95f8d8fff101b63689cbb9ef68ed6
BLAKE2b-256 16ebc4ca93a4e0a38a9359789bc0891c0ec7472a40312addcd4d73ba193052cf

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: pymartini-0.3.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 222.3 kB
  • Tags: PyPy, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d261274a1f69aeca1f74ea69d81b5c08b50da57a9690a2db4e644d11370ff493
MD5 4e2ee064b131822b09faa62faf499f85
BLAKE2b-256 1efdec46f76296adbc24c69eaed6db66e27a17596a8970ad2158a281edb18ebe

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 242.2 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d39943d0fa352c703b9de209f19900493a131a15b011d6eea44f0e80346c970d
MD5 15b60279677ce745da0bee6a2639158a
BLAKE2b-256 41e58329244e5c8fbcded26f875213e9b0a244cfafa742f21da93f5d9cddc362

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp38-cp38-win32.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 225.1 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 a556e3ff6dabbd8099401c2e5039b01979ceca59af3748358970cd6b4ba13d9f
MD5 f8d770bf2cd93a89ba37488195c14ef1
BLAKE2b-256 176cb77fc5bb18ac388b8f425dd5468d1a31f7d5c34a81553073792e30a34b8b

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 656.7 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 c86e12fed8790bb9d34a8be5ad31e5f35dde51c5f8d913090dd6d21b5b8e548d
MD5 2bdd54f755ed02ed5e5680606fa1f429
BLAKE2b-256 0f5f15e03f916a1bbdc2036dafb2640e0096174ae97d0e0216e85690bf0ca70e

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp38-cp38-manylinux2010_i686.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp38-cp38-manylinux2010_i686.whl
  • Upload date:
  • Size: 626.2 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp38-cp38-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 44cdfe1a17960746ea40fa113216a5f03f5adc3b31330a2a31caf2715127142a
MD5 9cf53586a8802db2f28999f02c310ad9
BLAKE2b-256 f9ef73d8a631fa2f11e502d54e0193b8a7b6e68f09594e846c37fab990bf242a

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 656.7 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 0622660c7d786ad23cedf355bb098683d2e86bafbacd1156e7c10f6c9f4d4f02
MD5 797c471cc88cc65e21496eada034356b
BLAKE2b-256 19ec381fe6301d94854381151de24d2e00de3248ef2cc04250b4f28bc0fbf4b7

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp38-cp38-manylinux1_i686.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp38-cp38-manylinux1_i686.whl
  • Upload date:
  • Size: 626.2 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp38-cp38-manylinux1_i686.whl
Algorithm Hash digest
SHA256 83da0d08b0da84a7a49197b7468d3332950c1aabe4d75bcb2b229c2b9b3e5978
MD5 271dffd01dbd1897b4aa9c103af30fcf
BLAKE2b-256 fd4a153dc29e57f388c41818f6a9089aa2c24e78866457b074b8375c6db52019

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 244.7 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2c114c17fc5ddb3bacc86c36f824adecc34dae780159f97d74c7834502c9d607
MD5 e4aca9c6c7e7718cb02a3f90f51cf87a
BLAKE2b-256 4a81c2e22411a29fc6e02d7c59911c15ee919dd227c88883f0285e9ba60a8ea4

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 240.7 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 a2f0608ef952273cbb8c1f8593bd0c733ac76abe261e863ff38fa0a37f9f9081
MD5 a5bfce9dd904fa901649a5352c57e932
BLAKE2b-256 55a6758d04f10ca697c0a1f1a6da10e67a64dcb784510fc4c71f36e36388b5d8

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp37-cp37m-win32.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 223.5 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 8c9f22b23d3d9d25eecb9eef8ec276aa046f06ac78c5c3d66c9a7cfb1f7d4923
MD5 373e66880cf7c5239466fa44fed4c89e
BLAKE2b-256 cb0de6d1ebdd1427d26283f0cb0a01dcd4257ca6c22e39a6885693274b153ee8

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 596.4 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 c98d4a08ccb2acb1a388f8e3678de11a7e959b9e9d7cf7dfece8f7f6bf1e0b6f
MD5 764ebcbc806a13bf7d7d7cc339eaac1f
BLAKE2b-256 323bcb623c21fc145c6cc7c13975ed7884ed698976db5bd6043897650ec2dea9

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp37-cp37m-manylinux2010_i686.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp37-cp37m-manylinux2010_i686.whl
  • Upload date:
  • Size: 563.7 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp37-cp37m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 fe2bda6ad70b097ee758bddc58e7f95e615a37e6f485f2fa0ff3c167d5709122
MD5 81effab9550b3542f06b02a8aceae0e0
BLAKE2b-256 b34f187aa4a242bdb6b72155dc18fa7117857f022353c4940d111afb2167cec4

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 596.4 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 a44c3dfcaf0d81ef821a94661945629712cb907fb0836c80f65dd3f2f22a2a69
MD5 86ef2c1541876318969545fcf9a4ebae
BLAKE2b-256 d31f46a6fb023c5ad33d1654534fbd1ae6efe99a419c17fd3ffd11b1b059727b

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp37-cp37m-manylinux1_i686.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 563.7 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 5d083dc5b7a20c8c017d14631a0e2ccf85017d2df91b71634627809fe31ec93c
MD5 c7323148924dc24345289da9680e08a7
BLAKE2b-256 1894b646cec4fb48c7e7eb3d060e0c8054dfb2d6f77c63306e515a52fcf7e5e7

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 244.8 kB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 51b1beb98d35a6c3202d8b4900ad144cc6ef00345ea3caf4b67ea61f1b5e642b
MD5 e7acb027a25a2f1b96fb57d95b83a0ea
BLAKE2b-256 a1e298be2dc54ee58bef2433c2a1d5c946cb9b74141d48c7e3ec67af81a3dbe3

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 240.7 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 0d3aa259cf090c1d7dca3a19589a3a4022a45438b568234b10da2bfa1987baf5
MD5 f714ae676afd87c0df52e002f06ecd51
BLAKE2b-256 9a7f79583ed96b226c71554883bfc44d53e43417c8bea5283b61d236cf0e0ad4

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp36-cp36m-win32.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 223.4 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 0efc7fc67ef7c398679391fefc5ed4b9cf6b3e4bdaa5e95989e05022bc476985
MD5 9c13b4f6c80d4ae56d06cffd62ae8ced
BLAKE2b-256 cb153bd8f913886f1d5a56e9893c6222a123e3aac51d5d6bc49f64bd5ce74161

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 596.5 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 3ee438975a3dba0f2b3c21ea36c42596adf28895dd22b1ba08074193639d2395
MD5 26d06abd608eb3f13fc37d2d2e3e46aa
BLAKE2b-256 9c021e1bd8cbb474d70b95b013acad580f96e8413cc22ca6e6682a89ed00faf9

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp36-cp36m-manylinux2010_i686.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp36-cp36m-manylinux2010_i686.whl
  • Upload date:
  • Size: 564.1 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp36-cp36m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 9d25856f9761e83b4dad0334321a90ddcd622438f98efb9a6f40289ecd85d867
MD5 10a098c45864eb0763a8bc824876adf0
BLAKE2b-256 5d49d3f9d49d30c14821c8a456e4c9bdb25df65ee89e86ae03d6e10e69901784

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 596.5 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 7e8356ecd55b4634e81dd27bb66715ff2ca5e55596ce88da450a6fb3f6b0da83
MD5 3d1944fd72f62036bdaa1d19a5a8ece9
BLAKE2b-256 7e9314cb6d01bb5bda329ce6835d6a69ef469ca8f516c1ae61181eaf265bd74e

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp36-cp36m-manylinux1_i686.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 564.1 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 38901e42929bc45337e34929b6a136ef0634a6f1e51a1aac6e85efe2c4431306
MD5 a4b206f14bfc4e39666b5fd57baede17
BLAKE2b-256 6c08c38c8a2c685c517ef4d09779072cdcaa50aca0b360a0f191beaabd9a710a

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 246.9 kB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ea3a8a31e7b8d911b193c9c6adbd08dee2f805c0e19acdf4f60a76f4dc103509
MD5 07d50d90889e91cbcebf8695c959ff78
BLAKE2b-256 bc8ae06b5dcca4c4a935c462502f1216d2ef0b14c0fec6f806184c8be5555943

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 238.8 kB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 de596fcfe6ef4fa1e0959c18e5fd0286ac00b0ec454a0652452df71d68ada15a
MD5 cc00936811985be7623b384933527625
BLAKE2b-256 55cdf369983d7b56d6e9695e0a0a92a928fd87fc27c897254f29fdfd428335dd

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp35-cp35m-win32.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 222.0 kB
  • Tags: CPython 3.5m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 bc12f53b37348d84be008e5c889126f175b4f0af6611d57fadea911b61658aef
MD5 84939a6d7c1507b48b2e1023ece0bcbe
BLAKE2b-256 a6a5720a5b7550ccd904c289d4dcfc85b259b97d65e423a1689c924e5d0d464a

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp35-cp35m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp35-cp35m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 589.0 kB
  • Tags: CPython 3.5m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a221b4e669894f11581b3027b4f6c018ad9d3b59c5fb208bd49a70c365416ecb
MD5 8b9164319842e5ac4dca2b218ed37bf9
BLAKE2b-256 f29bcde8cb96ac6f043d499f755111659094eaf0deef37e9750d66ab30771bdf

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp35-cp35m-manylinux2010_i686.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp35-cp35m-manylinux2010_i686.whl
  • Upload date:
  • Size: 557.9 kB
  • Tags: CPython 3.5m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp35-cp35m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 aa4728a3d4c6eb027cc5f82d070006f91fea50ba6f6912df28baa731b6490b58
MD5 c71055a1badd16c6f3c86aefff52d351
BLAKE2b-256 76222f5f58872c3e04f8270ff51f90f5c31d1bbdda26cbeb620e1b488fac2a1e

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 589.0 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 a43cccf3f59309bb85a9541e37db935b4970f5136ac9d539199bbea3bf78cd3b
MD5 ede4cef95feaffa6556bf5742254d57d
BLAKE2b-256 0720ce1ada1643e169a9306ff9892e4bcff76b2971d60c0f4b775e9ea30bfaf9

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp35-cp35m-manylinux1_i686.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp35-cp35m-manylinux1_i686.whl
  • Upload date:
  • Size: 557.9 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 8dd4004b043722cbc446c30c822a10f8945db582b89b7376300053a8e2430f80
MD5 cebf085c116a122fd12a63eb67ef608b
BLAKE2b-256 35e03c043b57b39191701ec8527a8f86be398d8f3ff73a0a488147770d7acca2

See more details on using hashes here.

File details

Details for the file pymartini-0.3.0-cp35-cp35m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: pymartini-0.3.0-cp35-cp35m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 242.6 kB
  • Tags: CPython 3.5m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for pymartini-0.3.0-cp35-cp35m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 41af8e6b1cb374f3e3db03cbfbb25184441258321658a9643fb797fe4a468b1f
MD5 446bbc6af837fc0dbfc631a33ad28333
BLAKE2b-256 885084ed25b20a3cfc371c41497ab0c60e7388ee188c6b5a6d09452ff0856c08

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