comfy-angle

Google's ANGLE graphics libraries packaged as ready-to-use Python wheels for every desktop platform.

Library
PyPI
v0.1.0
0stars
BSD 3-Clause License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
31/100Needs Attention
Development Activity52
Maintenance44
Community4
Maturity24
Momentum0

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
60/100Good
Architecture55
Code Quality60
Innovation70
Learning Curve90

comfy-angle bundles Google’s ANGLE libraries (libEGL and libGLESv2) as prebuilt, redistributable Python wheels extracted from official Electron releases. It ships native binaries for Windows (x64), Linux (x64 and arm64), and macOS (arm64) so applications that need an OpenGL ES / EGL implementation no longer have to build ANGLE from source or vendor the binaries by hand.

At runtime the package does nothing more than resolve the correct platform-specific library paths, exposing a three-function API that returns the directory and the full paths to libEGL and libGLESv2. This makes it a lightweight dependency for tools that embed a rendering backend and want a dependable, pip-installable source of ANGLE binaries.

What You Get

  • Prebuilt libEGL and libGLESv2 binaries for Windows x64, Linux x64/arm64, and macOS arm64
  • A three-function Python API to resolve the library directory and individual library paths
  • Binaries extracted from official Electron releases, so versions track a known-good upstream
  • A source build toolchain (download and build scripts) for producing wheels yourself

Common Use Cases

  • Supplying an ANGLE OpenGL ES backend to a desktop or GUI application via pip
  • Avoiding manual vendoring or from-source compilation of ANGLE binaries
  • Pinning a reproducible ANGLE version tied to a specific Electron release

Under The Hood

Architecture

The importable package (comfy_angle/init.py) is a thin resolver: get_lib_dir returns the bundled libs directory relative to the module, while get_egl_path and get_glesv2_path branch on sys.platform to return the correct libEGL/libGLESv2 filename (.dll, .dylib, or .so). All binaries are shipped as package data. The heavy lifting happens at build time, not runtime: scripts/download.js pulls ANGLE binaries from an Electron release and scripts/build.py assembles platform-specific wheels.

Tech Stack

A pure-Python distribution targeting Python >=3.8, built with the setuptools/wheel backend declared in pyproject.toml. It has no runtime Python dependencies. The build tooling mixes a Node.js download script with a Python build script, and platform binaries are declared as package_data.

Code Quality

The runtime module is small, clean, and self-documenting, with per-function docstrings, an explicit all, and straightforward platform branching. There is no automated test suite in the repository, which is a reasonable tradeoff given the package is essentially a binary redistribution with a trivial lookup surface.

API Design

The public API is about as small as it can be: three well-named functions that return paths, documented directly in the README with install and usage snippets. There is effectively no boilerplate to get started, giving it a very low learning curve.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search