Skip to content

Commit 2561085

Browse files
refactor(docs): configuration management system
changes: - file: api_reference_gen.py area: api modified: [_render_api_functions, ApiReferenceGenerator, _render_api_classes] - file: architecture_gen.py area: docs modified: [_generate_metrics_table, ArchitectureGenerator] - file: module_docs_gen.py area: docs modified: [_calc_module_avg_cc, _render_classes_section, ModuleDocsGenerator] - file: readme_gen.py area: docs modified: [_calc_avg_complexity, ReadmeGenerator] stats: lines: "+9/-10 (net -1)" files: 6 complexity: "Stable complexity"
1 parent 7c29c70 commit 2561085

File tree

11 files changed

+24
-15
lines changed

11 files changed

+24
-15
lines changed

.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,4 @@ __marimo__/
211211
# code2docs generated outputs
212212
.code2docs.state
213213
.code2docs.api_snapshot.json
214-
docs/
215-
examples/
216214
mkdocs.yml

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.2.2] - 2026-03-07
11+
12+
### Other
13+
- Update .gitignore
14+
- Update code2docs/generators/api_reference_gen.py
15+
- Update code2docs/generators/architecture_gen.py
16+
- Update code2docs/generators/module_docs_gen.py
17+
- Update code2docs/generators/readme_gen.py
18+
- Update code2docs/templates/module_doc.md.j2
19+
1020
## [0.2.1] - 2026-03-07
1121

1222
### Docs

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# code2docs
22

3-
![version](https://img.shields.io/badge/version-0.2.1-blue) ![python](https://img.shields.io/badge/python-%3E%3D3.9-blue) ![docs](https://img.shields.io/badge/docs-auto--generated-blueviolet)
3+
![version](https://img.shields.io/badge/version-0.2.2-blue) ![python](https://img.shields.io/badge/python-%3E%3D3.9-blue) ![docs](https://img.shields.io/badge/docs-auto--generated-blueviolet)
44

55
> Auto-generate and sync project documentation from source code analysis.
66
@@ -140,7 +140,7 @@ code2docs can update only specific sections of an existing README using markers:
140140
```markdown
141141
<!-- code2docs:start --># code2docs
142142

143-
![version](https://img.shields.io/badge/version-0.2.1-blue) ![python](https://img.shields.io/badge/python-%3E%3D3.9-blue) ![coverage](https://img.shields.io/badge/coverage-unknown-lightgrey) ![functions](https://img.shields.io/badge/functions-153-green)
143+
![version](https://img.shields.io/badge/version-0.2.2-blue) ![python](https://img.shields.io/badge/python-%3E%3D3.9-blue) ![coverage](https://img.shields.io/badge/coverage-unknown-lightgrey) ![functions](https://img.shields.io/badge/functions-153-green)
144144
> **153** functions | **30** classes | **28** files | CC̄ = 0.0
145145

146146
## Installation

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.2.1
1+
0.2.2

code2docs/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
README.md, API references, module docs, examples, and architecture diagrams.
66
"""
77

8-
__version__ = "0.2.1"
8+
__version__ = "0.2.2"
99
__author__ = "Tom Sapletta"
1010

1111
from .config import Code2DocsConfig

code2docs/generators/api_reference_gen.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ def _render_api_classes(self, mod_name: str) -> str:
9797
doc_line = ""
9898
if method.docstring:
9999
doc_line = f" — {method.docstring.splitlines()[0]}"
100-
cc = method.complexity.get("cyclomatic", 0)
100+
cc = method.complexity.get("cyclomatic_complexity", method.complexity.get("cyclomatic", 0))
101101
cc_badge = f" ⚠️ CC={cc}" if cc > 10 else ""
102102
lines.append(f"- `{sig}`{doc_line}{cc_badge}")
103103
lines.append("")
@@ -118,7 +118,7 @@ def _render_api_functions(self, mod_name: str) -> str:
118118
lines.append(f"### `{sig}`\n")
119119
if func_info.docstring:
120120
lines.append(f"{func_info.docstring.strip()}\n")
121-
cc = func_info.complexity.get("cyclomatic", 0)
121+
cc = func_info.complexity.get("cyclomatic_complexity", func_info.complexity.get("cyclomatic", 0))
122122
if cc:
123123
lines.append(f"- Complexity: {cc}")
124124
if func_info.calls:

code2docs/generators/architecture_gen.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,9 +177,9 @@ def _generate_metrics_table(self) -> str:
177177

178178
# Average complexity
179179
complexities = [
180-
f.complexity.get("cyclomatic", 0)
180+
f.complexity.get("cyclomatic_complexity", f.complexity.get("cyclomatic", 0))
181181
for f in self.result.functions.values()
182-
if f.complexity.get("cyclomatic", 0) > 0
182+
if f.complexity.get("cyclomatic_complexity", f.complexity.get("cyclomatic", 0)) > 0
183183
]
184184
if complexities:
185185
avg = round(sum(complexities) / len(complexities), 1)

code2docs/generators/module_docs_gen.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ def _render_classes_section(self, mod_name: str) -> str:
8080
if len(m.args) > 4:
8181
args += ", ..."
8282
ret = m.returns or "—"
83-
cc = m.complexity.get("cyclomatic", "—")
83+
cc = m.complexity.get("cyclomatic_complexity", m.complexity.get("cyclomatic", "—"))
8484
warn = " ⚠️" if isinstance(cc, (int, float)) and cc > 10 else ""
8585
lines.append(f"| `{m.name}` | `{args}` | `{ret}` | {cc}{warn} |")
8686
lines.append("")
@@ -149,7 +149,7 @@ def _calc_module_avg_cc(self, mod_name: str) -> float:
149149
complexities = []
150150
for func in self.result.functions.values():
151151
if func.module == mod_name:
152-
cc = func.complexity.get("cyclomatic", 0)
152+
cc = func.complexity.get("cyclomatic_complexity", func.complexity.get("cyclomatic", 0))
153153
if cc > 0:
154154
complexities.append(cc)
155155
return round(sum(complexities) / len(complexities), 1) if complexities else 0.0

code2docs/generators/readme_gen.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,8 @@ def _calc_avg_complexity(self) -> float:
9595
"""Calculate average cyclomatic complexity."""
9696
complexities = []
9797
for func in self.result.functions.values():
98-
cc = func.complexity.get("cyclomatic", 0)
98+
cc = func.complexity.get("cyclomatic_complexity",
99+
func.complexity.get("cyclomatic", 0))
99100
if cc > 0:
100101
complexities.append(cc)
101102
return round(sum(complexities) / len(complexities), 1) if complexities else 0.0

code2docs/templates/module_doc.md.j2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
{% for m in methods[cls_name] %}
3131
{% set args = m.args[:4]|join(', ') %}
3232
{% set ret = m.returns or '—' %}
33-
{% set cc = m.complexity.get('cyclomatic', '—') %}
33+
{% set cc = m.complexity.get('cyclomatic_complexity', m.complexity.get('cyclomatic', '—')) %}
3434
| `{{ m.name }}` | `{{ args }}` | `{{ ret }}` | {{ cc }} |
3535
{% endfor %}
3636

0 commit comments

Comments
 (0)