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 of the form [x1, y1, z1, x2, y2, z2, ...].

Arguments
  • vertices: (np.array) vertices output from Martini
  • terrain: (np.array) array of elevations
  • tile_size: (int) Original array size. Used to select the right values from the terrain array.
  • bounds: (List[float], default None) linearly rescale position values to this extent, expected to be [minx, miny, maxx, maxy]. If not provided, rescales to [0, 0, tile_size, tile_size].
  • 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.
Returns
  • (np.array): Array with positions rescaled and including elevations
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.2.3-pp36-pypy36_pp73-win32.whl (379.7 kB view details)

Uploaded PyPy Windows x86

pymartini-0.2.3-pp36-pypy36_pp73-manylinux2010_x86_64.whl (434.2 kB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

pymartini-0.2.3-pp36-pypy36_pp73-macosx_10_9_x86_64.whl (394.7 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

pymartini-0.2.3-cp38-cp38-win_amd64.whl (430.0 kB view details)

Uploaded CPython 3.8 Windows x86-64

pymartini-0.2.3-cp38-cp38-win32.whl (401.0 kB view details)

Uploaded CPython 3.8 Windows x86

pymartini-0.2.3-cp38-cp38-manylinux2010_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

pymartini-0.2.3-cp38-cp38-manylinux2010_i686.whl (1.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

pymartini-0.2.3-cp38-cp38-manylinux1_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8

pymartini-0.2.3-cp38-cp38-manylinux1_i686.whl (1.1 MB view details)

Uploaded CPython 3.8

pymartini-0.2.3-cp38-cp38-macosx_10_9_x86_64.whl (432.5 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

pymartini-0.2.3-cp37-cp37m-win_amd64.whl (427.5 kB view details)

Uploaded CPython 3.7m Windows x86-64

pymartini-0.2.3-cp37-cp37m-win32.whl (398.3 kB view details)

Uploaded CPython 3.7m Windows x86

pymartini-0.2.3-cp37-cp37m-manylinux2010_x86_64.whl (1.0 MB view details)

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

pymartini-0.2.3-cp37-cp37m-manylinux2010_i686.whl (990.1 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

pymartini-0.2.3-cp37-cp37m-manylinux1_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.7m

pymartini-0.2.3-cp37-cp37m-manylinux1_i686.whl (990.1 kB view details)

Uploaded CPython 3.7m

pymartini-0.2.3-cp37-cp37m-macosx_10_9_x86_64.whl (433.0 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

pymartini-0.2.3-cp36-cp36m-win_amd64.whl (427.5 kB view details)

Uploaded CPython 3.6m Windows x86-64

pymartini-0.2.3-cp36-cp36m-win32.whl (398.3 kB view details)

Uploaded CPython 3.6m Windows x86

pymartini-0.2.3-cp36-cp36m-manylinux2010_x86_64.whl (1.0 MB view details)

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

pymartini-0.2.3-cp36-cp36m-manylinux2010_i686.whl (990.4 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ i686

pymartini-0.2.3-cp36-cp36m-manylinux1_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.6m

pymartini-0.2.3-cp36-cp36m-manylinux1_i686.whl (990.4 kB view details)

Uploaded CPython 3.6m

pymartini-0.2.3-cp36-cp36m-macosx_10_9_x86_64.whl (435.0 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

pymartini-0.2.3-cp35-cp35m-win_amd64.whl (424.9 kB view details)

Uploaded CPython 3.5m Windows x86-64

pymartini-0.2.3-cp35-cp35m-win32.whl (396.3 kB view details)

Uploaded CPython 3.5m Windows x86

pymartini-0.2.3-cp35-cp35m-manylinux2010_x86_64.whl (1.0 MB view details)

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

pymartini-0.2.3-cp35-cp35m-manylinux2010_i686.whl (981.2 kB view details)

Uploaded CPython 3.5m manylinux: glibc 2.12+ i686

pymartini-0.2.3-cp35-cp35m-manylinux1_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.5m

pymartini-0.2.3-cp35-cp35m-manylinux1_i686.whl (981.2 kB view details)

Uploaded CPython 3.5m

pymartini-0.2.3-cp35-cp35m-macosx_10_9_x86_64.whl (428.9 kB view details)

Uploaded CPython 3.5m macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: pymartini-0.2.3-pp36-pypy36_pp73-win32.whl
  • Upload date:
  • Size: 379.7 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-pp36-pypy36_pp73-win32.whl
Algorithm Hash digest
SHA256 306bf4bfdd985a671c4e61b188c3a4ab4e5ace18fce5808f093531fd672837eb
MD5 94efe68c92edbbc4f10540f68c773dd3
BLAKE2b-256 bc7e5ad22dda825befe0630bf442722f93061d642e05bcb37d396b81d1fc200d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-pp36-pypy36_pp73-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 434.2 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 acc4027cf008dbfeb04fd5f4480ccd446e42f194c9a6e78badd93522d93c2fe9
MD5 f253e489739c4e0c3a6103c99866d30b
BLAKE2b-256 ba63a5ac00cf89f363219dac776b5d80b56f688d5de4d7867a0cf86eb2895fb0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-pp36-pypy36_pp73-manylinux1_x86_64.whl
  • Upload date:
  • Size: 434.2 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-pp36-pypy36_pp73-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 6583921a04646dd98181fd2f8567b7e98f3dbe98e7e7f0fdd50758d6618fa482
MD5 e9c8a25919b94cc621b2daef020eecce
BLAKE2b-256 0bd5b545b00ff8e68a893539903e1a334e3a2f000de544693b97f1a99332bc52

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 394.7 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 04824b0f284e98edb1636916dde33ae314946ac23eb004199359b09414bf9357
MD5 b0b3177c23cdfdf9dbd9c614eccd220e
BLAKE2b-256 d201b99baaa21a4a3767c507b4a4807c85e67bfc9f8df3c4f21783ce8778d5a4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 430.0 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 e5a5c9fed299d40897f36a91d2b7c81fa187abe89a85191c4472feb8d8acf35e
MD5 3db5a44d6554880b1140fece93828042
BLAKE2b-256 c7cc4477fdff682e49d5e66fe9e85f77d4ac776d44fc83ce31d81342e74b0f4a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp38-cp38-win32.whl
  • Upload date:
  • Size: 401.0 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 619c799da74294d835a6bc1156f73f92d5f48e0a863b38428321ba1ca5e6f642
MD5 8fa9c378ea3d58ca92db1649b3d29a97
BLAKE2b-256 c1b9c9bd8d3a881cfb2f77d8985b760c423f233142f1ab014e16a9f96c0516bc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 25273d3b9ce8c1b69a743ff5ededddfbd2e5369cd38624f01dcf316eaee263ec
MD5 dc1802aaa07f8ee215cad50e77b4adf6
BLAKE2b-256 ddf7995f89cc725274161cb3d2e7afba6d079482e18500c722e001ace4b884bb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp38-cp38-manylinux2010_i686.whl
  • Upload date:
  • Size: 1.1 MB
  • 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp38-cp38-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 eb2f229c1debf02bb057e1d60e4c6682bd7022fc94c645da5e2047b86949af8c
MD5 5230606d60028ed79ab64ffbad3c73b0
BLAKE2b-256 2fe0178452b449db5e3d2dcc0954b4ae6eae3ca2f4ac523969effc2902129d10

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c45d2c4b87c0e0c1c478445e15bd384134c108d0d8004202c25543863ebd4494
MD5 d2c6709c8e46305eeae70825d447452a
BLAKE2b-256 25f09a3444daf7eed120803a570096c152048f4c23d209b8cd4ea52c778eac54

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp38-cp38-manylinux1_i686.whl
  • Upload date:
  • Size: 1.1 MB
  • 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp38-cp38-manylinux1_i686.whl
Algorithm Hash digest
SHA256 e4b72a25ff18ffe58ecfe01a96d0a279a2d6390654ed021f25b96ac3dc2b8ba4
MD5 8502d7926645295a5eb409e2e1d58732
BLAKE2b-256 a087a5aa89d618bb5f060e8be509ac08ae2cf0486e959d81ec6d01e9fcfb5b55

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 432.5 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d6cac90c21038cefee5658481c614cf8745e972c1e889c5b85387dba4175ddde
MD5 cc07dde0ba638db061948ecad0b30d79
BLAKE2b-256 e7c070da71bfdd07d6e537091dff3748adaaeb6041288b5cde31af7d48bbb603

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 427.5 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 646642a81f2ba9f9ec590bb1112896c6902aa790a34a372af21b740edf681a7d
MD5 274c519dabd5f8ffa7db377c1ec9e471
BLAKE2b-256 d10b167a38f0650b9028a9c34ef84d32b1b921b4805fadb07695a211cdd99c23

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 398.3 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 89e51e67458d90b3fab146083b991febd480f7020deecc748ca9c957a74dc97f
MD5 62b1158af3d43a587273078042bcdbc5
BLAKE2b-256 bc4191617c72b3b51b58452770ff0a7508d926cde1246bc0a29f610c5ce7a12d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 1.0 MB
  • 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 13fcca82d1c74804297978e21d3dc7a9259ed0fbe8e26feea2557bebea78c304
MD5 b14b1a913eafc40f741a24e9d78b2a33
BLAKE2b-256 eb12b1955fc8f69823c5691957ce6c06b7c5b468c45cfdacfc6edc87842e941f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp37-cp37m-manylinux2010_i686.whl
  • Upload date:
  • Size: 990.1 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp37-cp37m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 12fff47b63192a64c37b365930ee9938c4b68ea670bd7f2fae0559c09e540664
MD5 e5ae6494494c5d95cfbda44b64f346a2
BLAKE2b-256 925b6f26500064a6d623d400488af9b7285b45087e4bab879096b2d645043194

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.0 MB
  • 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 55a31dd626bc10dbd884b08a0858abb31bc78dac2025235f2b1436c0d9414103
MD5 e288737b17ee25cdae4766f053e328b5
BLAKE2b-256 d4f61e93cdd73974309ed656a957d15d05f68270363110b47c8ad1dece2a9e09

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 990.1 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 725f4878aa81c7f46add2399156483f79b7310516cf59963fe2964daf332ec49
MD5 769b373764f9b40b30b0c8e38bb2b72a
BLAKE2b-256 19974341aa7ccf4a57747f8a52d935d6d73a9ad32302bd3a8e57b6ba48416408

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 433.0 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 862a02001fb94e8ebb992965aad5753437b8b277517e3cf4174b333163f653fa
MD5 9c83aa7b5aeab8e4a2dd83ffe8cbefd6
BLAKE2b-256 563535faf6ea64c591a83fd526773d13fa0330c6b9fb9b3dcfe4090be2670666

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 427.5 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 b4e9522d2493a95c027246ace861f96c76df9a69398f7f9d696800e2e636f230
MD5 56c9a30b445037cd9f6742b7fb7e0cc0
BLAKE2b-256 41e3b0ef112c0e3cb0549b26ed53ce0b6a7b57da53c97025d04dee1933a1e336

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 398.3 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 05f5a974805895427d926dcd92e124976ff9cd3a814c2a2d4f207acd7570fa6f
MD5 e04226266d3df8cbf0710205d05db7e8
BLAKE2b-256 357b05838961707d7a8e5bc47bbf6c518648c28f5b2e50b9a77a3b96dd546b4e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 1.0 MB
  • 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 bf3b1a395045499b73742eaa683997a5f5b211c76c844a2ff7cc3e7cc3c4b544
MD5 14309ce739211006bde518bb446db818
BLAKE2b-256 cb8c2e5cd62f201f88aa99130da338c00653b558fc2cd01d255799992e09f498

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp36-cp36m-manylinux2010_i686.whl
  • Upload date:
  • Size: 990.4 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp36-cp36m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 d5ef748e06155435f7b0a6308a4f6d67d0558f81e82ec95bbfb92e64e62a33b1
MD5 ce3bd64ee4901471955dbee6fdcf33ef
BLAKE2b-256 19352a1670c60ac62115127da0d52aeaf237675df42e64144871186058193ead

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.0 MB
  • 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 d6a713f109446a70c3b16ae7b40bd358ba385fc69183c87fda67336e19450454
MD5 7aee9de68a3c8d0b1227b2ded38ee588
BLAKE2b-256 9a9bdea4be8f194c07ba28cb68455afbf3519668787fe5c8cbbb2dffc8b43cf0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 990.4 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 8f73a60e38d74dd0f61e205145018d2a5be8278c9b53e1dadfbfc7e5bfec45e3
MD5 43bec74e46401638738aea21708879ad
BLAKE2b-256 123d38a27b93ce034d45581aade8a3abe02f52297f20f2765af4265fc7355ea0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 435.0 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 110693d238bbb7d88ee95be52f8c442b9e97afceb154e8c052a992d7a1f23ba7
MD5 780b50e030057f9430543f12aca0d3b2
BLAKE2b-256 9ad235bbb3b92dc5a39d007e30cf13f4084bfca09600ee7bff90c71fccc3b318

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 424.9 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 09f8aa988f2d1c91188921e3c229562b11262731d27a68c5a51144e9ee7de9f4
MD5 8ab23a5481b3c7b49fb3044e2d5eeecb
BLAKE2b-256 c3585934611933a091b7e00c8863e87619bc8cc903aff3253e54cbebc492f31b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 396.3 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 bd3ff1ba3984478e933e946c25de57f5c1c5d14ce5f165b2cd94f9919b77aa20
MD5 071a8487dac9d5552cfed207ebee3067
BLAKE2b-256 cb5f0cd890103bb09f898f03b2230783a08cbc2fdf720925392ebd9d26e63b0a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp35-cp35m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 1.0 MB
  • 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 ef016d9fdf8c5f1027c4269c9cda9b89f7b9b4bbdc6348702a897a29e5692906
MD5 935a11dc1b901475108e42c2f49b9a97
BLAKE2b-256 9815a0fbd3bd2f2bbc4f697587f5201c906b28cf8318b6978617145548ba5992

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp35-cp35m-manylinux2010_i686.whl
  • Upload date:
  • Size: 981.2 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp35-cp35m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 6f178c92a2f11cc1852008831b89377c46e61fd146efd5b1646a5eb9c1397f42
MD5 480e27d9e5ced01a2a5aa3118fdce4c1
BLAKE2b-256 72daa702661a1da0865827245ff4c85f46725a9379afa188474ef4447bab47c7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.0 MB
  • 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 41e2b719240ffa978756b71d73222b3958df455824df2f28d2cb274281e26346
MD5 ffeb28581687fdce982f10d82f13c087
BLAKE2b-256 5dd92a5e46784374894d388eeeb1693dd9476fddb415410416247017d4fb29cc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp35-cp35m-manylinux1_i686.whl
  • Upload date:
  • Size: 981.2 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 ed1fad23e5ab68b372d48bcbd02a1070d770cfbb5188f9f319262f5745079a3c
MD5 852d3d8870173269476f0d0842f170d9
BLAKE2b-256 b3367437c106cb4ee4b36558f42e51c24245b99c36d6805732ef05474b72143f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.3-cp35-cp35m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 428.9 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.0 CPython/3.7.7

File hashes

Hashes for pymartini-0.2.3-cp35-cp35m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4f10a65c39dc93e72dfb1ef0d81b31e7be572696c87551428c63fbfe2bc894ed
MD5 7d689957a09899e663978b0f17167fd5
BLAKE2b-256 af8ead24110332cee821ec18c32bb8b62f1399c896f7d5345f56838ae95957e3

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