Skip to content

Comments

Release 2.2.0: config files, version flag, debounce, CI, tests#32

Merged
kevinjosethomas merged 6 commits intomainfrom
v2.2.0
Dec 10, 2025
Merged

Release 2.2.0: config files, version flag, debounce, CI, tests#32
kevinjosethomas merged 6 commits intomainfrom
v2.2.0

Conversation

@kevinjosethomas
Copy link
Owner

  • Add config file support (.pymonrc / pymon.json) with CLI override precedence.
  • Add --version / -V flag and expose __version__ = "2.2.0".
  • Add debounce option --delay (ms) to coalesce rapid file changes.
  • Improve README (lean quickstart, core flags, config emphasis) and add CHANGELOG.md.
  • Add full pytest suite (CLI, config, monitor, logger) and pytest config.
  • Add GitHub Actions CI (Py 3.10–3.12) running tests on push/PR.
  • Update packaging: dev extras (.[dev]), version bump in setup.py.

@kevinjosethomas kevinjosethomas merged commit e681c07 into main Dec 10, 2025
10 checks passed
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment on lines +37 to +38
"exec": false,
"delay": 250
Copy link

Copilot AI Dec 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
"exec": false,
"delay": 250
"exec": false

Copilot uses AI. Check for mistakes.
@@ -0,0 +1,34 @@
name: CI
Copy link

Copilot AI Dec 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
name: CI
name: Tests

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant