Skip to main content

Bauklotz

A Python-based tool for software architecture analysis and visualization.

Overview

Bauklotz is a framework for building and executing analysis pipelines that process software project structures. It is designed to help software architects analyze codebases through configurable filters and generate various reports and visualizations.

Features

  • Pipeline-based architecture analysis
  • Configurable filters for analyzing Python projects
  • Multiple report formats (CSV, YAML, UML diagrams, C4 diagrams, Treemaps)
  • Graph-based visualization of class hierarchies and dependency networks
  • C4 model extraction from docstring annotations
  • Extensible filter and report system
  • Plugin system for custom filters and reports
  • Fact contract validation: static pre-run check that every filter's required facts are provided by upstream filters

Installation

pip install bauklotz

Usage

  1. Create a configuration file describing your analysis pipeline:
channel input

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

# External filter example
filter external.metrics:ComplexityFilter complexity
    threshold: 10

report builtin.writer.uml:ClassDiagramWriter classdiagram
   path: "output/classdiagram.uml"

input -> project -> hierarchy -> complexity -> classdiagram
  1. Run the analysis:
bauklotz config.bauklotz <project_dir> input --extension external

Configuration

The pipeline is configured using a simple DSL that defines:

  • Input channels
  • Filters for processing (both built-in and external)
  • Reports for output generation
  • Connections between components

Plugin System

Bauklotz supports external filters and reports through its plugin system. Custom filters can be added by:

  1. Creating a Python module with filter implementations
  2. Registering the module with Bauklotz
  3. Referencing the custom filters in your configuration using external.module:FilterName syntax

Core Components

  • Pipe: Base interface for pipeline construction and execution
  • Filter: Processes items in the pipeline
  • Report: Generates output in various formats

Output Formats

  • CSV reports
  • YAML summaries
  • UML class diagrams
  • Graph formats (GML)
  • C4 architecture diagrams (PlantUML)
  • Interactive Treemaps (HTML)

Documentation

For detailed documentation, please visit the project repository.

License

BSD3

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bauklotz-2.3.1.tar.gz (67.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bauklotz-2.3.1-py3-none-any.whl (94.3 kB view details)

Uploaded Python 3

File details

Details for the file bauklotz-2.3.1.tar.gz.

File metadata

  • Download URL: bauklotz-2.3.1.tar.gz
  • Upload date:
  • Size: 67.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.14.7 Linux/5.15.154+

File hashes

Hashes for bauklotz-2.3.1.tar.gz
Algorithm Hash digest
SHA256 a3323789f8e55c52cf8026eb5458e92494b9eba8a6528c0a89c562cd7c891e59
MD5 97c7012c8765dc00d338ca2c2f857c79
BLAKE2b-256 41bc9519dc28b069265adc3dbe9d57946cfd1aeca109c3a6680daf826385c4df

See more details on using hashes here.

File details

Details for the file bauklotz-2.3.1-py3-none-any.whl.

File metadata

  • Download URL: bauklotz-2.3.1-py3-none-any.whl
  • Upload date:
  • Size: 94.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.14.7 Linux/5.15.154+

File hashes

Hashes for bauklotz-2.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7828d51dbcf32ee5cc819d0930dccbe1d5d03aae889b0fbf80f0a25c5a0c869b
MD5 d39b770f61e0cf701ade16cb12cdccb4
BLAKE2b-256 457610ad16af4db966c551d9fd99a679694e398042a86d866c1cdb78bc5ec688

See more details on using hashes here.

Release history Release notifications | RSS feed

2.3.2

2 files

This release

2.3.1 This release

2 files

2.3.0

2 files

2.2.1

2 files

2.1.2

2 files

2.1.1

2 files

2.1.0

2 files

2.0.2

2 files

1.0.3

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page