feat: Migrate to uv, add subparser support, and enhance tooling #9
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This commit introduces several significant improvements to argmark:
Build and Dependency Management with
uv:uvfor all dependency management.pyproject.tomlhas been added for modern packaging.uv run.uvxwas evaluated butuv runwas chosen for CLI execution.Enhanced GitHub Actions:
python-app.yml,python-publish.yml) have been updated to useuv.checkout,setup-python,codecov) updated to latest versions.pytestwith coverage reporting.Subparser Documentation Support:
argmarkcan now parse and documentargparsesubparsers, generating dedicated sections for each subcommand including their descriptions, usage, and arguments._build_arguments_table_data) was refined to correctly identify and list both optional and positional arguments.Code Refactoring and Robustness:
md_helpfunction was refactored into smaller, more maintainable helper functions.main()has been improved to gracefully handleFileNotFoundErrorandIOError, log errors, and continue processing other files.Unit Testing:
filecmp.cmpin the test showed persistent subtle differences. The test structure is in place.README Update (Content Drafted):
README.md(reflectinguvusage, subparser support, and development practices) was drafted. I was unable to write this update to the file in the final session.Output: