Open-source computational infrastructure for Architecture, Engineering, Fabrication, and Construction
Build reusable computational workflows for architecture, engineering, fabrication, and construction.
COMPAS is a Python-based framework for computational research and collaboration in the built environment.
It gives researchers, engineers, designers, and fabricators a shared foundation for developing computational methods independently of any particular CAD system—and for turning those methods into reusable, interoperable tools.
With COMPAS, you can:
- build geometric and topological models with extensible data structures;
- move structured data reliably between scripts, applications, and collaborators;
- use the same computational logic in Python, Rhino, Grasshopper, and Blender;
- connect to high-performance libraries such as CGAL, libigl, OpenCASCADE, and Gmsh;
- develop specialist workflows for robotics, fabrication, structural engineering, BIM, FEA, form finding, timber construction, and more;
- publish research as documented, tested, and reusable open-source software.
COMPAS is an ecosystem of focused packages built around a common data model and plugin architecture.
| Area | Packages and tools |
|---|---|
| Foundation | compas |
| Geometry processing | compas_cgal, compas_libigl, compas_occ, compas_gmsh |
| Visualisation | compas_viewer, compas_threejs, compas_notebook |
| CAD integration | Rhino, Grasshopper, and Blender integrations provided by the core framework |
| Domain workflows | compas_fab, compas_ifc, compas_fea2, compas_slicer, and many community extensions |
| Developer tooling | compas_package_template, compas-actions |
Explore the packages, dependencies, maintenance status, and development roadmap in COMPAS Mission Control.
Install the core library with conda:
conda create -n compas -c conda-forge compas
conda activate compas
python -m compasOr install it with pip:
pip install compasContinue with the user guide to learn about geometry, data structures, visualization, and working in CAD environments.
COMPAS is developed in the open by researchers, practitioners, and contributors across the AEC community.
- Ask questions and share projects on the COMPAS Forum.
- Report bugs or propose features in the relevant repository.
- Read the contribution guide.
- Use the package template to create an extension.
- Learn about the COMPAS Association and support the long-term development of the framework.
Whether you are testing a research idea, building a design tool, programming a robot, or developing production software for AEC: you are welcome here.