Getting Started with Bauklotz

What is Bauklotz?

Bauklotz is a Python-based framework for software architecture analysis and visualization. It helps software architects and developers understand complex codebases through configurable analysis pipelines and visual representations.

Core Features

  • Pipeline-based architecture analysis

  • Configurable filters for Python projects

  • Multiple report formats (CSV, YAML, UML)

  • Graph-based visualization of class hierarchies

  • Extensible plugin system

Quick Installation

Install Bauklotz using pip:

pip install bauklotz

Basic Usage Example

  1. Create a configuration file analysis.bauklotz:

channel input

filter builtin.python.project:PythonProjectFilter project
filter builtin.python.structure:PythonClassHierarchyFilter hierarchy
    internal_modules: "my_project"

report builtin.writer.uml:ClassDiagramWriter diagram
    path: "output/classes.uml"

input -> project -> hierarchy -> diagram
  1. Run the analysis:

bauklotz analysis.bauklotz ./my_project input

Next Steps

  • Learn about basic concepts

  • Try your first analysis

  • Explore built-in filters

  • Check out example configurations

Pipeline Structure

A typical Bauklotz pipeline consists of:

  1. Input Channel: Entry point for your project files

  2. Filters: Process and analyze the code

  3. Reports: Generate output in various formats

  4. Connections: Define the flow between components

Example Output

After running an analysis, you might get:

  • UML class diagrams

  • Dependency graphs

  • Metrics reports

  • Structure summaries

Common Use Cases

  • Analyzing class hierarchies

  • Generating documentation

  • Measuring code complexity

  • Visualizing dependencies

  • Detecting architectural patterns

Where to Go Next

  • Quickstart Tutorial

  • Pipeline Configuration Guide

  • Available Reports

  • Plugin Development