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
Reference
↓ Learn the inner workings of Bundles, Extensions, Scripts, and the Core
Bundles
pyRevit Bundles
Bundle Metadata
Bundle Context
Bundle Layout
Bundle Lib & bin
Extensions
Extension Bundles
Extension Metadata
Extension Startup Script
Extension Hooks/
Extension Checks/
Extension Commands/
Scripts
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
Core
pyRevit Configuration
Distribution Model
Deployments
pyRevit CLI
pyRevit Runtime
Telemetry System
pyRevit Routes (HTTP API)
pyRevit APIs