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
efa2dbf724
test(python-namespaces): add test for namespace name validation
2026-10-04 16:47:33 +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
310861dacc
refactor(exceptions): define public module exports
...
Added an __all__ variable to the exceptions module.
2026-10-03 18:50:04 +02:00
jakob.scheid
4365de27a8
refactor(utils): define public module exports
...
Added an __all__ variable to the utility module.
2026-10-03 18:49:47 +02:00
jakob.scheid
7d20d21f3d
docs(changelog): add Python namespace conflict fix entry
...
Added a changelog entry for the Python namespace name conflict fix.
2026-09-29 18:17:15 +02:00
jakob.scheid
fe40b672da
test(python-generator): add test data for namespace conflict preventing
...
Added a package with the same name as a module to a test Python project.
2026-09-29 18:13:28 +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
e5362444b7
chore: remove unnecessary third-party licenses
...
Removed unnecessary third-party licenses list in NOTICE and third-party
license texts in licenses/.
2026-09-28 22:48:27 +02:00
jakob.scheid
8881f2d46a
docs(changelog): add namespace error fix entry
...
Added a changelog entry for the namespace name error of the Python
project documentation generator.
2026-09-28 22:35:31 +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
6f2c0871c8
fix(ci): fix API reference configuration error
...
Fixed a spelling error.
2026-09-28 01:25:16 +02:00
jakob.scheid
773294f3d9
docs(changelog): move unreleased section to 0.2.0
2026-09-28 00:35:43 +02:00
jakob.scheid
200221e324
chore: update version in pyproject.toml to 0.2.0
2026-09-28 00:34:39 +02:00
jakob.scheid
ff3bddd366
fix(ci): fix spelling in API reference workflow
...
Replaced '--chached' with '--cached' and replaced '--quit' with
'--quiet'.
2026-09-28 00:29:11 +02:00
jakob.scheid
95da53898c
chore(ci): adapt API reference workflow to new API
...
Adapted the API reference generation workflow to the new API, which no
longer requires the src/ structure.
2026-09-28 00:18:44 +02:00
jakob.scheid
4d2e63d560
refactor(ci): use force overwriting feature
2026-09-28 00:17:30 +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
896bfcc2dd
style: use target version practices
2026-09-28 00:04:53 +02:00
jakob.scheid
b2a7c9a0e3
style: fix lines which exceed the line length limit
2026-09-28 00:04:44 +02:00
jakob.scheid
ac72eb283c
style: organize imports
...
Organized imports according to Ruff (I001).
2026-09-27 22:23:58 +02:00
jakob.scheid
3865db7919
test(python-generator): add test cases for package namespace comparision
...
Added test cases with different types for Python package namespace
comparision test.
2026-09-27 22:16:15 +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
f102fa80ce
test(python-generator): add test cases for module namespace comparision
...
Added test cases with different types for Python module namespace
comparision test.
2026-09-27 22:15:55 +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
b043a4ea17
docs(changelog): add accidental overwriting protection entry
...
Added a changelog entry for the protection against accidental
overwriting of the output directory.
2026-09-27 17:37:51 +02:00
jakob.scheid
f2b9f47e09
test(cli): add tests for Python force overwriting
...
Added a test to the CLI test file for the documentation generation
error.
2026-09-27 17:36:04 +02:00
jakob.scheid
f0c271f8fd
feat(cli): add Python generator force argument
2026-09-27 15:09:35 +02:00
jakob.scheid
d8508e0fa3
test(python-generator): add tests for force overwriting
...
Added tests to test new output directory deletion behavior:
- output directory overwriting (not empty; force)
- error (not empty; not force)
- nothing (empty; force)
- nothing (empty; not force)
One test was adapted to output directory emptiness check because the
.gitkeep file which is required for Git to track the directory makes it
non-empty.
2026-09-27 15:09:17 +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
53ab0e3829
docs(changelog): add project directory structure entry
...
Added an entry that the implicit Python project directory
structure assumptions have been removed to the changelog.
2026-09-22 19:28:34 +02:00
jakob.scheid
c40e965d8d
test(python-generator): update tests to do not assume src/ directories
...
Updated tests to do not implicitly assume a 'src/' directory structure
and removed all 'src/' subdirectory structures in test project
directories (if possible).
2026-09-22 19:26:55 +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
717a8c446e
docs(changelog): add docs directory creation entry
...
Added a changelog entry for the creation of the documentation directory
at the Python documentation generator.
2026-09-22 17:08:15 +02:00
jakob.scheid
ec156a538e
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.
2026-09-22 17:04:56 +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
b6d2fa7db8
test(python-generator): name testing function correctly
2026-09-22 16:47:18 +02:00
jakob.scheid
06802c96f6
docs(changelog): add Python signatures PEP 8 compliance entry
...
Added a changelog entry for the PEP 8 compliance of Python function
signatures default values.
2026-09-22 16:13:43 +02:00
jakob.scheid
17c5e4938f
test(python-generator): update tests for PEP 8 compliance
...
Updated test cases to the new default value PEP 8 compliance and added
new test cases to test the new behavior.
2026-09-22 16:13:23 +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
62206db574
docs(changelog): add entry for API reference pipeline
...
Added a changelog entry for the CI pipeline which generated the API
reference.
2026-09-22 13:16:35 +02:00
jakob.scheid
89451c34e3
chore(ci): add workflow to generate API reference
...
Added a workflow which generates the API reference and commits and
pushes it.
2026-09-22 13:15:47 +02:00
jakob.scheid
1a230abf02
docs(changelog): add package registry reference entry
...
Added an entry for the installation instructions update in README to the
changelog.
2026-09-22 12:43:19 +02:00
jakob.scheid
14d6a8984a
docs(readme): update installation instructions
...
Previously, there were instructions how to install the package (over the
old registry) in README.md. They were replaced with a reference to the
Gitea Package Registry.
2026-09-22 12:37:10 +02:00
jakob.scheid
25a92d710e
chore: add setup script
...
Added a setup script in scripts/ to configure Git to use the commit
message template and added a reference to it to README.md.
2026-09-21 22:27:28 +02:00
jakob.scheid
a55d4d4f79
chore: add commit message template
...
Added a commit message template for conventional commits line
length limits.
2026-09-21 22:21:40 +02:00
jakob.scheid
0e81d0b9ca
refactor(python-generator): rename misnamed testing function
...
Renamed 'test_PythonPackageNamespace___getitem__' to
'test_PythonPackageNamespace_add'.
2026-09-21 22:12:00 +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
d9887f34c9
chore(ruff): add Ruff configuration
2026-09-18 22:40:39 +02:00
jakob.scheid
178e6b0bd8
chore(deps): add Ruff dependency
2026-09-18 22:31:09 +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
56588e6c78
fix: jcloud_docsgen.cli instead of jcloud_docsgen.cli.cli in pyproject.toml
2026-09-13 20:09:02 +02:00
jakob.scheid
bd7780f112
test(cli): add tests for Python sections list parser
2026-09-13 19:04:55 +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
e2e6a59d13
docs(changelog): update CLI entry
2026-09-13 19:04:53 +02:00
jakob.scheid
84fe67230f
test(cli): add tests for the CLI
2026-09-13 19:04:41 +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
a8513a78e2
docs(changelog): add CLI entry to changelog
2026-09-10 09:51:55 +02:00
jakob.scheid
34457f0b9f
chore: add project script
...
Added the script 'jcloud-docsgen' to pyproject.toml so that jCloud Docsgen can
be run directly without using 'python3 -m ...'.
2026-09-10 09:50:19 +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
d54c0fb208
refactor: remove or update all instances of ExistingFile and ExistingDirectory in tests
2026-09-05 14:29:31 +02:00
jakob.scheid
5d8dbd659d
chore(utils): mark ExistingDirectory and ExistingFile as deprecated
2026-09-05 14:24:19 +02:00
jakob.scheid
3daff2ba13
chore: add VS Code directory to gitignore
2026-09-05 13:47:11 +02:00
jakob.scheid
20fe7c5605
chore: use Gitea's python .gitignore template
2026-09-05 13:46:09 +02:00
jakob.scheid
75a13527a9
chore: add .venv to .gitignore
2026-09-05 13:37:10 +02:00
jakob.scheid
c47aa0738a
chore(deps): add used development dependencies
2026-09-04 19:54:46 +02:00
jakob.scheid
c4212320a2
chore: Add Poetry lock
2026-09-04 19:14:10 +02:00
jakob.scheid
324ffcd4eb
chore: update dependency management
2026-09-04 19:13:55 +02:00
jakob.scheid
aa702ca9f9
chore: migrate manifest to Poetry
2026-09-04 19:13:32 +02:00
jakob.scheid
ef5605ced1
hotfix(cd): fix job label
Release package / Publish package to package registry (release) Successful in 15s
Release package / Upload release asset (${{ fromJSON(needs.prepare_upload_release_asset.outputs.files) }}) (release) Successful in 23s
Release package / Build package (release) Successful in 24s
Release package / Prepare release asset upload (release) Successful in 14s
2026-09-03 19:42:05 +02:00
jakob.scheid
eac5fb0ffc
hotfix(cd): add build dependency to release asset upload preparation
Release package / Build package (release) Successful in 40s
Release package / Prepare release asset upload (release) Canceled after 0s
Release package / Upload release asset (${{ fromJSON(needs.prepare_upload_release_asset.outputs.files) }}) (release) Canceled after 0s
Release package / Publish package to package registry (release) Canceled after 0s
2026-09-03 19:14:10 +02:00
jakob.scheid
5c036e60a1
hotfix(cd): download artifact before uploading release assets
Release package / Build package (release) Successful in 24s
Release package / Publish package to package registry (release) Skipped
Release package / Prepare release asset upload (release) Successful in 14s
Release package / Upload release asset (${{ fromJSON(needs.prepare_upload_release_asset.outputs.files) }}) (release) Successful in 25s
2026-09-03 19:11:36 +02:00
jakob.scheid
9b49de336b
hotfix(cd): fix workflow job label
Release package / Build package (release) Successful in 29s
Release package / Prepare release asset upload (release) Successful in 14s
Release package / Publish package to package registry (release) Skipped
Release package / Upload release asset (${{ fromJSON(needs.prepare_upload_release_asset.outputs.files) }}) (release) Failing after 21s
2026-09-03 18:07:04 +02:00
jakob.scheid
2ef362b7c0
docs(changelog): mark unreleased section as version 0.1.0
2026-09-01 16:55:44 +02:00
jakob.scheid
3428c54d99
style: ensure trailing newlines
2026-09-01 16:54:03 +02:00
jakob.scheid
3a05718612
docs(changelog): make changelog clearer
...
Removed internal implementation details from changelog and rephrased and reordered
some entries.
2026-09-01 16:39:42 +02:00
jakob.scheid
44de48ef9d
chore: update version information to 0.1.0
2026-09-01 16:33:22 +02:00
jakob.scheid
c167fcf803
feat(cd): add workflow to publish package
2026-09-01 16:19:51 +02:00