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.12, 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

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.8.2-py3-none-win_amd64.whl (241.8 kB view details)

Uploaded Python 3Windows x86-64

File details

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

File metadata

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

File hashes

Hashes for cgcpp-1.8.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 3b502ac313bc0f3f7712d8b4a9136219ea08fdfd2b93e5e526583fa69c2842e5
MD5 4a2fceca6a97a611965b14ba8110120a
BLAKE2b-256 c2c3db99779cac7050e516142aaeb64e7fd2978ebf643b82a114f99a632ea80d

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