Skip to main content

Python wrapper for Google's Draco Mesh Compression Library

Project description

PyPI version Build Status

DracoPy

import os
import DracoPy

with open('bunny.drc', 'rb') as draco_file:
  mesh = DracoPy.decode(draco_file.read())

print(f"number of points: {len(mesh.points)}")
print(f"number of faces: {len(mesh.faces)}")
print(f"number of normals: {len(mesh.normals)}")

# Note: If mesh.points is an integer numpy array,
# it will be encoded as an integer attribute. Otherwise,
# it will be encoded as floating point.
binary = DracoPy.encode(mesh.points, mesh.faces)
with open('bunny_test.drc', 'wb') as test_file:
  test_file.write(encoding_test)

# If faces is omitted, DracoPy will encode a point cloud
binary = Dracopy.encode(mesh.points)

# Options for encoding:
binary = Dracopy.encode(
  mesh.points, faces=mesh.faces,
  quantization_bits=14, compression_level=1,
  quantization_range=-1, quantization_origin=None,
  create_metadata=False, preserve_order=False,
  colors=mesh.colors
)

DracoPy is a Python wrapper for Google's Draco mesh compression library.

Installation

Binary wheels are available for users with Python >= 3.6 and pip >= 20.

Installation from source requires Python >= 3.6, pip >= 10, and a C++ compiler that is fully compatible with C++11.

It supports Linux, OS X, and Windows. Numpy is required.

pip install DracoPy

Acknowledgements

We graciously thank The Stanford 3D Scanning Repository for providing the Stanford Bunny test model.

https://graphics.stanford.edu/data/3Dscanrep/

Project details


Download files

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

Source Distribution

DracoPy-1.4.0.tar.gz (159.0 kB view hashes)

Uploaded Source

Built Distributions

DracoPy-1.4.0-cp312-cp312-win_amd64.whl (2.9 MB view hashes)

Uploaded CPython 3.12 Windows x86-64

DracoPy-1.4.0-cp312-cp312-win32.whl (2.1 MB view hashes)

Uploaded CPython 3.12 Windows x86

DracoPy-1.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.6 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

DracoPy-1.4.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (4.8 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

DracoPy-1.4.0-cp312-cp312-macosx_11_0_arm64.whl (2.5 MB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

DracoPy-1.4.0-cp312-cp312-macosx_10_9_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.12 macOS 10.9+ x86-64

DracoPy-1.4.0-cp311-cp311-win_amd64.whl (2.9 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

DracoPy-1.4.0-cp311-cp311-win32.whl (2.1 MB view hashes)

Uploaded CPython 3.11 Windows x86

DracoPy-1.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.6 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

DracoPy-1.4.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (4.8 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

DracoPy-1.4.0-cp311-cp311-macosx_11_0_arm64.whl (2.5 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

DracoPy-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

DracoPy-1.4.0-cp310-cp310-win_amd64.whl (2.9 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

DracoPy-1.4.0-cp310-cp310-win32.whl (2.1 MB view hashes)

Uploaded CPython 3.10 Windows x86

DracoPy-1.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

DracoPy-1.4.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (4.8 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

DracoPy-1.4.0-cp310-cp310-macosx_11_0_arm64.whl (2.5 MB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

DracoPy-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

DracoPy-1.4.0-cp39-cp39-win_amd64.whl (2.9 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

DracoPy-1.4.0-cp39-cp39-win32.whl (2.1 MB view hashes)

Uploaded CPython 3.9 Windows x86

DracoPy-1.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

DracoPy-1.4.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (4.8 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

DracoPy-1.4.0-cp39-cp39-macosx_11_0_arm64.whl (2.5 MB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

DracoPy-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl (2.9 MB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

DracoPy-1.4.0-cp38-cp38-win_amd64.whl (2.9 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

DracoPy-1.4.0-cp38-cp38-win32.whl (2.1 MB view hashes)

Uploaded CPython 3.8 Windows x86

DracoPy-1.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

DracoPy-1.4.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (4.8 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

DracoPy-1.4.0-cp38-cp38-macosx_11_0_arm64.whl (2.5 MB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

DracoPy-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

DracoPy-1.4.0-cp37-cp37m-win_amd64.whl (2.9 MB view hashes)

Uploaded CPython 3.7m Windows x86-64

DracoPy-1.4.0-cp37-cp37m-win32.whl (2.1 MB view hashes)

Uploaded CPython 3.7m Windows x86

DracoPy-1.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view hashes)

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

DracoPy-1.4.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (4.7 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

DracoPy-1.4.0-cp37-cp37m-macosx_10_9_x86_64.whl (2.9 MB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

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