Commit Graph
52 Commits
Author SHA1 Message Date
jakob.scheid 03fa81f0df fix(python-generator): ignore invalid namespaces
Python modules or packages are now ignored if their name is not a valid
Python namespace name.
2026-10-04 16:54:48 +02:00
jakob.scheid 0f8f9d3cfa feat(python-namespaces)!: add validation for namespace names
Added more strict validation for namespaces names to PythonNamespace
than before and updated error messages.
All tests depending on this were updated to the new behavior.
2026-10-04 16:39:31 +02:00
jakob.scheid 908e299fa0 fix(python-generator): check for module namespace
Added a check whether a module namespace with the name off a directory
already exists before adding a package namespace for the directory.
2026-09-29 18:02:15 +02:00
jakob.scheid 6a4b5187e7 fix(python-generator): resolve directory path
The path to the directory is now completely resolved in
PythonDocumentationGenerator._namespace to prevent from empty path names
if the path is '.'. A fallback was also added for the case that the path
is '/'; the fallback value is irrelevant as the root namespace name is
not included in the output and only the root package path can be '/'.
2026-09-28 22:35:26 +02:00
jakob.scheid 37308227d9 chore: add noqa comments to wildcard imports
Added noqa comments to suppress linting warnings for wildcard imports.
2026-09-28 00:04:53 +02:00
jakob.scheid f796263c0e fix: fix syntax errors (target version)
Fixed all lines which were syntax errors in the target version (only
multi-line f-strings).
2026-09-28 00:04:53 +02:00
jakob.scheid ac72eb283c style: organize imports
Organized imports according to Ruff (I001).
2026-09-27 22:23:58 +02:00
jakob.scheid ec262ef99e feat(python-generator): check type at package namespace comparision
Added type check to the Python package namespace comparision function.
2026-09-27 22:15:57 +02:00
jakob.scheid 6d2b32a736 feat(python-generator): check type at module namespace comparision
Added type check to the Python module namespace comparision function.
2026-09-27 22:01:19 +02:00
jakob.scheid 5791358b41 feat(python-generator): add force argument to generator
Added a force argument to
PythonDocumentationGenerator.generate_documentation to control whether
the content of the output directory should be overwritten or not, if it
is not empty. If the force argument is True, the output directory
content will first be deleted recursively. If it is False and the output
directory is not empty, a DirectoryNotEmptyError will be raised.
2026-09-27 14:59:28 +02:00
jakob.scheid 0fbfe84657 feat(python-generator)!: do not require specific structure
Removed all implicit assumptions of a project structure:
  - no 'src/' directory is required
  - top-level modules are no longer ignored
2026-09-22 18:28:35 +02:00
jakob.scheid e2264696e8 feat(python-generator): create output directory
Now, the output directory and its parents are created when generating
the documentation.
2026-09-22 17:00:34 +02:00
jakob.scheid cc786a6c69 fix(python-generator): make signatures compliant with PEP 8
The '=' character at a parameter in the signature was surrounded with
spaces previously. That is no longer the case, unless there is a type
hint.
2026-09-22 15:55:57 +02:00
jakob.scheid de3eac3bb1 chore: lint source code using Ruff 2026-09-21 20:10:09 +02:00
jakob.scheid aa4a139878 style: format source code using Ruff 2026-09-21 20:10:04 +02:00
jakob.scheid 475775eb7e style: ensure trailing commas in multi-line statements 2026-09-18 22:18:13 +02:00
jakob.scheid 23e450e9df style: remove trailing whitespace
Removed all trailing whitespace.
2026-09-18 17:02:09 +02:00
jakob.scheid caa8e04047 style: limit line length to 79 characters
Limited the lengths of all lines to 79 characters (if possible).
Additionally, some other lines were breaked for consistence.
2026-09-18 16:57:45 +02:00
jakob.scheid 36cedb390b refactor: update all instances of ExistingFile and ExistingDirectory in source code 2026-09-05 14:31:00 +02:00
jakob.scheid 3428c54d99 style: ensure trailing newlines 2026-09-01 16:54:03 +02:00
jakob.scheid 44f80dbb6a Update licenses 2026-04-30 19:28:53 +02:00
jakob.scheid 14380b6515 Update licenses 2026-04-30 19:27:32 +02:00
jakob.scheid ce244df494 Add Python project documentation generator 2026-04-27 22:15:40 +02:00
jakob.scheid 22f3233381 Add internal function to generate the documentation of a package namespace 2026-04-26 22:23:18 +02:00
jakob.scheid a17e56fb3d Add Python module documentation generator 2026-04-25 19:34:34 +02:00
jakob.scheid 3fd51d126f Add Python definition documentation generator 2026-04-19 19:12:33 +02:00
jakob.scheid b71b93000e Add feature to parse Python docstrings 2026-04-13 14:44:04 +02:00
jakob.scheid 16852f3d68 Add class for Python docstrings 2026-04-13 14:15:49 +02:00
jakob.scheid a8626418da Add feature to get the signature representation of a Python function argument 2026-04-13 12:19:08 +02:00
jakob.scheid a79b538de8 Add class for Python modules 2026-04-13 09:24:36 +02:00
jakob.scheid ed3b47bd81 Bug fix: add support for default values in core.python.arguments.PythonASTArgumentsListParser.to_argument_list 2026-04-12 19:30:04 +02:00
jakob.scheid 73730520c1 Remove core.python.arguments.PythonFunctionArgumentDefault; use strings instead 2026-04-12 18:54:51 +02:00
jakob.scheid d6a35ea222 Add classes for Python definitions 2026-04-12 18:49:23 +02:00
jakob.scheid d8fd2b1948 Bug fix: core.python.arguments.PythonASTArgumentsListParser.to_argument_list failed if a type annotation is not a single name 2026-04-11 15:56:14 +02:00
jakob.scheid 29714798f7 Fix spelling mistakes 2026-04-11 15:21:34 +02:00
jakob.scheid 91cecae230 Add classes for Python function arguments 2026-04-11 13:33:42 +02:00
jakob.scheid 8f48f591e6 Convert project and docs directory to pathlib.Path objects at the constructor of core.python._core.PythonDocumentationGenerator 2026-04-09 19:39:15 +02:00
jakob.scheid 9e524bec03 Change python package namespace sub namespaces to list 2026-04-09 16:08:07 +02:00
jakob.scheid 512a07a773 Bug fix 2026-04-09 15:59:31 +02:00
jakob.scheid d0e2855b58 Add PythonDocumentationGenerator method to collect all namespaces 2026-04-08 14:24:44 +02:00
jakob.scheid 54e3a30ef0 Add string representation for python namespace objects 2026-04-08 14:13:12 +02:00
jakob.scheid 66f06960a9 Add feature to compare core.python.namespaces.PythonPackageNamespace instances or core.python.namespaces.PythonModuleNamespace instances 2026-04-08 13:33:12 +02:00
jakob.scheid 286ba68c34 Do not permit empty python namespace names 2026-04-08 13:28:48 +02:00
jakob.scheid 2cac1727e1 Add feature to get the names of all sub-namespaces of a core.python.namespaces.PythonPackageNamespace 2026-04-08 13:26:35 +02:00
jakob.scheid 6cb5d25f5c Add checking whether sub namespaces are not empty in core.python.namespaces.PythonPackageNamespace.namespace 2026-04-07 22:57:18 +02:00
jakob.scheid fa75b6f036 Update docstring of core.python.namespaces.PythonPackageNamespace.namespace 2026-04-07 16:25:01 +02:00
jakob.scheid b0a0d3e45b Add type checking for the name attribute at the constructor of core.python.namespaces.PythonNamespace 2026-04-07 14:22:09 +02:00
jakob.scheid 0f817e961c Add python namespaces classes 2026-04-07 14:18:54 +02:00
jakob.scheid e2ebde7cc4 Add __all__ variable in core.python.namespaces 2026-04-07 14:17:54 +02:00
jakob.scheid 6119c69a3c Add namespaces classes 2026-04-07 14:13:15 +02:00