52 lines
2.2 KiB
Plaintext
52 lines
2.2 KiB
Plaintext
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 <module>" (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).
|