Skip to main content

Docker Image CI

Computer Graphics C++ (cgcpp)

A universal C++ solution for common needs in computer graphics software.

Supported Environments

  • Python & Boost Versions (Windows):
    • Python 3.9, Boost 1.76.0
    • Python 3.10, Boost 1.80.0
    • Python 3.11, Boost 1.82.0
    • Python 3.11, Boost 1.85.0
    • Python 3.12, Boost 1.85.0
    • Python 3.13, Boost 1.88.0
  • Autodesk Maya (Windows):
    • Maya 2023: Python 3.9, Boost 1.76.0
    • Maya 2024: Python 3.10, Boost 1.80.0
    • Maya 2025: Python 3.11, Boost 1.82.0
    • Maya 2026: Python 3.11, Boost 1.85.0
    • Maya 2027: Python 3.13, Boost 1.88.0
  • SideFX Houdini (Windows):
    • Houdini 19.5: Python 3.9, Boost 1.76.0
    • Houdini 20.0: Python 3.10, Boost 1.80.0
    • Houdini 20.5: Python 3.11, Boost 1.82.0
    • Houdini 21.0: Python 3.11, Boost 1.85.0
    • Houdini 22.0: Python 3.13, Boost 1.88.0

Support for additional platforms and DCC applications may be added in the future.

Features

  • Isolated builds inside a Docker container for a predictable environment
  • Python-C++ integration to call C++ functions from Python
  • Dynamic library reloading (updates libraries on each new call)
  • Python exception handling from C++

Installation

Install in your Windows Python virtual environment:

python -m pip install git+https://github.com/ababak/cgcpp.git

or

pip install cgcpp

Building Examples

mkdir out
python -m cgcpp examples/source_exception --out ./out
python -m cgcpp examples/source_maya --out ./out --maya
python -m cgcpp examples/source_houdini --out ./out --houdini

Ensure you have Maya and Houdini installed in their default locations as specified in CMakeLists.txt

Testing Built Examples

Should throw AttributeError: Some error exception:

python -c 'import cgcpp;cgcpp.call(lib="out/lib_exception", func="call")'

Inside Maya:

import cgcpp
print(cgcpp.call(lib="out/maya_module", func="ls"))

Inside Houdini:

import cgcpp
print(cgcpp.call(lib="out/houdini_module", func="ls"))

Metadata

Release files for cgcpp 1.11.0

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

Built distribution (wheel)

Table of built distributions (wheels) for cgcpp 1.11.0
File Interpreter ABI Platform
cgcpp-1.11.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details

Release files / cgcpp-1.11.0-py3-none-win_amd64.whl

Download URL cgcpp-1.11.0-py3-none-win_amd64.whl
Size 303.4 kB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
1f4bd09ac1c1e54b8e480ad45e5e13bc099ac6476c7ad1e9518535ad554ebf22
BLAKE2b-256 checksum
How to use checksums
3a573b4ccdf0abcffa595becfc147334f7d293791825dfc8d790a48a4d3a9ed7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

1.11.0 This release

1 release file

1.10.0

1 release file

1.9.0

1 release file

1.8.2

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