strictcli 0.15.1__tar.gz → 0.16.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. strictcli-0.16.1/.rlsbl/changes/.validated +1 -0
  2. strictcli-0.16.1/.rlsbl/changes/0.16.0.jsonl +9 -0
  3. strictcli-0.16.1/.rlsbl/changes/0.16.0.md +18 -0
  4. strictcli-0.16.1/.rlsbl/changes/0.16.1.jsonl +3 -0
  5. strictcli-0.16.1/.rlsbl/releases/v0.16.0.toml +8 -0
  6. strictcli-0.16.1/.rlsbl/releases/v0.16.1.toml +8 -0
  7. {strictcli-0.15.1 → strictcli-0.16.1}/CHANGELOG.md +25 -6
  8. {strictcli-0.15.1 → strictcli-0.16.1}/PKG-INFO +1 -1
  9. {strictcli-0.15.1 → strictcli-0.16.1}/package-lock.json +2 -2
  10. {strictcli-0.15.1 → strictcli-0.16.1}/package.json +1 -1
  11. {strictcli-0.15.1 → strictcli-0.16.1}/pyproject.toml +1 -1
  12. {strictcli-0.15.1 → strictcli-0.16.1}/strictcli/__init__.py +505 -80
  13. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_config.py +586 -4
  14. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_dump_schema.py +1 -1
  15. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_float_type.py +33 -1
  16. strictcli-0.16.1/tests/test_repeatable.py +536 -0
  17. strictcli-0.16.1/tests/test_unique.py +116 -0
  18. strictcli-0.16.1/tests/test_utilities.py +126 -0
  19. {strictcli-0.15.1 → strictcli-0.16.1}/uv.lock +1 -1
  20. strictcli-0.15.1/.rlsbl/changes/.validated +0 -1
  21. strictcli-0.15.1/tests/test_repeatable.py +0 -179
  22. {strictcli-0.15.1 → strictcli-0.16.1}/.claude/settings.json +0 -0
  23. {strictcli-0.15.1 → strictcli-0.16.1}/.github/workflows/ci.yml +0 -0
  24. {strictcli-0.15.1 → strictcli-0.16.1}/.github/workflows/publish.yml +0 -0
  25. {strictcli-0.15.1 → strictcli-0.16.1}/.gitignore +0 -0
  26. {strictcli-0.15.1 → strictcli-0.16.1}/.npmignore +0 -0
  27. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/bases/.claude/settings.json +0 -0
  28. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/bases/.github/workflows/ci.yml +0 -0
  29. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/bases/.github/workflows/publish.yml +0 -0
  30. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/bases/.gitignore +0 -0
  31. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/bases/.npmignore +0 -0
  32. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/bases/.rlsbl/hooks/post-release.sh +0 -0
  33. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/bases/.rlsbl/hooks/pre-checks.sh +0 -0
  34. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/bases/.rlsbl/hooks/pre-release.sh +0 -0
  35. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/bases/.rlsbl/lint/go.toml +0 -0
  36. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/bases/.rlsbl/lint/npm.toml +0 -0
  37. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/bases/.rlsbl/lint/python.toml +0 -0
  38. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/bases/CHANGELOG.md +0 -0
  39. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/bases/CLAUDE.md +0 -0
  40. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/bases/LICENSE +0 -0
  41. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.10.0.jsonl +0 -0
  42. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.10.0.md +0 -0
  43. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.11.0.jsonl +0 -0
  44. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.11.0.md +0 -0
  45. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.12.0.jsonl +0 -0
  46. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.12.0.md +0 -0
  47. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.13.0.jsonl +0 -0
  48. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.13.0.md +0 -0
  49. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.14.0.jsonl +0 -0
  50. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.14.0.md +0 -0
  51. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.15.0.jsonl +0 -0
  52. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.15.0.md +0 -0
  53. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.15.1.jsonl +0 -0
  54. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.15.1.md +0 -0
  55. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.4.0.jsonl +0 -0
  56. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.4.0.md +0 -0
  57. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.4.1.jsonl +0 -0
  58. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.4.1.md +0 -0
  59. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.5.0.jsonl +0 -0
  60. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.5.0.md +0 -0
  61. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.6.0.jsonl +0 -0
  62. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.6.0.md +0 -0
  63. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.6.1.jsonl +0 -0
  64. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.6.1.md +0 -0
  65. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.7.0.jsonl +0 -0
  66. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.7.0.md +0 -0
  67. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.7.1.jsonl +0 -0
  68. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.7.1.md +0 -0
  69. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.8.0.jsonl +0 -0
  70. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.8.0.md +0 -0
  71. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.8.1.jsonl +0 -0
  72. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.8.1.md +0 -0
  73. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.8.2.jsonl +0 -0
  74. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.8.2.md +0 -0
  75. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.8.3.jsonl +0 -0
  76. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.8.3.md +0 -0
  77. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.8.4.jsonl +0 -0
  78. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.8.4.md +0 -0
  79. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.8.5.jsonl +0 -0
  80. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.8.5.md +0 -0
  81. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.8.6.jsonl +0 -0
  82. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.8.6.md +0 -0
  83. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.8.7.jsonl +0 -0
  84. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.8.7.md +0 -0
  85. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.9.0.jsonl +0 -0
  86. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.9.0.md +0 -0
  87. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.9.1.jsonl +0 -0
  88. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/0.9.1.md +0 -0
  89. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/changes/unreleased.jsonl +0 -0
  90. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/config.json +0 -0
  91. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/hashes.json +0 -0
  92. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/hooks/post-release.sh +0 -0
  93. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/hooks/pre-checks.sh +0 -0
  94. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/hooks/pre-release.sh +0 -0
  95. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/lint/go.toml +0 -0
  96. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/lint/npm.toml +0 -0
  97. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/lint/python.toml +0 -0
  98. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/releases/unreleased.toml +0 -0
  99. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/releases/v0.10.0.toml +0 -0
  100. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/releases/v0.11.0.toml +0 -0
  101. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/releases/v0.12.0.toml +0 -0
  102. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/releases/v0.13.0.toml +0 -0
  103. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/releases/v0.15.0.toml +0 -0
  104. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/releases/v0.15.1.toml +0 -0
  105. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/releases/v0.8.5.toml +0 -0
  106. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/releases/v0.8.6.toml +0 -0
  107. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/releases/v0.8.7.toml +0 -0
  108. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/releases/v0.9.0.toml +0 -0
  109. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/releases/v0.9.1.toml +0 -0
  110. {strictcli-0.15.1 → strictcli-0.16.1}/.rlsbl/version +0 -0
  111. {strictcli-0.15.1 → strictcli-0.16.1}/.strictcli/schema.json +0 -0
  112. {strictcli-0.15.1 → strictcli-0.16.1}/CLAUDE.md +0 -0
  113. {strictcli-0.15.1 → strictcli-0.16.1}/LICENSE +0 -0
  114. {strictcli-0.15.1 → strictcli-0.16.1}/README.md +0 -0
  115. {strictcli-0.15.1 → strictcli-0.16.1}/index.js +0 -0
  116. {strictcli-0.15.1 → strictcli-0.16.1}/postinstall.js +0 -0
  117. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_arg_default.py +0 -0
  118. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_at_prefix.py +0 -0
  119. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_auto_version.py +0 -0
  120. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_check_command.py +0 -0
  121. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_check_discovery.py +0 -0
  122. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_check_runner.py +0 -0
  123. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_check_schema.py +0 -0
  124. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_check_types.py +0 -0
  125. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_choices.py +0 -0
  126. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_command_help_suggestion.py +0 -0
  127. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_config_file_path.py +0 -0
  128. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_config_set_bugs.py +0 -0
  129. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_deep_nesting.py +0 -0
  130. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_dependencies.py +0 -0
  131. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_deprecated.py +0 -0
  132. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_e2e.py +0 -0
  133. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_env.py +0 -0
  134. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_exit_codes.py +0 -0
  135. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_global_flags.py +0 -0
  136. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_help.py +0 -0
  137. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_int_type.py +0 -0
  138. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_mutex.py +0 -0
  139. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_nesting.py +0 -0
  140. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_parser.py +0 -0
  141. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_passthrough.py +0 -0
  142. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_registration.py +0 -0
  143. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_tagdsl.py +0 -0
  144. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_tags.py +0 -0
  145. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_toml_loading.py +0 -0
  146. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_validate.py +0 -0
  147. {strictcli-0.15.1 → strictcli-0.16.1}/tests/test_variadic.py +0 -0
  148. {strictcli-0.15.1 → strictcli-0.16.1}/todo/.defer/deferred.md +0 -0
  149. {strictcli-0.15.1 → strictcli-0.16.1}/todo/.done/original-idea.md +0 -0
@@ -0,0 +1 @@
1
+ 2a117a0d39aebe26c1f73df78aecb99c81ee2128
@@ -0,0 +1,9 @@
1
+ {"commits":["db48caf616ace9db0aeda0d5efacee10c02f7c2a","e5be52a0aa00899ce8fade086fb2edcfee50db21","f5e8f1d0d691481da825dc9ef7591479f769ed24"],"user_facing":true,"description":"**New flag field.** `unique` field on repeatable flags enforces no duplicate values at CLI parse time and in config arrays.","type":"feature"}
2
+ {"commits":["c7aea7f0c977547148543c4ba9d92d2e17801f13","71ddde2b6ba5541cc416840ff480c36440850df8","dda38019166b4b23183af739c8294e271b1efb6d"],"user_facing":true,"description":"**New flag field.** `env_separator` on repeatable flags controls how environment variable values are split into arrays.","type":"feature"}
3
+ {"commits":["dac38c76b6ce4d0c59607bd16fb0a51a3ffaee87"],"user_facing":true,"description":"**Config arrays.** Config values for repeatable flags are now coerced from strings to the declared type.","type":"feature"}
4
+ {"commits":["81c9516d0b3e1f6550767ba0ff4a4e97c14e2357"],"user_facing":true,"description":"**Config set.** Repeatable flags can now be managed with `config set`, including `--clear` to reset and `--default` to restore default values.","type":"feature"}
5
+ {"commits":["1dc92ee4b91736310ec4cf00a06ae2d419497146"],"user_facing":true,"description":"**Config show.** `config show` now requires explicit `--plain` or `--json` flag instead of defaulting to plain text.","type":"breaking"}
6
+ {"commits":["025781d123703cb66be49832b9b335273911784d"],"user_facing":true,"description":"**Fix.** Float NaN/Inf env var error messages now include the environment variable suffix.","type":"fix"}
7
+ {"commits":["f20669b78e4efdda8675ae21083a70220cd54070"],"user_facing":true,"description":"**Fix.** Config error messages now use consistent type names and array formatting.","type":"fix"}
8
+ {"commits":["aa43f02e566316b86ba090d810988eead533e7b8"],"user_facing":true,"description":"**Fix.** Flag collection no longer includes config group pseudo-flags, preventing incorrect behavior in commands that enumerate all flags.","type":"fix"}
9
+ {"commits":["aadda0d6950f774c4999f938accdea66ae21ac92"],"user_facing":false}
@@ -0,0 +1,18 @@
1
+ ## 0.16.0
2
+
3
+ ### Breaking
4
+
5
+ - **Config show.** `config show` now requires explicit `--plain` or `--json` flag instead of defaulting to plain text.
6
+
7
+ ### Features
8
+
9
+ - **New flag field.** `unique` field on repeatable flags enforces no duplicate values at CLI parse time and in config arrays.
10
+ - **New flag field.** `env_separator` on repeatable flags controls how environment variable values are split into arrays.
11
+ - **Config arrays.** Config values for repeatable flags are now coerced from strings to the declared type.
12
+ - **Config set.** Repeatable flags can now be managed with `config set`, including `--clear` to reset and `--default` to restore default values.
13
+
14
+ ### Fixes
15
+
16
+ - **Fix.** Float NaN/Inf env var error messages now include the environment variable suffix.
17
+ - **Fix.** Config error messages now use consistent type names and array formatting.
18
+ - **Fix.** Flag collection no longer includes config group pseudo-flags, preventing incorrect behavior in commands that enumerate all flags.
@@ -0,0 +1,3 @@
1
+ {"commits":["cdc010316ce356628e2592b493ccc368dd782b48"],"user_facing":true,"description":"**Fix.** `config set` mutex error messages now include the `config set:` prefix for consistency.","type":"fix"}
2
+ {"commits":["98bfea68b1b971b42a31ecb1d08ecc3b55df86f2","1d9ee273ce05153c7c9e23b8297c6fccdb342c21"],"user_facing":false}
3
+ {"commits":["67b8d456d3e491b3d398ee7b0b7a4f3ba116cab1"],"user_facing":true,"description":"**Fix.** Config set help text now mentions backslash escaping for values containing commas in repeatable flags.","type":"fix"}
@@ -0,0 +1,8 @@
1
+ # Version bump type: patch, minor, or major
2
+ bump = "minor"
3
+ # Short description of this release (required)
4
+ description = "unique and env_separator flag fields, config array coercion, config set repeatable support"
5
+ # Optional context explaining why these changes were made
6
+ context = "Breaking: config show now requires --plain or --json. New features: unique field enforces no duplicate values on repeatable flags, env_separator controls how env vars are split into arrays, config arrays are coerced to declared types, config set supports repeatable flags with --clear and --default."
7
+ include = ["pypi", "npm"]
8
+ exclude = []
@@ -0,0 +1,8 @@
1
+ # Version bump type: patch, minor, or major
2
+ bump = "patch"
3
+ # Short description of this release (required)
4
+ description = "Error message fixes and help text improvements"
5
+ # Optional context explaining why these changes were made
6
+ context = ""
7
+ include = ["pypi", "npm"]
8
+ exclude = []
@@ -2,16 +2,35 @@
2
2
 
3
3
  # Changelog
4
4
 
5
- ## 0.15.1
5
+ ## 0.16.1
6
+
7
+ Error message fixes and help text improvements
6
8
 
7
- Config show bool parity and negative values in config set
9
+ ### Fixes
8
10
 
9
- <details>
10
- <summary>Context</summary>
11
+ - **Fix.** `config set` mutex error messages now include the `config set:` prefix for consistency.
12
+ - **Fix.** Config set help text now mentions backslash escaping for values containing commas in repeatable flags.
11
13
 
12
- config show now outputs lowercase true/false matching Go. config set accepts negative numeric values.
14
+ ## 0.16.0
13
15
 
14
- </details>
16
+ ### Breaking
17
+
18
+ - **Config show.** `config show` now requires explicit `--plain` or `--json` flag instead of defaulting to plain text.
19
+
20
+ ### Features
21
+
22
+ - **New flag field.** `unique` field on repeatable flags enforces no duplicate values at CLI parse time and in config arrays.
23
+ - **New flag field.** `env_separator` on repeatable flags controls how environment variable values are split into arrays.
24
+ - **Config arrays.** Config values for repeatable flags are now coerced from strings to the declared type.
25
+ - **Config set.** Repeatable flags can now be managed with `config set`, including `--clear` to reset and `--default` to restore default values.
26
+
27
+ ### Fixes
28
+
29
+ - **Fix.** Float NaN/Inf env var error messages now include the environment variable suffix.
30
+ - **Fix.** Config error messages now use consistent type names and array formatting.
31
+ - **Fix.** Flag collection no longer includes config group pseudo-flags, preventing incorrect behavior in commands that enumerate all flags.
32
+
33
+ ## 0.15.1
15
34
 
16
35
  ### Breaking
17
36
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: strictcli
3
- Version: 0.15.1
3
+ Version: 0.16.1
4
4
  Summary: A strict, zero-dependency CLI framework for Python
5
5
  Project-URL: Homepage, https://github.com/smm-h/strictcli
6
6
  Project-URL: Repository, https://github.com/smm-h/strictcli
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "strictcli",
3
- "version": "0.15.1",
3
+ "version": "0.16.1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "strictcli",
9
- "version": "0.15.1",
9
+ "version": "0.16.1",
10
10
  "hasInstallScript": true,
11
11
  "license": "MIT"
12
12
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "strictcli",
3
- "version": "0.15.1",
3
+ "version": "0.16.1",
4
4
  "description": "A strict, zero-dependency CLI framework for Python (npm wrapper)",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "strictcli"
7
- version = "0.15.1"
7
+ version = "0.16.1"
8
8
  description = "A strict, zero-dependency CLI framework for Python"
9
9
  readme = "README.md"
10
10
  license = "MIT"