skillfed

DracoPy

Python wrapper for Google's Draco Mesh Compression Library

dracopy v2.0.0 304.8K downloads/30d#7,802 on PyPI120
Permissive license Apache-2.0 Active released

What it is and what it does

DracoPy wraps Google's Draco mesh compression library to compress and decompress 3D mesh geometry in Python. It reads and writes Draco-encoded files (.drc), supporting both triangle meshes and point clouds. The library lets you control compression trade-offs through quantization bits, compression level, and quantization range, making it useful for applications that need to reduce 3D geometry file sizes while managing precision loss.

The package ships with prebuilt wheels for modern Python versions on major platforms, though source builds require a C++11 compiler. It has no runtime dependencies beyond numpy and is actively maintained with a stable API.

Use it for:

  • Compress 3D mesh models for storage or network transmission in graphics and CAD applications.
  • Decode Draco-compressed geometry in web-based 3D viewers or game engines that use compressed assets.
  • Reduce file sizes of point cloud datasets from 3D scanning or LiDAR capture.
  • Batch-process mesh files with tunable quantization to balance compression ratio and geometric fidelity.
  • Integrate mesh compression into data pipelines for 3D reconstruction or photogrammetry workflows.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

DracoPy is a Python wrapper for Google's Draco mesh compression library that encodes and decodes 3D mesh data with optional quantization and compression.

Yes. DracoPy is a stable, actively maintained wrapper around a widely-used compression standard with no security vulnerabilities, permissive licensing, and prebuilt wheels that minimize install friction. Install it if you need to compress or decompress 3D mesh data; the medium friction is offset by broad platform support and a straightforward API.

Install

dracopy on PyPI

pip

pip install dracopy

uv

uv add dracopy

poetry

poetry add dracopy

Installing DracoPy

Before you install

Medium install friction due to compiled C++ components, but prebuilt wheels are available for Python 3.10–3.13 on macOS, Linux, and Windows. Repository is actively maintained with recent commits.

License in practice

Licensed under Apache-2.0 (permissive), allowing commercial and private use with minimal restrictions.

Quickstart

pip install DracoPy

import DracoPy

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

binary = DracoPy.encode(mesh.points, mesh.faces, quantization_bits=14)

Requires numpy; source builds need a C++11-compatible compiler.

Verify before relying

  • Whether numpy is automatically installed as a dependency or must be installed separately.
  • Performance characteristics (compression ratio, encode/decode speed) for typical mesh sizes.
  • Support status for Python 3.14 (listed in classifiers but not in wheel evidence).

Package facts

License Apache-2.0 (permissive)
Python support not specified
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 276 days since the last release
Last repo commit
First released
Downloads 304,758/month — #7,802 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: dracopy-2.0.0-cp310-cp310-macosx_10_9_x86_64.whl; dracopy-2.0.0-cp310-cp310-macosx_11_0_arm64.whl; dracopy-2.0.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; dracopy-2.0.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; dracopy-2.0.0-cp310-cp310-win32.whl; dracopy-2.0.0-cp310-cp310-win_amd64.whl; dracopy-2.0.0-cp311-cp311-macosx_10_9_x86_64.whl; dracopy-2.0.0-cp311-cp311-macosx_11_0_arm64.whl; dracopy-2.0.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; dracopy-2.0.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; dracopy-2.0.0-cp311-cp311-win32.whl; dracopy-2.0.0-cp311-cp311-win_amd64.whl; dracopy-2.0.0-cp312-cp312-macosx_10_13_x86_64.whl; dracopy-2.0.0-cp312-cp312-macosx_11_0_arm64.whl; dracopy-2.0.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; dracopy-2.0.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; dracopy-2.0.0-cp312-cp312-win32.whl; dracopy-2.0.0-cp312-cp312-win_amd64.whl; dracopy-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl; dracopy-2.0.0-cp313-cp313-macosx_11_0_arm64.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersOperating System :: MacOSOperating System :: Microsoft :: Windows :: Windows 10Operating System :: POSIXProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Scientific/EngineeringTopic :: Utilities

Tags

mesh compression pythondraco 3d encoding decodingpoint cloud compression3d geometry compressionmesh quantizationgoogle draco wrapper3d mesh encoding
3d-graphicscompressionmesh-processing

More Scientific/Engineering packages