From e2264696e8d3df708c8ebf79b9ea47c17c5087b5 Mon Sep 17 00:00:00 2001 From: Jakob Scheid Date: Tue, 22 Sep 2026 17:00:34 +0200 Subject: [PATCH 1/3] feat(python-generator): create output directory Now, the output directory and its parents are created when generating the documentation. --- src/jcloud_docsgen/core/python/_core.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/jcloud_docsgen/core/python/_core.py b/src/jcloud_docsgen/core/python/_core.py index b948125..f28fc10 100644 --- a/src/jcloud_docsgen/core/python/_core.py +++ b/src/jcloud_docsgen/core/python/_core.py @@ -1124,6 +1124,8 @@ class PythonDocumentationGenerator: documentation directory. """ + self.docs_directory.mkdir(parents=True, exist_ok=True) + _generate_package_namespace_documentation( PythonPackageNamespace('src', self.namespace()), self.docs_directory, From ec156a538ea39202fe7693caf23f1ae7829ec131 Mon Sep 17 00:00:00 2001 From: Jakob Scheid Date: Tue, 22 Sep 2026 17:04:56 +0200 Subject: [PATCH 2/3] test(python-generator): add test for directory creation Added a testing function which tests whether the documentation directory is created when the documentation is generated. --- .../test_PythonDocumentationGenerator.py | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/unit/core/python/_core/test_PythonDocumentationGenerator.py b/tests/unit/core/python/_core/test_PythonDocumentationGenerator.py index c97d66f..89612b9 100644 --- a/tests/unit/core/python/_core/test_PythonDocumentationGenerator.py +++ b/tests/unit/core/python/_core/test_PythonDocumentationGenerator.py @@ -16,6 +16,8 @@ import pathlib import pytest +import tempfile + from src.jcloud_docsgen.core.python import PythonDocumentationGenerator from src.jcloud_docsgen.core.python.namespaces import ( PythonModuleNamespace, @@ -119,3 +121,26 @@ def test_generate_documentation(dir, expectdir): allow_tables=True, allow_html=False, ).generate_documentation() # simplify the tests + + +def test_creates_directory(): + with tempfile.TemporaryDirectory() as output_dir: + output_dir = pathlib.Path(output_dir) + with tempfile.TemporaryDirectory() as project_dir: + project_dir = pathlib.Path(project_dir) + + # The directory of the package + package_dir = project_dir / 'src' / 'pkg' + assert not package_dir.exists() + package_dir.mkdir(parents=True, exist_ok=True) + + # The actual output directory directory + docs_dir = output_dir / 'docs' / 'reference' + # It should not exist + assert not docs_dir.exists() + + docs_generator = PythonDocumentationGenerator( + project_dir, docs_dir + ) + docs_generator.generate_documentation() + assert docs_dir.exists() From 717a8c446ecbea42c04b180c48bb100f9866603a Mon Sep 17 00:00:00 2001 From: Jakob Scheid Date: Tue, 22 Sep 2026 17:06:21 +0200 Subject: [PATCH 3/3] docs(changelog): add docs directory creation entry Added a changelog entry for the creation of the documentation directory at the Python documentation generator. --- docs/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 45406e6..461a886 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -6,6 +6,7 @@ - CLI for `jcloud-docsgen` that can be called without `python3 -m ...` - CI pipeline to generate API reference on every push or merge on `main` +- Python generator output directory creation ### Changed