Python in Architecture (as in actual buildings)
Episode Deep Dive
Guest Introduction and Background
Gui Talarico is an architect turned software developer who found Python to be a superpower in the architecture, engineering, and construction (AEC) world. He spent several years in architectural design and later at WeWork, where he focused on automating workflows in Revit, coordinating data between design teams, and building projects such as PyAirtable. Gui’s unique blend of architectural expertise and software development has given him an insider’s perspective on where the AEC industry can benefit from Python.
What to Know If You're New to Python
If you’re just getting started with Python and want to follow along with the tools and techniques mentioned in this episode, here are a few tips:
- Familiarize yourself with Python’s simple syntax—this makes jumping into automation much easier, especially for repetitive tasks.
- Understand the basics of libraries and package management (e.g.,
pip
orvenv
) to install relevant libraries likepyairtable
orpyRevit
integrations. - Keep an eye on how Python can integrate with other technologies (e.g., .NET, C#) via projects such as IronPython and pythonnet, since bridging ecosystems is a big theme here.
Key Points and Takeaways
Leveraging Python in Architecture, Engineering, and Construction (AEC)
Python's flexibility helps automate repetitive tasks, manage complex data flows, and enable custom workflows in a field traditionally dominated by point-and-click tools. By learning Python, AEC professionals can centralize and streamline many design and coordination processes.
- Tools & Links:
- AEC.works (Gui’s site listing AEC tech companies)
- Autodesk Revit
- Tools & Links:
Revit + Python Automation
Revit has a .NET-based API, making it traditionally accessible via C#. However, projects such as PyRevit and pythonnet let you write Python scripts to automate everything from aligning room tags to generating custom data extracts, all without recompiling C# add-ins.
- Tools & Links:
PyRevit as a Quick Iteration Environment
PyRevit reduces the barrier to entry by allowing architects and designers to add Python scripts via simple folder and file conventions—no complex add-in compilation required. This rapid feedback loop has led many AEC professionals to embrace automation even if they’re not “formal” software developers.
- Tools & Links:
Real-World Automations: Tag Alignment and Beyond
A simple yet highly impactful use case was automatically centering hundreds of room tags—saving significant manual labor for Revit users. Expanding that idea, many repetitive tasks (e.g., door schedules, occupant data, furniture counts) are prime targets for Python-driven scripts.
- Tools & Links:
Open Source Projects in AEC
Two major open-source standouts in this episode are Speckle and Ladybug Tools. They show how shared repositories and community contributions can solve interoperability challenges, add advanced environmental analysis, and free data locked in proprietary formats or single desktop applications.
- Tools & Links:
WeWork’s Unique Perspective: Vertical Integration + Data Pipelines
At WeWork, Gui worked on integrating design data (e.g., office layouts) directly into business systems such as sales, supply chain, and logistics. Centralizing building details in real-time allowed for “just in time” deliveries of furniture and quicker scaling of new properties.
- Tools & Links:
PyAirtable: A Python Client for Airtable
Airtable’s blend of spreadsheet and database concepts fits well in fast-changing environments. Gui’s library, PyAirtable, makes working with Airtable simple and Pythonic, featuring ORM-like classes, links between tables, and robust data retrieval/update patterns.
- Tools & Links:
IronPython vs. pythonnet
Although IronPython once offered a straightforward approach to the .NET world, it lags behind modern Python versions and community support. pythonnet, by contrast, allows you to use CPython while still interacting with .NET assemblies, bridging the gap more effectively in many scenarios.
- Tools & Links:
Challenges in BIM and Data Coordination
Managing 3D modeling, 2D documentation, and countless trades (architecture, structural, MEP) in a single design calls for specialized tools like Navisworks for clash detection. Python helps unify these siloed data sources, generate summary reports, or build custom dashboards to spot conflicts early.
- Tools & Links:
“Programming is a Superpower for Non-Programmers” Learning Python can set you apart whether you’re an architect, engineer, or designer. Being able to script repetitive tasks, analyze data at scale, and share custom add-ins fosters innovation and career growth—no formal CS background required.
Interesting Quotes and Stories
- Automating Tag Placement: “One of the first automations I built was just to move these room tags to the center ... I would see the usage metrics, and it got used hundreds of times a day.” — Illustrating how small Python scripts can have massive impact.
- IronPython Mysteries: “Sometimes I’d Google for a solution, and the only result was a blog post I wrote six months ago.” — A testament to the niche nature (and challenges) of bridging Python and .NET in specialized industries.
Key Definitions and Terms
- AEC: Architecture, Engineering, and Construction—a broad industry encompassing everything from building design to facilities management.
- BIM: Building Information Modeling—3D models plus data used throughout the building’s lifecycle.
- Revit: A leading BIM software by Autodesk with a .NET-based API.
- PyRevit: A plugin that provides a Python runtime environment for Revit automation.
- Airtable: A user-friendly platform combining the simplicity of spreadsheets with the power of relational databases.
- pythonnet: A package enabling CPython to interoperate with .NET assemblies.
Learning Resources
Here are a few recommended resources to build a stronger foundation in Python and bridging ecosystems.
- Python for Absolute Beginners: Great for anyone brand new to the language wanting a methodical introduction.
- Python for .NET Developers: Perfect if you come from a C# background and want to integrate Python with .NET or Revit’s ecosystem more seamlessly.
- Write Pythonic Code Like a Seasoned Developer: Learn how to make your Python code simpler, cleaner, and more maintainable—especially useful for building automation scripts that others can read and extend.
Overall Takeaway
Python’s growing presence in the AEC industry is unlocking a new era of efficiency and collaboration—from smoothing out mundane tasks in Revit to orchestrating complex data flows for real-world building operations. Tools like PyRevit, pythonnet, and PyAirtable demonstrate how even a small amount of coding knowledge can make dramatic improvements in workflows historically plagued by siloed tools. Whether you’re an architect, engineer, or software developer curious about AEC, this conversation shows that writing a little Python can truly be a game-changer.
Links from the show
Using technology to scale building design processes at WeWork talk: youtube.com
Revit software: autodesk.com
Creating a command in pyRevit: notion.so
IronPython: ironpython.net
Python.NET: github.com
revitpythonwrapper: readthedocs.io
aec.works site: aec.works
Speckle: speckle.systems
Ladybug Tools: ladybug.tools
Airtable: airtable.com
PyAirtable: pyairtable.readthedocs.io
PyAirtable ORM: pyairtable.readthedocs.io
Revitron: github.com
WeWork: wework.com
Article: Using Airtable as a Content Backend: medium.com
Python is a Mosaic Talk: youtube.com
Watch this episode on YouTube: youtube.com
Episode transcripts: talkpython.fm
--- Stay in touch with us ---
Subscribe to Talk Python on YouTube: youtube.com
Talk Python on Bluesky: @talkpython.fm at bsky.app
Talk Python on Mastodon: talkpython
Michael on Bluesky: @mkennedy.codes at bsky.app
Michael on Mastodon: mkennedy