Learn Python with Talk Python's 270 hours of courses

Python in Architecture (as in actual buildings)

Episode #342, published Tue, Nov 23, 2021, recorded Sun, Nov 7, 2021

At PyCon 2017, Jake Vanderplas gave a great keynote where he said, "Python is a mosaic." He described how Python is stronger and growing because it's being adopted and used by people with diverse technical backgrounds. In this episode, we're adding to that mosaic by diving into how Python is being used in the architecture, engineering, and construction industry. Our guest, Gui Talarico, has worked as an architect who help automate that world by bringing Python to solve problems others were just doing by point-and-click tooling. I think you'll enjoy this look into that world. We also touch on his project pyairtable near the end as well.

Watch this episode on YouTube
Play on YouTube
Watch the live stream version

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 or venv) to install relevant libraries like pyairtable or pyRevit 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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

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

  8. 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.

  9. 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.

  10. “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.

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

Pyninsula Python in Architecture Talk: youtube.com
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

Talk Python's Mastodon Michael Kennedy's Mastodon