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), where tile_size is usually 256 or 512
  • encoding (str): Either 'mapbox' or 'terrarium', the two main RGB encodings for elevation values
Returns
  • (np.array) Array of shape (tile_size^2) with decoded elevation values
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.2-pp36-pypy36_pp73-win32.whl (379.1 kB view details)

Uploaded PyPy Windows x86

pymartini-0.2.2-pp36-pypy36_pp73-manylinux2010_x86_64.whl (433.6 kB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

pymartini-0.2.2-pp36-pypy36_pp73-macosx_10_9_x86_64.whl (393.8 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

pymartini-0.2.2-cp38-cp38-win_amd64.whl (429.3 kB view details)

Uploaded CPython 3.8 Windows x86-64

pymartini-0.2.2-cp38-cp38-win32.whl (400.4 kB view details)

Uploaded CPython 3.8 Windows x86

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

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

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

Uploaded CPython 3.8

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

Uploaded CPython 3.8

pymartini-0.2.2-cp38-cp38-macosx_10_9_x86_64.whl (431.6 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

pymartini-0.2.2-cp37-cp37m-win_amd64.whl (426.9 kB view details)

Uploaded CPython 3.7m Windows x86-64

pymartini-0.2.2-cp37-cp37m-win32.whl (397.7 kB view details)

Uploaded CPython 3.7m Windows x86

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

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

pymartini-0.2.2-cp37-cp37m-manylinux2010_i686.whl (989.9 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

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

Uploaded CPython 3.7m

pymartini-0.2.2-cp37-cp37m-manylinux1_i686.whl (989.9 kB view details)

Uploaded CPython 3.7m

pymartini-0.2.2-cp37-cp37m-macosx_10_9_x86_64.whl (432.2 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

pymartini-0.2.2-cp36-cp36m-win_amd64.whl (426.8 kB view details)

Uploaded CPython 3.6m Windows x86-64

pymartini-0.2.2-cp36-cp36m-win32.whl (397.7 kB view details)

Uploaded CPython 3.6m Windows x86

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

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

pymartini-0.2.2-cp36-cp36m-manylinux2010_i686.whl (991.2 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ i686

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

Uploaded CPython 3.6m

pymartini-0.2.2-cp36-cp36m-manylinux1_i686.whl (991.2 kB view details)

Uploaded CPython 3.6m

pymartini-0.2.2-cp36-cp36m-macosx_10_9_x86_64.whl (434.1 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

pymartini-0.2.2-cp35-cp35m-win_amd64.whl (424.2 kB view details)

Uploaded CPython 3.5m Windows x86-64

pymartini-0.2.2-cp35-cp35m-win32.whl (395.7 kB view details)

Uploaded CPython 3.5m Windows x86

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

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

pymartini-0.2.2-cp35-cp35m-manylinux2010_i686.whl (981.8 kB view details)

Uploaded CPython 3.5m manylinux: glibc 2.12+ i686

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

Uploaded CPython 3.5m

pymartini-0.2.2-cp35-cp35m-manylinux1_i686.whl (981.8 kB view details)

Uploaded CPython 3.5m

pymartini-0.2.2-cp35-cp35m-macosx_10_9_x86_64.whl (427.9 kB view details)

Uploaded CPython 3.5m macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: pymartini-0.2.2-pp36-pypy36_pp73-win32.whl
  • Upload date:
  • Size: 379.1 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.2-pp36-pypy36_pp73-win32.whl
Algorithm Hash digest
SHA256 e617ba47472b82ff3e17f959d9d84112ddf7721b5441d741f8a1beae4d169c51
MD5 653a9033e69ee5ee1a79c8f227adc7e4
BLAKE2b-256 abeac495f152f2f770768384e28ddc9049bd50a1c7debfd8e2e7e7925ce25692

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-pp36-pypy36_pp73-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 433.6 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.2-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 1d23da880538c1220e39b7afee4ac59217e501a44b997a4283e8a09e7e2338e4
MD5 9b240b0cc750eaf24ab8ff4a45509e8a
BLAKE2b-256 f57368683c1ea9d062538cdfddb41d1c91994fc9f9e33fcd31d650090e051469

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-pp36-pypy36_pp73-manylinux1_x86_64.whl
  • Upload date:
  • Size: 433.6 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.2-pp36-pypy36_pp73-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 a9165dec769956797787d7d04e3d4e9be86576c3cc6a0edf1cf832ff4d7e2903
MD5 da19ae54dc3f97981a5208f83fcb71d4
BLAKE2b-256 3c08566556d37fbf647c3cf6fd809dea75f0a0e7a503eb367517b953ab5425b1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 393.8 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.2-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 722b03d808ebd07a72d29732a0eb8959f2e4d75107432beb3e9e68f71d867c49
MD5 a605305a6e9ccfb04edbef9901206bb5
BLAKE2b-256 8c689c61667f6a9139a93777578a20d86b241b3b346dfd41330ec11b323d3c8a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 429.3 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.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ca0a83ce78390b81a26b4f7822c760a790104b746cbe652da884c59973e38908
MD5 bb82eba6db0e6e4f8ba5f3dc8a41525c
BLAKE2b-256 b0584f8cff73e371bbc1a0fdf2967fd44dfcc627dcf4c5f56e5d90572bea43f2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-cp38-cp38-win32.whl
  • Upload date:
  • Size: 400.4 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.2-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 0853b581edc99295135958d8bbfbffa44233ffe2b4e2a20126158704d3bd3a2c
MD5 7fa4b90553b67ca7447f75eff77596db
BLAKE2b-256 ae7b89d467eb69e9878d00cd856048c37c8a9b2942d2d44b429f6aa31dde9aa9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-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.2-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 dfb38cba530d032e3b189920e995c5e1d2f395a3d8815cff02cad16ae89d4d96
MD5 7ed896a18d3ce6b522ce966c967ba4e7
BLAKE2b-256 61fa6beee4792e7e68ec6412537c4a466de05513a4b4c4c44f96af62ca10f126

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-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.2-cp38-cp38-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 866801a2fb62de0afd43d80787a1f03791ac8f3d8629a615e2f01b2eca2d9fde
MD5 ecc4a36181ff9387fadf19b5ef10bd22
BLAKE2b-256 1133e1dc6fd77bbe8b065eaa860ff2a65e9d07e9f8375b0ebc8deda3b6743c84

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-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.2-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 62caea5f28f9ec2ef75889a9c4d5f19dcd35755a7db2261a79fadc9e1faa9293
MD5 cad892340a148015d4576cde1ce9ab82
BLAKE2b-256 b4e13e2ae1e9919e981033b478991505bc799ff50d17b603781c958017485ca1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-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.2-cp38-cp38-manylinux1_i686.whl
Algorithm Hash digest
SHA256 8d07cc7294cad17ad4e18219d2e197829494d38ff31088542527c05ac6561c85
MD5 e15945cc8c28ad28b889514739d9176b
BLAKE2b-256 3bbe6f5c803947ef3bdc4a01170ac9d6b55d7adfbba0545bff296390e45cd16c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 431.6 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.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3041313dbfdb2274d27722505759107a51a948a58e9027dbcbf3cd54b112f71e
MD5 63be0ac74aef31031ab30dbc084a6772
BLAKE2b-256 6a23591cc1b4139a2e00dab04320aa66f8906024de67fd962db099adc73eab4f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 426.9 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.2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 e00bee389b1ab4e6129c97f3d3bd6199ebd3b00de53f225afed3557d625cef39
MD5 3873d8fc9892731f8b67084905b315f5
BLAKE2b-256 c51b7414c05014cb8e3eab0b4b4cecff1903d41e2141aa0f7d7a9495d58f1773

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 397.7 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.2-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 d5a21d51e085ed66ce52fedd9d764909095eb54e9984da1a2d5c33585dc6d9cb
MD5 79ec2905752fdf78f143d0e04b9796dd
BLAKE2b-256 dca91e28b39d1de38edfcc57424e2adcd3b876c3578c00005c570d403b09cc13

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-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.2-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 35d7eb195d9e526553b32ce8d1e50b80e319a2063a2a2f80c64e828cadae042f
MD5 6fc0e9011a51a329a9cbf00edd7215f4
BLAKE2b-256 59e3c6bb2f167b45503d1820de0534b16c3ccdbd4ac7ad7657db16174276ee8a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-cp37-cp37m-manylinux2010_i686.whl
  • Upload date:
  • Size: 989.9 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.2-cp37-cp37m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 24f7525ff8c63108741b52df0497fa456e02b4b02aa9b56dba6df628f48e556b
MD5 4012604a3533b23db00c9f68d5a9ca65
BLAKE2b-256 c9b26309234e848153d40aae28edfe0cbf17a60f7d44f8bdd825b17da3e6cbdc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-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.2-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 8eac4a04073b1e540387104ff3ccd3b1983fa479b6f0d1513b1c9241f1caf92f
MD5 5dd9df80b0d7318e165dcd158fbe7e3d
BLAKE2b-256 fb4c5dc3117a11f06b924cdad5d68175d4e74569ce4a53539202e8baf023569f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 989.9 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.2-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 7290b22c6b5dd91e4c6d270457ce2aac3d0ada2936a700ae7ae24f200238caa0
MD5 738290efa642ae50f73ade7ac0b3afd5
BLAKE2b-256 5d17d3cb2f7a22652fb10e5bfeafcbd4df632f9fb28092dfc16f27289dd54b7c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 432.2 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.2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d596746cccf799025166c7727fd51b064d2efd1c2587725544f9d02bbba93f0b
MD5 f22e0552df0f926ae47f574d8b1cd16c
BLAKE2b-256 b436f77d50a0a6d47e1f3db37b0553b3fac996f3e4d11b78ee730bf59f9e55cb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 426.8 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.2-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 938fd7fd0fe28f40e71e6c97495682267eededd6c27a47c1983f4bab0540e5a5
MD5 3caaaec43ad3a00ea7b1cf90a3ab9ba7
BLAKE2b-256 e506921f126e17987b6fe7d0622a9f4e976966486381c2b3b06d60d09ee82353

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 397.7 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.2-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 47aed78cccee3b1312ba9e6efea74cf72a5598ebd006a90af027b3cb2b24050a
MD5 9c0dae0c9fc6e5244da0dece797e926d
BLAKE2b-256 4028aa5d4185f1ff92d9a92c91a6663607f0b082c7ed47c1464bff8d9d4c0dc9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-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.2-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 0836d673714377b0229e6da03ceab1b3143d20a84426bb74ebbb3fed53a7ef2f
MD5 d7ed8ac988cbcde13b65d229c53011a1
BLAKE2b-256 e1d4dd821c4e4d58c834b28a0465af3cdffad748cf83001aba60538717545b87

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-cp36-cp36m-manylinux2010_i686.whl
  • Upload date:
  • Size: 991.2 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.2-cp36-cp36m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 3f088b361c81611eb0f6b5041d30b3acaeae68d6bd30663484156fea9c9c48de
MD5 09f1831249e1ebc3958e4c71a650eef2
BLAKE2b-256 547ca72ef0c114b8cf21610a2fe3ba5c0ac52299d272bb2e2f0fd050e86e0b2d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-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.2-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 1babbb6622b01b522ff6acc32ded42fe0add34eec12e5ac49828fa675b5d9f18
MD5 623915ad9b1f68f31d8329838d56eb63
BLAKE2b-256 0b83d5053c9e64e3756ef2f53d56276e9c1dfe5bc1cb08e621721a435a4e9714

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 991.2 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.2-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 8840f04498e21543ce8e6b3f3ed1d3e55e7bf678d8a1e4b784958f254f771c1c
MD5 02d290ffeaf762ad7aa4d12c63f6117f
BLAKE2b-256 e197ea0b0afd64aeb4f27a6a29bc8ca79234fdef250a9bb930a668ed49a8ef39

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 434.1 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.2-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 745ff2ee6523cf86ba9185161fdd7c4bd394c571f6878ebc9e8dc8f3a83c8a69
MD5 95b4b842ece61aa59b855bfbdbfec847
BLAKE2b-256 64401bf4900d4151e141d6cf7cc23650f56adcf118a6eb98780acad16c71947b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 424.2 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.2-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 e3174c094a557155b66ed4cbd4d7b437e096dccf1befb28aec17fae6036370cf
MD5 e3bb4ecc110fa87004a7a3ea53c9e735
BLAKE2b-256 2f6d580552d0a24fa9250fb467663dda49b623451cca81a71f835a22fbf836b3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 395.7 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.2-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 ff5242af54933993724745bb68d8cca746e3410bc6956f53773054c7fcc3a64e
MD5 5dbce6900acb8be30e84a86abec2cae4
BLAKE2b-256 0aeac06623b2c0308f2f752a5e748da6c6c920cc6a829bf236308992ce75cac7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-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.2-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e912f0fe5892e613fdde7c9ce40ff72808e8d466571006b5e707498175555783
MD5 2cd053742ca2ff1987264b14ade88e50
BLAKE2b-256 0f99f76577b3949992cee407c6b7596e3ee066d0117d35d33515e5eb09c7b9f4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-cp35-cp35m-manylinux2010_i686.whl
  • Upload date:
  • Size: 981.8 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.2-cp35-cp35m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 45a39d4b8f10920eee83d5598e00cfb2138770dfb0c5adf44f2217f65d265957
MD5 0c157e451e50b02098619244e946b4f4
BLAKE2b-256 dfb579e648853bd5e702d4344b00f8f1f3e7165e5f7f34475f150828729f5925

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-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.2-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 a7ac6464805adadfad118ca393db281ee103f4d34cc9ffa1a0af4fbdbf997aae
MD5 31d068c88f31d95b2da6d381b50657ac
BLAKE2b-256 388824b28666885e906ebecc163627b77f883e204cea78192ae2833e5369db6b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-cp35-cp35m-manylinux1_i686.whl
  • Upload date:
  • Size: 981.8 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.2-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 6fdc405cd4172963dda27dccf81f8f35145028aa6ebb14cf2bc07a48a4f7dcbf
MD5 f913a153655ecf6b459a25e2dc577358
BLAKE2b-256 edc3b0e4525b8780165f846de89f930ded0569834dd6d0609960dfbc4206943f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymartini-0.2.2-cp35-cp35m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 427.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.2-cp35-cp35m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e93ffd4fcce111a4060db3274656edf945c10116fc4bca866429d02f9114227e
MD5 727e46e41bfa94a6d91ea2935e7158aa
BLAKE2b-256 d90db5b273c73f3e112c0075601df5066a9ca3317372b30dafcc176587a61617

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