Skip to main content

Technical Documentation

This section provides in-depth technical documentation for software architects, system integrators, and senior developers who need to understand RevitPy’s internal design, data model, performance characteristics, and security posture.

These documents are derived directly from the source code and reflect the current implementation.

Contents

Document Description
System Design Component architecture, design patterns, module dependencies, and technology stack.
Data Model ORM entity types, Pydantic validation rules, caching, change tracking, relationships, and query execution.
Performance Performance targets, optimization strategies, caching architecture, benchmarking framework, and memory management.
Security Input validation, security linting, thread safety, error handling, CI security checks, cloud token management, AI safety model, and webhook verification.
Infrastructure Cloud deployment architecture, APS Design Automation setup, CI/CD pipelines, and container orchestration for headless Revit processing.

Audience

  • Architects evaluating RevitPy for enterprise Revit automation projects.
  • Integrators building custom extensions on top of the ORM, event system, or API wrapper layers.
  • Contributors who need to understand cross-cutting concerns before modifying framework internals.

Source Layout Reference

The primary modules discussed in these documents live under:

revitpy/
  api/          # Revit API wrapper, Element, Transaction, Query
  orm/          # ORM context, QueryBuilder, cache, change tracker, relationships, validation
  events/       # Event system: dispatcher, manager, handlers, types
  performance/  # Optimizer, adaptive cache, object pools, benchmark suite
  extract/      # Quantity takeoff, material aggregation, cost estimation
  ifc/          # IFC export/import, element mapping, IDS, BCF, diff
  ai/           # MCP server, tool registration, safety guardrails
  sustainability/ # Carbon calculations, EPD database, compliance
  interop/      # Speckle connector, type mapping, diff, merge
  cloud/        # APS Design Automation, batch processing, CI/CD

Configuration and CI definitions are in pyproject.toml and .github/workflows/ci.yml respectively.