Get Started

Get started developing for pyRevit and Sharing your tools

How pyRevit Works

Create Your First Command

Create Your First CPython Command

Create Your First .NET Command

Create Your First Hook

Share Your Extensions

Share Your Bundles

Watch this short course to get started with python programming for Revit

Python + Revit API Course


Learn the inner workings of Bundles, Extensions, Scripts, and the Core


pyRevit Bundles

Bundle Metadata

Bundle Context

Bundle Layout

Bundle Lib & bin


Extension Bundles

Extension Metadata

Extension Startup Script

Extension Hooks/

Extension Checks/

Extension Commands/


Anatomy of IronPython Scripts

Anatomy of CPython Scripts

Anatomy of .NET (C#, VB) Scripts

Anatomy of Hook Scripts

Anatomy of Extension Startup Script

Button Click Modes

Python Scripts

Python Script Facilities

Python Runtime Variables

Sending Custom Telemetry Data

IronPython Scripts

Effective Output

Effective Input

Visualizing Data

.NET Scripts

.NET Script Facilities


pyRevit Configuration

Distribution Model


pyRevit CLI

pyRevit Runtime

Telemetry System

pyRevit Routes (HTTP API)

pyRevit APIs