Skip to main content

quantized-mesh-encoder

Build Status

A fast Python Quantized Mesh encoder. Encodes a mesh with 100k coordinates and 180k triangles in 20ms. Example viewer.

The Grand Canyon and Walhalla Plateau. The mesh is created using pydelatin or pymartini, encoded using quantized-mesh-encoder, served on-demand using dem-tiler, and rendered with deck.gl.

Overview

Quantized Mesh is a format to encode terrain meshes for efficient client-side terrain rendering. Such files are supported in Cesium and deck.gl.

This library is designed to support performant server-side on-demand terrain mesh generation.

Install

With pip:

pip install quantized-mesh-encoder

or with Conda:

conda install -c conda-forge quantized-mesh-encoder

Using

API

quantized_mesh_encoder.encode

Arguments:

  • f: a writable file-like object in which to write encoded bytes
  • positions: (array[float]): either a 1D Numpy array or a 2D Numpy array of shape (-1, 3) containing 3D positions.
  • indices (array[int]): either a 1D Numpy array or a 2D Numpy array of shape (-1, 3) indicating triples of coordinates from positions to make triangles. For example, if the first three values of indices are 0, 1, 2, then that defines a triangle formed by the first 9 values in positions, three for the first vertex (index 0), three for the second vertex, and three for the third vertex.

Keyword arguments:

  • bounds (List[float], optional): a list of bounds, [minx, miny, maxx, maxy]. By default, inferred as the minimum and maximum values of positions.
  • sphere_method (str, optional): As part of the header information when encoding Quantized Mesh, it's necessary to compute a bounding sphere, which contains all positions of the mesh. sphere_method designates the algorithm to use for creating the bounding sphere. Must be one of 'bounding_box', 'naive', 'ritter' or None. Default is None.
    • 'bounding_box': Finds the bounding box of all positions, then defines the center of the sphere as the center of the bounding box, and defines the radius as the distance back to the corner. This method produces the largest bounding sphere, but is the fastest: roughly 70 µs on my computer.
    • 'naive': Finds the bounding box of all positions, then defines the center of the sphere as the center of the bounding box. It then checks the distance to every other point and defines the radius as the maximum of these distances. This method will produce a slightly smaller bounding sphere than the bounding_box method when points are not in the 3D corners. This is the next fastest at roughly 160 µs on my computer.
    • 'ritter': Implements the Ritter Method for bounding spheres. It first finds the center of the longest span, then checks every point for containment, enlarging the sphere if necessary. This can produce smaller bounding spheres than the naive method, but it does not always, so often both are run, see next option. This is the slowest method, at roughly 300 µs on my computer.
    • None: Runs both the naive and the ritter methods, then returns the smaller of the two. Since this runs both algorithms, it takes around 500 µs on my computer
  • ellipsoid (quantized_mesh_encoder.Ellipsoid, optional): ellipsoid defined by its semi-major a and semi-minor b axes. Default: WGS84 ellipsoid.
  • extensions: list of extensions to encode in quantized mesh object. These must be Extension instances. See Quantized Mesh Extensions.

quantized_mesh_encoder.Ellipsoid

Ellipsoid used for mesh calculations.

Arguments:

  • a (float): semi-major axis
  • b (float): semi-minor axis

quantized_mesh_encoder.WGS84

Default WGS84 ellipsoid. Has a semi-major axis a of 6378137.0 meters and semi-minor axis b of 6356752.3142451793 meters.

Quantized Mesh Extensions

There are a variety of extensions to the Quantized Mesh spec.

quantized_mesh_encoder.VertexNormalsExtension

Implements the Terrain Lighting extension. Per-vertex normals will be generated from your mesh data.

Keyword Arguments:

  • indices: mesh indices
  • positions: mesh positions
  • ellipsoid: instance of Ellipsoid class, default: WGS84 ellipsoid
quantized_mesh_encoder.WaterMaskExtension

Implements the Water Mask extension.

Keyword Arguments:

  • data (Union[np.ndarray, np.uint8, int]): Data for water mask.
quantized_mesh_encoder.MetadataExtension

Implements the Metadata extension.

  • data (Union[Dict, bytes]): Metadata data to encode. If a dictionary, json.dumps will be called to create bytes in UTF-8 encoding.

Examples

Write to file

from quantized_mesh_encoder import encode
with open('output.terrain', 'wb') as f:
    encode(f, positions, indices)

Quantized mesh files are usually saved gzipped. An easy way to create a gzipped file is to use gzip.open:

import gzip
from quantized_mesh_encoder import encode
with gzip.open('output.terrain', 'wb') as f:
    encode(f, positions, indices)

Write to buffer

It's also pretty simple to write to an in-memory buffer instead of a file

from io import BytesIO
from quantized_mesh_encoder import encode
with BytesIO() as bio:
    encode(bio, positions, indices)

Or to gzip the in-memory buffer:

import gzip
from io import BytesIO
with BytesIO() as bio:
    with gzip.open(bio, 'wb') as gzipf:
        encode(gzipf, positions, indices)

Alternate Ellipsoid

By default, the WGS84 ellipsoid is used for all calculations. An alternate ellipsoid may be useful for non-Earth planetary bodies.

from quantized_mesh_encoder import encode, Ellipsoid

# From https://ui.adsabs.harvard.edu/abs/2010EM%26P..106....1A/abstract
mars_ellipsoid = Ellipsoid(3_395_428, 3_377_678)

with open('output.terrain', 'wb') as f:
    encode(f, positions, indices, ellipsoid=mars_ellipsoid)

Quantized Mesh Extensions

from quantized_mesh_encoder import encode, VertexNormalsExtension, MetadataExtension

vertex_normals = VertexNormalsExtension(positions=positions, indices=indices)
metadata = MetadataExtension(data={'hello': 'world'})

with open('output.terrain', 'wb') as f:
    encode(f, positions, indices, extensions=(vertex_normals, metadata))

Generating the mesh

To encode a mesh into a quantized mesh file, you first need a mesh! This project was designed to be used with pydelatin or pymartini, fast elevation heightmap to terrain mesh generators.

import quantized_mesh_encoder
from imageio import imread
from pymartini import decode_ele, Martini, rescale_positions
import mercantile

png = imread(png_path)
terrain = decode_ele(png, 'terrarium')
terrain = terrain.T
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
bounds = mercantile.bounds(mercantile.Tile(x, y, z))

# Rescale positions to WGS84
rescaled = rescale_positions(
    vertices,
    terrain,
    bounds=bounds,
    flip_y=True
)

with BytesIO() as f:
    quantized_mesh_encoder.encode(f, rescaled, triangles)
    f.seek(0)
    return ("OK", "application/vnd.quantized-mesh", f.read())

You can also look at the source of _mesh() in dem-tiler for a working reference.

License

Much of this code is ported or derived from quantized-mesh-tile in some way. quantized-mesh-tile is also released under the MIT license.

Metadata

Release files for quantized-mesh-encoder 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for quantized-mesh-encoder 0.5.0
File Size Uploaded
quantized_mesh_encoder-0.5.0.tar.gz 179.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for quantized-mesh-encoder 0.5.0
File
quantized_mesh_encoder-0.5.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
quantized_mesh_encoder-0.5.0-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
quantized_mesh_encoder-0.5.0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
quantized_mesh_encoder-0.5.0-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
quantized_mesh_encoder-0.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
quantized_mesh_encoder-0.5.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
quantized_mesh_encoder-0.5.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
quantized_mesh_encoder-0.5.0-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
quantized_mesh_encoder-0.5.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
quantized_mesh_encoder-0.5.0-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
quantized_mesh_encoder-0.5.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
quantized_mesh_encoder-0.5.0-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
quantized_mesh_encoder-0.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
quantized_mesh_encoder-0.5.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
quantized_mesh_encoder-0.5.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
quantized_mesh_encoder-0.5.0-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
quantized_mesh_encoder-0.5.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
quantized_mesh_encoder-0.5.0-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
quantized_mesh_encoder-0.5.0-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
quantized_mesh_encoder-0.5.0-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details
quantized_mesh_encoder-0.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
quantized_mesh_encoder-0.5.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
quantized_mesh_encoder-0.5.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
quantized_mesh_encoder-0.5.0-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
quantized_mesh_encoder-0.5.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
quantized_mesh_encoder-0.5.0-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
quantized_mesh_encoder-0.5.0-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
quantized_mesh_encoder-0.5.0-cp310-cp310-musllinux_1_2_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARM64 Details
quantized_mesh_encoder-0.5.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
quantized_mesh_encoder-0.5.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
quantized_mesh_encoder-0.5.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
quantized_mesh_encoder-0.5.0-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
quantized_mesh_encoder-0.5.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
quantized_mesh_encoder-0.5.0-cp39-cp39-win32.whl CPython 3.9 CPython 3.9 Windows x86-32 Details
quantized_mesh_encoder-0.5.0-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details
quantized_mesh_encoder-0.5.0-cp39-cp39-musllinux_1_2_aarch64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ ARM64 Details
quantized_mesh_encoder-0.5.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
quantized_mesh_encoder-0.5.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
quantized_mesh_encoder-0.5.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
quantized_mesh_encoder-0.5.0-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details

Total release size: 18.7 MB

Release files / quantized_mesh_encoder-0.5.0.tar.gz

Download URL quantized_mesh_encoder-0.5.0.tar.gz
Size 179.4 kB
Tags Source
SHA-256 checksum
How to use checksums
8b2e133dde20ae81a727445c28f47f303c2126f3b0915e19f0c8ef88710bef40
BLAKE2b-256 checksum
How to use checksums
70a39a9518d514a7561f2caa37b4004d8ccc1512fb070cc4411bc2c5299ff4c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp313-cp313-win_amd64.whl

Download URL quantized_mesh_encoder-0.5.0-cp313-cp313-win_amd64.whl
Size 251.7 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
4a040eec4f6344cd994fea3ff9217a45e773e379a783484dc4dc34be7480b0df
BLAKE2b-256 checksum
How to use checksums
933189c4da31a5516ed7636be4ee306a3e88eb49d361b35dea614e0b7ef91176
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp313-cp313-win32.whl

Download URL quantized_mesh_encoder-0.5.0-cp313-cp313-win32.whl
Size 239.0 kB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
d724e70663d9c2cc879bbeae1eb633cb30a6975c3a9e37992652d4a02112a08c
BLAKE2b-256 checksum
How to use checksums
351abceba85b4eba9b370936fde1bcd186d96fdc18262ad2de6971fa1fad6cac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL quantized_mesh_encoder-0.5.0-cp313-cp313-musllinux_1_2_x86_64.whl
Size 686.2 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
2faf3ce4ef92d2cefe4b1b3c71bb89f4f1817f624b24fba3cbdb1e12c86ec092
BLAKE2b-256 checksum
How to use checksums
b9b33717f502b558f8501b08788431df709b89c8129f4a905ca3358972bb8ab1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL quantized_mesh_encoder-0.5.0-cp313-cp313-musllinux_1_2_aarch64.whl
Size 666.0 kB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
e120b2222d1470ca75293163dbe2cec133c8c9b39cfb664fd037001bb51c84c5
BLAKE2b-256 checksum
How to use checksums
f4167b57c32a72c9b259c42ba9ba0f95519cf57ff2af6456c0c306be20beb0e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL quantized_mesh_encoder-0.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 684.3 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b7e9c9836b3d55868831cfe96071b1c5246e8fbe79b43788074d7d97d2f19191
BLAKE2b-256 checksum
How to use checksums
5fc7b5adababce5eebb15b742268d6e1d4d33a90486778b9967e58c368a77722
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL quantized_mesh_encoder-0.5.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 673.8 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
e01ebcc62a4e20cb90e0a327e8c1e5586bdbae4a34b9fb28b56cdc06c322a16c
BLAKE2b-256 checksum
How to use checksums
4e12cd8ce250ea25e747a823e30cdadf98b8bcee11bc6a8cd31706bfcb8174c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL quantized_mesh_encoder-0.5.0-cp313-cp313-macosx_11_0_arm64.whl
Size 251.7 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
125a6a00a81c7ab9705f00aabcc4c1d378fe5cdc8fccab55f5f6406ba6a09c92
BLAKE2b-256 checksum
How to use checksums
e9bf8f8bc658d579f44a6b6f892228f8e3158c40ee14be855e0aa33c7d0094bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp313-cp313-macosx_10_13_x86_64.whl

Download URL quantized_mesh_encoder-0.5.0-cp313-cp313-macosx_10_13_x86_64.whl
Size 258.1 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
7927a00b6bb5fa64800f4641afe9519703795458b611d580e9d9f00d7c9013fa
BLAKE2b-256 checksum
How to use checksums
f995f8884d17c5938961f9850ac3a88090e61cc458218089980938bf814aa600
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp312-cp312-win_amd64.whl

Download URL quantized_mesh_encoder-0.5.0-cp312-cp312-win_amd64.whl
Size 251.9 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
b14a33ecc2fc807886804652d208c150fd660c0c5bbaa9bda682f6811ab9769d
BLAKE2b-256 checksum
How to use checksums
042bffb05ea735c97639defe8e132020a4763e58c14b0ff6ea8eb86af006f25b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp312-cp312-win32.whl

Download URL quantized_mesh_encoder-0.5.0-cp312-cp312-win32.whl
Size 239.2 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
0f321e218f353a64fee6a843c6adc6eb04bb0ff91a09b70a88bb4dcb09db4970
BLAKE2b-256 checksum
How to use checksums
aa82a46c55ccab5c855bf1d1321ec756c805373538f7ab8c2d4360e108b23ccd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL quantized_mesh_encoder-0.5.0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 692.0 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
86f297df7406218b03f733414bb431af2d914cd90330b20e10ae222bca1a42a3
BLAKE2b-256 checksum
How to use checksums
d4e69ac0b776202e5b368a7866ff17f31e52a0b1d33d7b16fb94c00f9827761d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL quantized_mesh_encoder-0.5.0-cp312-cp312-musllinux_1_2_aarch64.whl
Size 671.7 kB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
9fcb50cfecc589bb49ad09768969cab203c1cc1de3c17e8f5a24ea5c51e49459
BLAKE2b-256 checksum
How to use checksums
b66839c7867b03fb258dc4d1f9e2567a98bdf540c50bdecaf3122c74412b550a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL quantized_mesh_encoder-0.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 692.5 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c580b7188d4444d2abc8737dbb8b122ec7cf1b1f2824e8b7c703f4f966f900e4
BLAKE2b-256 checksum
How to use checksums
7dd9dc5fa5d478248e655c1e6fa985ff914458da78b18a89d47496fa2ee06564
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL quantized_mesh_encoder-0.5.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 682.0 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
9bdd185cb3e8df7fb7ef7c27086f0661d51e0e84f682c2ae761282db440b19af
BLAKE2b-256 checksum
How to use checksums
8d746ee7d0f92f149961d75b7374e8c25f923894c4bd798db927052e0b435d4d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL quantized_mesh_encoder-0.5.0-cp312-cp312-macosx_11_0_arm64.whl
Size 252.6 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7d99878a9d94b344b7adcd2a2d45a54f3a9ddddc7a66b0bd1c0824c158807192
BLAKE2b-256 checksum
How to use checksums
48a47ea859fe26b973540d37af1e2182781d721d6e9f3de6d563b04388233400
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp312-cp312-macosx_10_13_x86_64.whl

Download URL quantized_mesh_encoder-0.5.0-cp312-cp312-macosx_10_13_x86_64.whl
Size 259.2 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
c464cb5cd52064ef7f87f9b2e64972c4113cba3eeef0381f5929dfaad52f36e9
BLAKE2b-256 checksum
How to use checksums
ffab8813abbdf4039dce39b642d826289298daf60a5cfbceeeb015020fdc2f5b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp311-cp311-win_amd64.whl

Download URL quantized_mesh_encoder-0.5.0-cp311-cp311-win_amd64.whl
Size 251.3 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
150053cc2cfb35f7242b6903b8289c5ad77181d3c87af68554ecc14267514448
BLAKE2b-256 checksum
How to use checksums
68d53f8ba751c1a3d4c960204de9ef876c4fb38a87ca0873c6caccf36a27b352
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp311-cp311-win32.whl

Download URL quantized_mesh_encoder-0.5.0-cp311-cp311-win32.whl
Size 239.2 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
b7a281c0111fbd60479157bfa69793c6edd564a562dbc11eb4ada1c0de7bb249
BLAKE2b-256 checksum
How to use checksums
f3f93c652770f0047cad461236fbb7681a485d37ab748bf7017332337f17f381
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL quantized_mesh_encoder-0.5.0-cp311-cp311-musllinux_1_2_x86_64.whl
Size 696.2 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
7f9d34ed5a04cb5a63e43574d9d7b3d95011eeb9d759448bda6b04729ea13c43
BLAKE2b-256 checksum
How to use checksums
5b34a0fa45f41ea0f00955594d31de6424f13eac7af9783dbe164a629d6fe477
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL quantized_mesh_encoder-0.5.0-cp311-cp311-musllinux_1_2_aarch64.whl
Size 682.9 kB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
90fc7c3e201808fb9abcf3149801c57ad114e9036d40056fbeeba81afa8f8bcf
BLAKE2b-256 checksum
How to use checksums
d75498a03fd588d5d6f05ae43af986c9e15e7e466313f3cc2d9a5ed9000d2d03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL quantized_mesh_encoder-0.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 691.3 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
bba116a350e23e5063122f59d670048184aca8e9ebc53c55b6234efed8140054
BLAKE2b-256 checksum
How to use checksums
6c01290d20cfa91fb9e9299aa6d1d67904e00fce03370820ed07586d27181c8e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL quantized_mesh_encoder-0.5.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 686.4 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
7bdff31bbfc9863ef4affa1d3f33f9943f4fcaf94edb95f5ce7b80c0d0247901
BLAKE2b-256 checksum
How to use checksums
92c07918d76cdda69ace99ef75cb83f25804ecb91cac43d56d3d6c578fe3951f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL quantized_mesh_encoder-0.5.0-cp311-cp311-macosx_11_0_arm64.whl
Size 252.8 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c790f03a0c94c08f852ba3b99ee453a9d0a46d9ba359c5deb2da956af952d194
BLAKE2b-256 checksum
How to use checksums
5b1f6ac2693e892b009d0df86eed53b1c7fc24b6da57a90efdb718a7a343a90b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL quantized_mesh_encoder-0.5.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 258.5 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
8e60f595167d0f803f9eadd63924e6fe33144839d08068fd590789f184f5fc17
BLAKE2b-256 checksum
How to use checksums
f733a01485d64dfcdf17058a9222a38b50452a3dbed49eafb480053e55687d91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp310-cp310-win_amd64.whl

Download URL quantized_mesh_encoder-0.5.0-cp310-cp310-win_amd64.whl
Size 251.6 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
246900747859d7e5c268856469b7fb8c8b59e7ddff86addec0562446e07f2e5e
BLAKE2b-256 checksum
How to use checksums
a9dfb2d217e31a2c95713495182beee731ea5c22c787dc0bf9794ea13ff3152b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp310-cp310-win32.whl

Download URL quantized_mesh_encoder-0.5.0-cp310-cp310-win32.whl
Size 239.6 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
0035ff2b4ca351747084915c6311b8b9c2cedc4be8af2b5593ad32ca276aac12
BLAKE2b-256 checksum
How to use checksums
14a1b77c56fe6f18a3708c8a4d4ea546e6a3622e11ac5b2c4687586530574387
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL quantized_mesh_encoder-0.5.0-cp310-cp310-musllinux_1_2_x86_64.whl
Size 668.6 kB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
8a5c0dac46d20dffeabeb1739037972aed5d8fb00eabb21c17705f680aeae900
BLAKE2b-256 checksum
How to use checksums
8faf7b6e3438f211744b232f7046de62543f925e5c205647703f33699a3ad5c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp310-cp310-musllinux_1_2_aarch64.whl

Download URL quantized_mesh_encoder-0.5.0-cp310-cp310-musllinux_1_2_aarch64.whl
Size 656.7 kB
Tags CPython 3.10 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
0246113c039c9d0a5b8eeadfc83674b3f3ec27c436d609098b591ee34602f82d
BLAKE2b-256 checksum
How to use checksums
47732307f5bcd6b7c992087e679127737328ca7fffce9bdf815cf0a9a1d8c45a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL quantized_mesh_encoder-0.5.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 664.7 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
22978e97cb40fc01867d78dadc501dcf4dd19c0809367d851797f01fcf45e071
BLAKE2b-256 checksum
How to use checksums
a848a8bb1750e43ae6b20d140cd30ec53d43280a5a8283ef2ad361eda748007c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL quantized_mesh_encoder-0.5.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 660.6 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
839de0fd006e79c6e27cb53c50ac46afae79b81786d1dc71570776957a259acf
BLAKE2b-256 checksum
How to use checksums
a68fc5467e538efbad5a14247635ecd722a7d415e4745d9d3c5d3c650f583bf8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL quantized_mesh_encoder-0.5.0-cp310-cp310-macosx_11_0_arm64.whl
Size 253.0 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
49412ce36a9f5314b245eab814f0ac4e6f3284d0061561ce83cd7f36eaf91eb9
BLAKE2b-256 checksum
How to use checksums
3cbc7055496305345eccefe213da13392396ca99ea3f28df369ba6d3a9f00527
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp310-cp310-macosx_10_9_x86_64.whl

Download URL quantized_mesh_encoder-0.5.0-cp310-cp310-macosx_10_9_x86_64.whl
Size 258.4 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
8e6461ec94d067f2cfe25c7eee98ef4ccda3242de7b1c2272f07d698cb64a7d7
BLAKE2b-256 checksum
How to use checksums
f24e0e67f410d7507d121165cdb5089fc677efd687c56da9a62fddbcb4d34d7d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp39-cp39-win_amd64.whl

Download URL quantized_mesh_encoder-0.5.0-cp39-cp39-win_amd64.whl
Size 252.3 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
fc350b12f383fd68727f422df4482fd8580d97ff0f2287953d21ab08f1dc07dd
BLAKE2b-256 checksum
How to use checksums
c885558d756b30211b4af6cc235d1eabfddda59b80f2c1fd60e309f3bbd5bb26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp39-cp39-win32.whl

Download URL quantized_mesh_encoder-0.5.0-cp39-cp39-win32.whl
Size 240.2 kB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
21ab1e99bd1facc0a7b53d7e2d34d566631ab9674fd0deea4d05c9d281de9b05
BLAKE2b-256 checksum
How to use checksums
b93b85126cfa2f856435a8ec8b049f533a2822b506964aaf339970170dd07b4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL quantized_mesh_encoder-0.5.0-cp39-cp39-musllinux_1_2_x86_64.whl
Size 670.6 kB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
da8d485ac244e2e5054837ae993c4ed3a2c0707da38f404fee8e758d688172aa
BLAKE2b-256 checksum
How to use checksums
a1f2bd6ad21f1b4f321108c4d86da8a183302dc192d7bb2a8b55ee47d077ff3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp39-cp39-musllinux_1_2_aarch64.whl

Download URL quantized_mesh_encoder-0.5.0-cp39-cp39-musllinux_1_2_aarch64.whl
Size 659.1 kB
Tags CPython 3.9 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
71d9aa52cb6158b5a3ae8b540da892f89a646e3b7e0698fc6bb000299216ecf4
BLAKE2b-256 checksum
How to use checksums
91e6b5217dbdfe13dddc7b923eece495eea9d0ce7f0a047ca6fc0e5049176150
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL quantized_mesh_encoder-0.5.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 666.2 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9a26660897e910c2d4a9a961ff0e7a4ad09a36012d04e3177663f131bb63e5f7
BLAKE2b-256 checksum
How to use checksums
37fe8850abcb1b091f2ddd28dde315717e2262b1609a5c089c219e747b134521
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL quantized_mesh_encoder-0.5.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 662.9 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
6483c5b58e89109aa651263c7282ad4c18bbcd56f8be5ae22d1588704c5f3f17
BLAKE2b-256 checksum
How to use checksums
4481ed8fff5bdb20b034ed630d60ad2ccdb75e8bc2a54f3279fd425e5403510c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL quantized_mesh_encoder-0.5.0-cp39-cp39-macosx_11_0_arm64.whl
Size 253.6 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6ad2ad8c1140e47b362343c52bf6cd21dbf871ff2d94a2dae0ecbd9d079fbf35
BLAKE2b-256 checksum
How to use checksums
e78e1eae648216967693fe216eed08bf079d400904cc72e28ee715e62fa47c20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / quantized_mesh_encoder-0.5.0-cp39-cp39-macosx_10_9_x86_64.whl

Download URL quantized_mesh_encoder-0.5.0-cp39-cp39-macosx_10_9_x86_64.whl
Size 259.1 kB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
d24ed90a0797b289c5e973fb08d4cd43f5c1acd15da513d85cad2c7310c6bc5d
BLAKE2b-256 checksum
How to use checksums
186de7176b53051b794dc0fef3fa7f45ee304c141d6dcd0c85fbcc28d8c808d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release history Release notifications | RSS feed

This release

0.5.0 This release

41 release files

0.4.3

35 release files

0.4.0

1 release file

0.3.1

22 release files

0.3.0

29 release files

0.2.2

29 release files

0.2.1

19 release files

0.1.0

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page