strictcli 0.8.6__tar.gz → 0.8.7__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 (110) hide show
  1. strictcli-0.8.7/.rlsbl/changes/.validated +1 -0
  2. strictcli-0.8.7/.rlsbl/changes/0.8.7.jsonl +5 -0
  3. strictcli-0.8.7/.rlsbl/changes/0.8.7.md +9 -0
  4. strictcli-0.8.7/.rlsbl/releases/v0.8.7.toml +3 -0
  5. strictcli-0.8.7/.strictcli/schema.json +19 -0
  6. {strictcli-0.8.6 → strictcli-0.8.7}/CHANGELOG.md +10 -0
  7. {strictcli-0.8.6 → strictcli-0.8.7}/PKG-INFO +1 -1
  8. {strictcli-0.8.6 → strictcli-0.8.7}/package-lock.json +2 -2
  9. {strictcli-0.8.6 → strictcli-0.8.7}/package.json +1 -1
  10. {strictcli-0.8.6 → strictcli-0.8.7}/pyproject.toml +1 -1
  11. {strictcli-0.8.6 → strictcli-0.8.7}/strictcli/__init__.py +3 -2
  12. {strictcli-0.8.6 → strictcli-0.8.7}/uv.lock +1 -1
  13. strictcli-0.8.6/.rlsbl/changes/.validated +0 -1
  14. {strictcli-0.8.6 → strictcli-0.8.7}/.claude/settings.json +0 -0
  15. {strictcli-0.8.6 → strictcli-0.8.7}/.github/workflows/ci.yml +0 -0
  16. {strictcli-0.8.6 → strictcli-0.8.7}/.github/workflows/publish.yml +0 -0
  17. {strictcli-0.8.6 → strictcli-0.8.7}/.gitignore +0 -0
  18. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/bases/.claude/settings.json +0 -0
  19. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/bases/.github/workflows/ci.yml +0 -0
  20. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/bases/.github/workflows/publish.yml +0 -0
  21. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/bases/.gitignore +0 -0
  22. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/bases/.rlsbl/hooks/post-release.sh +0 -0
  23. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/bases/.rlsbl/hooks/pre-checks.sh +0 -0
  24. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/bases/.rlsbl/hooks/pre-release.sh +0 -0
  25. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/bases/.rlsbl/lint/go.toml +0 -0
  26. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/bases/.rlsbl/lint/npm.toml +0 -0
  27. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/bases/.rlsbl/lint/python.toml +0 -0
  28. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/bases/CHANGELOG.md +0 -0
  29. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/bases/CLAUDE.md +0 -0
  30. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/bases/LICENSE +0 -0
  31. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.4.0.jsonl +0 -0
  32. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.4.0.md +0 -0
  33. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.4.1.jsonl +0 -0
  34. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.4.1.md +0 -0
  35. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.5.0.jsonl +0 -0
  36. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.5.0.md +0 -0
  37. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.6.0.jsonl +0 -0
  38. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.6.0.md +0 -0
  39. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.6.1.jsonl +0 -0
  40. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.6.1.md +0 -0
  41. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.7.0.jsonl +0 -0
  42. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.7.0.md +0 -0
  43. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.7.1.jsonl +0 -0
  44. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.7.1.md +0 -0
  45. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.8.0.jsonl +0 -0
  46. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.8.0.md +0 -0
  47. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.8.1.jsonl +0 -0
  48. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.8.1.md +0 -0
  49. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.8.2.jsonl +0 -0
  50. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.8.2.md +0 -0
  51. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.8.3.jsonl +0 -0
  52. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.8.3.md +0 -0
  53. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.8.4.jsonl +0 -0
  54. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.8.4.md +0 -0
  55. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.8.5.jsonl +0 -0
  56. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.8.5.md +0 -0
  57. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.8.6.jsonl +0 -0
  58. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/0.8.6.md +0 -0
  59. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/changes/unreleased.jsonl +0 -0
  60. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/config.json +0 -0
  61. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/hashes.json +0 -0
  62. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/hooks/post-release.sh +0 -0
  63. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/hooks/pre-checks.sh +0 -0
  64. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/hooks/pre-release.sh +0 -0
  65. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/lint/go.toml +0 -0
  66. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/lint/npm.toml +0 -0
  67. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/lint/python.toml +0 -0
  68. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/releases/unreleased.toml +0 -0
  69. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/releases/v0.8.5.toml +0 -0
  70. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/releases/v0.8.6.toml +0 -0
  71. {strictcli-0.8.6 → strictcli-0.8.7}/.rlsbl/version +0 -0
  72. {strictcli-0.8.6 → strictcli-0.8.7}/CLAUDE.md +0 -0
  73. {strictcli-0.8.6 → strictcli-0.8.7}/LICENSE +0 -0
  74. {strictcli-0.8.6 → strictcli-0.8.7}/README.md +0 -0
  75. {strictcli-0.8.6 → strictcli-0.8.7}/index.js +0 -0
  76. {strictcli-0.8.6 → strictcli-0.8.7}/postinstall.js +0 -0
  77. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_arg_default.py +0 -0
  78. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_auto_version.py +0 -0
  79. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_check_command.py +0 -0
  80. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_check_discovery.py +0 -0
  81. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_check_runner.py +0 -0
  82. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_check_schema.py +0 -0
  83. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_check_types.py +0 -0
  84. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_choices.py +0 -0
  85. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_command_help_suggestion.py +0 -0
  86. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_config.py +0 -0
  87. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_deep_nesting.py +0 -0
  88. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_dependencies.py +0 -0
  89. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_deprecated.py +0 -0
  90. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_dump_schema.py +0 -0
  91. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_e2e.py +0 -0
  92. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_env.py +0 -0
  93. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_exit_codes.py +0 -0
  94. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_float_type.py +0 -0
  95. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_global_flags.py +0 -0
  96. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_help.py +0 -0
  97. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_int_type.py +0 -0
  98. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_mutex.py +0 -0
  99. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_nesting.py +0 -0
  100. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_parser.py +0 -0
  101. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_passthrough.py +0 -0
  102. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_registration.py +0 -0
  103. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_repeatable.py +0 -0
  104. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_tagdsl.py +0 -0
  105. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_tags.py +0 -0
  106. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_toml_loading.py +0 -0
  107. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_validate.py +0 -0
  108. {strictcli-0.8.6 → strictcli-0.8.7}/tests/test_variadic.py +0 -0
  109. {strictcli-0.8.6 → strictcli-0.8.7}/todo/.defer/deferred.md +0 -0
  110. {strictcli-0.8.6 → strictcli-0.8.7}/todo/.done/original-idea.md +0 -0
@@ -0,0 +1 @@
1
+ cb4155e0427b58ad57b6684d038a8ec780101d5b
@@ -0,0 +1,5 @@
1
+ {"commits":["40478a9bc123d086ade4d0838d3fcb95918ff562"],"user_facing":true,"description":"**New feature.** Go implementation now includes subcommand name in parse error help suggestions, matching Python.","type":"feature"}
2
+ {"commits":["9e2a6468ee2e82338ccec5131f9aac83483c2c7d"],"user_facing":true,"description":"**Fix.** Unknown subcommand errors in groups now suggest group-level help (e.g., `try 'myapp config --help'`).","type":"fix"}
3
+ {"commits":["cde530a82247eb67190fed61a35fc688eb6192b0","1ebf9fba80adee78890f15c2ca9c4db518677092","16abca558f7d9616b74f1be92cf7f78625dbf21f"],"user_facing":false}
4
+ {"commits":["c33baefc772e1ada47d927423ad48d1556d13f53"],"user_facing":false}
5
+ {"commits":["4e19e432ae7f209c109db64f8ee233556ec37e0e","f8c7b3859ac51b2567f075b23651f771211f7066","2764197393cb7d2031e926ed29c920a24f6c8214"],"user_facing":false}
@@ -0,0 +1,9 @@
1
+ ## 0.8.7
2
+
3
+ ### Features
4
+
5
+ - **New feature.** Go implementation now includes subcommand name in parse error help suggestions, matching Python.
6
+
7
+ ### Fixes
8
+
9
+ - **Fix.** Unknown subcommand errors in groups now suggest group-level help (e.g., `try 'myapp config --help'`).
@@ -0,0 +1,3 @@
1
+ bump = "patch"
2
+ include = ["pypi", "npm"]
3
+ exclude = []
@@ -0,0 +1,19 @@
1
+ {
2
+ "commands": {
3
+ "greet": {
4
+ "args": [],
5
+ "flags": [],
6
+ "help": "say hello",
7
+ "name": "greet",
8
+ "passthrough": false
9
+ }
10
+ },
11
+ "config": false,
12
+ "deprecated": {},
13
+ "env_prefix": null,
14
+ "global_flags": [],
15
+ "groups": {},
16
+ "help": "test app",
17
+ "name": "myapp",
18
+ "version": "1.0.0"
19
+ }
@@ -2,6 +2,16 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ## 0.8.7
6
+
7
+ ### Features
8
+
9
+ - **New feature.** Go implementation now includes subcommand name in parse error help suggestions, matching Python.
10
+
11
+ ### Fixes
12
+
13
+ - **Fix.** Unknown subcommand errors in groups now suggest group-level help (e.g., `try 'myapp config --help'`).
14
+
5
15
  ## 0.8.6
6
16
 
7
17
  ### Features
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: strictcli
3
- Version: 0.8.6
3
+ Version: 0.8.7
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.8.6",
3
+ "version": "0.8.7",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "strictcli",
9
- "version": "0.8.6",
9
+ "version": "0.8.7",
10
10
  "hasInstallScript": true,
11
11
  "license": "MIT"
12
12
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "strictcli",
3
- "version": "0.8.6",
3
+ "version": "0.8.7",
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.8.6"
7
+ version = "0.8.7"
8
8
  description = "A strict, zero-dependency CLI framework for Python"
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- __version__ = "0.8.6"
5
+ __version__ = "0.8.7"
6
6
 
7
7
  __all__ = [
8
8
  "App", "Flag", "Arg", "Tag", "MutexGroup", "CoRequired", "Requires",
@@ -983,7 +983,8 @@ class App:
983
983
  # Unknown command -- include path in error message
984
984
  if path:
985
985
  raise _ParseError(
986
- f"unknown command '{token}' in '{' '.join(path)}'"
986
+ f"unknown command '{token}' in '{' '.join(path)}'",
987
+ command_prefix=f"{self.name} {' '.join(path)}",
987
988
  )
988
989
  raise _ParseError(f"unknown command '{token}'")
989
990
  else:
@@ -232,7 +232,7 @@ wheels = [
232
232
 
233
233
  [[package]]
234
234
  name = "strictcli"
235
- version = "0.8.6"
235
+ version = "0.8.7"
236
236
  source = { editable = "." }
237
237
 
238
238
  [package.dev-dependencies]
@@ -1 +0,0 @@
1
- c3a0fa4107268a0d0dae764c29358768d694199d
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes