Release notes — pyappengine 0.7 ================================ Documentation ------------- - Added full API reference (Google-style docstrings on all public classes and methods: AppEngine, CommandsLoader, Commands, AEErrs, AppEngineException). - Set up MkDocs with Material theme and mkdocstrings for auto-generated documentation site. - Added docs/index.md (overview and quick-start example). - Added docs/getting-started.md (project structure, module authoring guide, dependency declaration, help system, error handling). - Added docs/api.md (API reference page, auto-generated from docstrings). Tests ----- - Added test suite based on pytest and pytest-cov (88% → 91% coverage). - tests/conftest.py: shared fixtures and SampleModule helper class. - tests/test_errors.py: tests for is_number, AEErrs, AppEngineException. - tests/test_commands.py: tests for Commands (val_to_print, logging, stop, help, list_modules, execute_command, dispatch). - tests/test_commands_loader.py: tests for dynamic module loading, nickname override, config section injection, dependency injection (list and dict forms), threaded module lifecycle. - tests/test_app_engine.py: tests for AppEngine init, config parsing, log setup, stop mechanism. Bug fixes --------- - AEErrs.__str__: ERROR_MESSAGES was keyed by enum members but looked up by integer value (.value). Fixed to look up by enum member. - execute_command: after resolving an underscore/hyphen module alias, the original (non-aliased) name was still used for dispatch, causing a KeyError. Fixed to use the resolved alias. - execute_command: when parsing "help " (no function name), args were not cleared before dispatch. This caused cmd_help() to receive the module name as an argument and return "No command with this name". Fixed to clear args and kwargs after resolving the module name. Project / packaging ------------------- - pyproject.toml: added optional dependency groups [docs] and [dev]. - pyproject.toml: added [tool.pytest.ini_options] (testpaths, pythonpath, default coverage options). - .gitignore: added site/, .coverage, htmlcov/, .pytest_cache/. - README.md: added Development section (installation, running tests, coverage reports, documentation preview and build).