0 functions | 0 classes | 0 files | CC̄ = 0.0
Auto-generated project documentation from source code analysis.
Author: Tom Softreck tom@sapletta.com
License: Not specified
Repository: https://github.com/semcod/pyqual
pip install project_analysisgit clone https://github.com/semcod/pyqual
cd project_analysis
pip install -e .# Generate full documentation for your project
project_analysis ./my-project
# Only regenerate README
project_analysis ./my-project --readme-only
# Preview what would be generated (no file writes)
project_analysis ./my-project --dry-run
# Check documentation health
project_analysis check ./my-project
# Sync — regenerate only changed modules
project_analysis sync ./my-projectfrom project_analysis import generate_readme, generate_docs, Code2DocsConfig
# Quick: generate README
generate_readme("./my-project")
# Full: generate all documentation
config = Code2DocsConfig(project_name="mylib", verbose=True)
docs = generate_docs("./my-project", config=config)When you run project_analysis, the following files are produced:
<project>/
├── README.md # Main project README (auto-generated sections)
├── docs/
│ ├── api.md # Consolidated API reference
│ ├── modules.md # Module documentation with metrics
│ ├── architecture.md # Architecture overview with diagrams
│ ├── dependency-graph.md # Module dependency graphs
│ ├── coverage.md # Docstring coverage report
│ ├── getting-started.md # Getting started guide
│ ├── configuration.md # Configuration reference
│ └── api-changelog.md # API change tracking
├── examples/
│ ├── quickstart.py # Basic usage examples
│ └── advanced_usage.py # Advanced usage examples
├── CONTRIBUTING.md # Contribution guidelines
└── mkdocs.yml # MkDocs site configuration
Create project_analysis.yaml in your project root (or run project_analysis init):
project:
name: my-project
source: ./
output: ./docs/
readme:
sections:
- overview
- install
- quickstart
- api
- structure
badges:
- version
- python
- coverage
sync_markers: true
docs:
api_reference: true
module_docs: true
architecture: true
changelog: true
examples:
auto_generate: true
from_entry_points: true
sync:
strategy: markers # markers | full | git-diff
watch: false
ignore:
- "tests/"
- "__pycache__"project_analysis can update only specific sections of an existing README using HTML comment markers:
<!-- project_analysis:start -->
# Project Title
... auto-generated content ...
<!-- project_analysis:end -->Content outside the markers is preserved when regenerating. Enable this with sync_markers: true in your configuration.
Contributors:
- Tom Softreck tom@sapletta.com
- Tom Sapletta tom-sapletta-com@users.noreply.github.com
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
# Clone the repository
git clone https://github.com/semcod/pyqual
cd project_analysis
# Install in development mode
pip install -e ".[dev]"
# Run tests
pytest- 📖 Full Documentation — API reference, module docs, architecture
- 🚀 Getting Started — Quick start guide
- 📚 API Reference — Complete API documentation
- 🔧 Configuration — Configuration options
- 💡 Examples — Usage examples and code samples
| Output | Description | Link |
|---|---|---|
README.md |
Project overview (this file) | — |
docs/api.md |
Consolidated API reference | View |
docs/modules.md |
Module reference with metrics | View |
docs/architecture.md |
Architecture with diagrams | View |
docs/dependency-graph.md |
Dependency graphs | View |
docs/coverage.md |
Docstring coverage report | View |
docs/getting-started.md |
Getting started guide | View |
docs/configuration.md |
Configuration reference | View |
docs/api-changelog.md |
API change tracking | View |
CONTRIBUTING.md |
Contribution guidelines | View |
examples/ |
Usage examples | Browse |
mkdocs.yml |
MkDocs configuration | — |