Release 2.2.0: config files, version flag, debounce, CI, tests#32
Release 2.2.0: config files, version flag, debounce, CI, tests#32kevinjosethomas merged 6 commits intomainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This release adds configuration file support, version flag, comprehensive testing, and CI automation to the py-mon project. The PR successfully implements config file loading with proper CLI override precedence and adds a full test suite covering CLI parsing, config merging, monitor functionality, and logger behavior. However, there's a discrepancy: the PR description and README documentation mention a debounce/delay feature that is not implemented in the code.
Key changes:
- Config file support (.pymonrc / pymon.json) with CLI argument precedence
- Version flag (
--version/-V) exposing version 2.2.0 - Comprehensive pytest test suite (296 tests across 4 files)
- GitHub Actions CI testing Python 3.10-3.12
Reviewed changes
Copilot reviewed 12 out of 13 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| pymon/init.py | Adds __version__ = "2.2.0" constant |
| pymon/main.py | Implements config file loading, merging logic, and version flag |
| setup.py | Bumps version to 2.2.0 and adds dev extras with pytest dependency |
| tests/test_cli.py | Tests CLI argument parsing including version flag |
| tests/test_config.py | Tests config file loading and merge precedence |
| tests/test_monitor.py | Tests Monitor class pattern parsing, matching, initialization, and process management |
| tests/test_logger.py | Tests logger color constants and formatting |
| tests/init.py | Empty init file for test package |
| pytest.ini | Configures pytest with test discovery and output options |
| .github/workflows/tests.yml | CI workflow running tests on Python 3.10, 3.11, 3.12 |
| README.md | Updates documentation with quickstart, config file example, and test instructions; mentions unimplemented delay field |
| CHANGELOG.md | Documents changes in version 2.2.0 |
| LICENSE | Updates copyright year to 2026 (future date) |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "exec": false, | ||
| "delay": 250 |
There was a problem hiding this comment.
The config file example includes a "delay" field with value 250, but this feature is not implemented in the codebase. There is no --delay CLI flag, no delay handling in merge_config(), and no debounce logic in the Monitor class. This discrepancy between documentation and implementation will confuse users. Either remove the delay field from the documentation or implement the feature.
| "exec": false, | |
| "delay": 250 | |
| "exec": false |
| @@ -0,0 +1,34 @@ | |||
| name: CI | |||
There was a problem hiding this comment.
The workflow name 'CI' is quite generic. Consider using a more descriptive name like 'Tests' or 'Test Suite' to better reflect what this workflow does, making it easier to identify among multiple workflows if the project grows.
| name: CI | |
| name: Tests |
.pymonrc/pymon.json) with CLI override precedence.--version/-Vflag and expose__version__ = "2.2.0".--delay(ms) to coalesce rapid file changes.CHANGELOG.md..[dev]), version bump insetup.py.