No project description provided
Project description
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
Installation
pip install bauklotz
Usage
- 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
- 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:
- Creating a Python module with filter implementations
- Registering the module with Bauklotz
- Referencing the custom filters in your configuration using
external.module:FilterNamesyntax
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bauklotz-2.1.2.tar.gz.
File metadata
- Download URL: bauklotz-2.1.2.tar.gz
- Upload date:
- Size: 59.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.13.12 Linux/5.15.154+
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06936aac2b41b04a028a5cce24a17ef5d1864de1abb512f72ce6deb2d4acd768
|
|
| MD5 |
32e41e33ec0712b097af2fe4bd3acb9f
|
|
| BLAKE2b-256 |
13e30094adfeea3d69f9642c0dd38844c6e36a1353796a1324bf5135bd5766e1
|
File details
Details for the file bauklotz-2.1.2-py3-none-any.whl.
File metadata
- Download URL: bauklotz-2.1.2-py3-none-any.whl
- Upload date:
- Size: 83.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.13.12 Linux/5.15.154+
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
385d39007f5c9658b3bb8396aa7fb470574cf183eb6a2cb630c52ed4c21bd994
|
|
| MD5 |
2091f5f01430d86be079158ae7af3acd
|
|
| BLAKE2b-256 |
f6c93c7d39adf83f90b60b89a8bccaffe9e42852ff2b1e245cbb5d77c359952a
|