Commit Graph
77 Commits
Author SHA1 Message Date
jakob.scheid 9941649841 feat(python-generator): check type at package namespace comparision
Added type check to the Python package namespace comparision function.
2026-09-27 22:07:12 +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 f0c271f8fd feat(cli): add Python generator force argument 2026-09-27 15:09:35 +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 0261a7b3a6 feat(exceptions): add DirectoryNotEmptyError
Added an OSError subclass for indicating that the directory is not
empty. This exception is explicitly handled by the CLI now.
2026-09-26 16:28:40 +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 1ce3d8f9d1 refactor(cli): remove unnecessary, redundant __all__ 2026-09-13 20:10:22 +02:00
jakob.scheid 5e84156e01 fix(cli): copy VALID_SECTIONS when parsing sections list 2026-09-13 19:04:54 +02:00
jakob.scheid 089cf5f2ff refactor(cli): move sections list parsing to function 2026-09-13 19:04:54 +02:00
jakob.scheid 8644232a00 feat: add __main__ module
Added a __main__ module that calls the CLI main function.
2026-09-13 19:04:54 +02:00
jakob.scheid 2cb99d4ca9 feat(cli): add cli module to cli package __init__ module 2026-09-13 19:04:54 +02:00
jakob.scheid 8f5dc33369 feat(cli): import languages package 2026-09-13 19:04:54 +02:00
jakob.scheid 348be4f07f refactor(cli): rename 'parsers' package to 'languages' 2026-09-10 15:52:05 +02:00
jakob.scheid db0d36f956 feat(cli): add __all__ to cli.cli module 2026-09-10 13:37:45 +02:00
jakob.scheid 29d1c5bced refactor(cli): move parser creation to a function 2026-09-10 13:36:06 +02:00
jakob.scheid 3ab9884be0 feat(cli): add error handling
The CLI now handles error that may result from user input and prints an
error message. Following error types are handled:
 - file not found
 - not a directory
 - directory instead of file
 - file exists
 - permission error
 - general operating system errors
 - Unicode errors
 - errors parsing project source code

Additionally, KeyboardInterrupt and BrokenPipeError are catched and an
appropriate exit code is returned.
2026-09-10 13:36:03 +02:00
jakob.scheid 60a097f0cc feat(cli): allow to pass command line arguments to function 2026-09-10 09:58:18 +02:00
jakob.scheid bce073746e feat(cli): add Python CLI handling
Added a subparser for Python documentation and a function to generate
Python documentation.
2026-09-10 09:46:04 +02:00
jakob.scheid 350f8f9941 refactor(cli)!: make CLI a package 2026-09-05 20:38:59 +02:00
jakob.scheid 2d6de2028f feat(cli): add output directory option 2026-09-05 20:38:58 +02:00
jakob.scheid 436dacf806 feat(cli): make project_directory argument optional 2026-09-05 20:38:19 +02:00
jakob.scheid 78e3e020be fix(cli): check whether project directory exists and is a directory 2026-09-05 14:42:19 +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 5d8dbd659d chore(utils): mark ExistingDirectory and ExistingFile as deprecated 2026-09-05 14:24:19 +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 f581774649 Add function to get the path segments of a path relative to another 2026-04-19 19:38:30 +02:00
jakob.scheid 3fd51d126f Add Python definition documentation generator 2026-04-19 19:12:33 +02:00
jakob.scheid 3b45c1a8ed Add function to ensure a non-empty string. 2026-04-19 19:10:45 +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