Install & Compatibility
Where this runs
tested against v2.15.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 1.494s · 265.7MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 9.6s · import 1.426s · 256MB
267MB installed
● package 267MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Box
✓ from compas.geometry import Box
✗ from compas.datastructures import Box
Box is a geometry primitive, not a datastructure.
Network
✓ from compas.datastructures import Network
✗ from compas import Network
Network is in compas.datastructures.
trimesh_remesh
✓ from compas.geometry import trimesh_remesh
✗ from compas.topology import trimesh_remesh
Function moved to compas.geometry in recent versions.
Creates a 3D box and visualizes it using COMPAS View2.
from compas.geometry import Box
from compas_view2.app import App
box = Box(1, 2, 3)
viewer = App()
viewer.add(box)
viewer.show()
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'compas_view2'
Missing optional viewer package.
fixpip install compas_view2
ImportError: cannot import name 'Box' from 'compas.datastructures'
Incorrect import path for Box.
fixfrom compas.geometry import Box
AttributeError: 'Box' object has no attribute 'xy'
Outdated attribute access pattern.
fixUse box.x, box.y, box.z instead of box.xy.
Upgrade
Version history
2.15.1latest on PyPI · released Mar 19, 2026
Audit
Dependencies
numpyrequiredCore numeric and array operations.
scipyoptionalAdvanced algorithms for optimization, geometry, and statistics.
matplotliboptionalVisualization and plotting.
compas_view2optionalInteractive 3D viewer (separate package).