pycollada is a Python library for reading, writing, and creating COLLADA (COLLAborative Design Activity) documents, an interchange file format for interactive 3D applications. It allows users to load a COLLADA file and interact with it as a Python object, supporting creation from scratch and in-place editing. The current version is 0.9.3, released on January 24, 2026, with a fairly active release cadence addressing compatibility and performance improvements.
pip install pycolladaVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to create a simple COLLADA document containing a single red triangle and then save it. It also shows how to load an existing COLLADA file and access its basic properties. Requires numpy to be installed.
Ensure you are using a supported Python version. For pycollada 0.9.3, Python 3.14+ is supported, and for 0.8+, Python 3.8+ (up to 3.12 for 0.8) is required. Python 3.9 is not supported by 0.9.3.
Always explicitly install `numpy` alongside `pycollada` (`pip install pycollada numpy`). If encountering issues with NumPy versions, ensure you have the latest `pycollada` (0.9.2 or newer for NumPy 2.x compatibility).
Upgrade to pycollada 0.8 or newer. If you are unable to upgrade and dealing with large XML, you might need to manually configure `lxml` parsing options if pycollada exposes them, or consider pre-processing the DAE file.
To ignore specific errors and attempt to continue loading, pass a list of exception types to the `ignore` parameter of the `Collada` constructor: `mesh = Collada('file.dae', ignore=[DaeUnsupportedError, DaeBrokenRefError])`. Any errors encountered will be available in `Collada.errors`.For optimal performance and to avoid potential parsing quirks, ensure `lxml` is installed (`pip install lxml`).
Install the library using pip: `pip install pycollada`
When loading the COLLADA document, you can choose to ignore unsupported features: `from collada import Collada, DaeUnsupportedError, DaeBrokenRefError; mesh = Collada('file.dae', ignore=[DaeUnsupportedError, DaeBrokenRefError])`. Alternatively, ensure the .dae file conforms to a COLLADA specification version fully supported by pycollada.Validate the XML syntax of the .dae file using an XML validator. If the issue is related to namespaces (e.g., 'unbound prefix'), ensure all prefixes used in the XML tags are correctly declared with a corresponding namespace URI. Manual inspection and correction of the .dae file might be necessary.