Skip to main content

CG C++ Support module

Project description

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.85.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
  • 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

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"))

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cgcpp-1.9.0-py3-none-win_amd64.whl (303.4 kB view details)

Uploaded Python 3Windows x86-64

File details

Details for the file cgcpp-1.9.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: cgcpp-1.9.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 303.4 kB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cgcpp-1.9.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 414ad868f4862ea785f55f0babfd761f0550b5c5c492c83b3b441fc41ff2b355
MD5 a18678a1b0b31498e99bc23546a8b796
BLAKE2b-256 6540d6d32867ce66fe1e19eed27e8b737ef6b45ee1056a8e383780e10ff020c2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page