strictcli 0.27.0__tar.gz → 0.28.0__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 (86) hide show
  1. {strictcli-0.27.0 → strictcli-0.28.0}/.rlsbl/config.json +5 -2
  2. {strictcli-0.27.0 → strictcli-0.28.0}/PKG-INFO +1 -1
  3. {strictcli-0.27.0 → strictcli-0.28.0}/package-lock.json +2 -2
  4. {strictcli-0.27.0 → strictcli-0.28.0}/package.json +1 -1
  5. {strictcli-0.27.0 → strictcli-0.28.0}/pyproject.toml +1 -1
  6. {strictcli-0.27.0 → strictcli-0.28.0}/strictcli/__init__.py +917 -93
  7. strictcli-0.28.0/tests/conftest.py +35 -0
  8. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_check_command.py +25 -29
  9. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_check_discovery.py +166 -23
  10. strictcli-0.28.0/tests/test_check_provider.py +293 -0
  11. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_check_public_api.py +249 -83
  12. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_check_runner.py +87 -75
  13. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_check_schema.py +19 -18
  14. strictcli-0.28.0/tests/test_check_types.py +130 -0
  15. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_dump_schema.py +62 -0
  16. strictcli-0.28.0/tests/test_global_flag_conflict_position.py +150 -0
  17. strictcli-0.28.0/tests/test_infra_env.py +257 -0
  18. {strictcli-0.27.0 → strictcli-0.28.0}/uv.lock +1 -1
  19. strictcli-0.27.0/.rlsbl/hashes.json +0 -17
  20. strictcli-0.27.0/tests/test_check_types.py +0 -73
  21. {strictcli-0.27.0 → strictcli-0.28.0}/.claude/settings.json +0 -0
  22. {strictcli-0.27.0 → strictcli-0.28.0}/.github/workflows/ci-pypi.yml +0 -0
  23. {strictcli-0.27.0 → strictcli-0.28.0}/.github/workflows/ci.yml +0 -0
  24. {strictcli-0.27.0 → strictcli-0.28.0}/.github/workflows/publish.yml +0 -0
  25. {strictcli-0.27.0 → strictcli-0.28.0}/.gitignore +0 -0
  26. {strictcli-0.27.0 → strictcli-0.28.0}/.npmignore +0 -0
  27. {strictcli-0.27.0 → strictcli-0.28.0}/.rlsbl/managed-files.json +0 -0
  28. {strictcli-0.27.0 → strictcli-0.28.0}/.strictcli/schema.json +0 -0
  29. {strictcli-0.27.0 → strictcli-0.28.0}/CLAUDE.md +0 -0
  30. {strictcli-0.27.0 → strictcli-0.28.0}/LICENSE +0 -0
  31. {strictcli-0.27.0 → strictcli-0.28.0}/README.md +0 -0
  32. {strictcli-0.27.0 → strictcli-0.28.0}/index.js +0 -0
  33. {strictcli-0.27.0 → strictcli-0.28.0}/postinstall.js +0 -0
  34. {strictcli-0.27.0 → strictcli-0.28.0}/strictcli/py.typed +0 -0
  35. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_arg_default.py +0 -0
  36. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_arg_default_validation.py +0 -0
  37. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_at_prefix.py +0 -0
  38. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_auto_version.py +0 -0
  39. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_call.py +0 -0
  40. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_choices.py +0 -0
  41. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_choices_none.py +0 -0
  42. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_command_help_suggestion.py +0 -0
  43. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_command_tags.py +0 -0
  44. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_compound_types.py +0 -0
  45. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_config.py +0 -0
  46. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_config_fields.py +0 -0
  47. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_config_file_path.py +0 -0
  48. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_config_set_bugs.py +0 -0
  49. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_context.py +0 -0
  50. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_deep_nesting.py +0 -0
  51. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_dependencies.py +0 -0
  52. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_deprecated.py +0 -0
  53. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_e2e.py +0 -0
  54. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_env.py +0 -0
  55. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_exit_codes.py +0 -0
  56. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_flag_sets.py +0 -0
  57. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_float_type.py +0 -0
  58. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_global_flags.py +0 -0
  59. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_help.py +0 -0
  60. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_hermetic.py +0 -0
  61. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_int_type.py +0 -0
  62. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_invoke.py +0 -0
  63. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_keyword_flags.py +0 -0
  64. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_mcp.py +0 -0
  65. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_mutex.py +0 -0
  66. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_nesting.py +0 -0
  67. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_parser.py +0 -0
  68. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_passthrough.py +0 -0
  69. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_provenance.py +0 -0
  70. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_provenance_phase2.py +0 -0
  71. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_registration.py +0 -0
  72. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_repeatable.py +0 -0
  73. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_reserved_global_flags.py +0 -0
  74. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_tagdsl.py +0 -0
  75. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_toml_loading.py +0 -0
  76. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_tool_export.py +0 -0
  77. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_typed_args.py +0 -0
  78. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_unique.py +0 -0
  79. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_utilities.py +0 -0
  80. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_validate.py +0 -0
  81. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_variadic.py +0 -0
  82. {strictcli-0.27.0 → strictcli-0.28.0}/tests/test_visibility.py +0 -0
  83. {strictcli-0.27.0 → strictcli-0.28.0}/todo/.defer/deferred.md +0 -0
  84. {strictcli-0.27.0 → strictcli-0.28.0}/todo/.done/keyword-collision-in-flag-param-name.md +0 -0
  85. {strictcli-0.27.0 → strictcli-0.28.0}/todo/.done/original-idea.md +0 -0
  86. {strictcli-0.27.0 → strictcli-0.28.0}/todo/.done/public-check-runner-api.md +0 -0
@@ -3,16 +3,19 @@
3
3
  "pypi",
4
4
  "npm"
5
5
  ],
6
- "private": false,
6
+ "publish_mode": "ci",
7
7
  "push_timeout": 300,
8
8
  "pipelines": {
9
9
  "pypi": {
10
10
  "type": "pypi",
11
+ "target": "pypi",
11
12
  "local": false
12
13
  },
13
14
  "npm": {
14
15
  "type": "npm",
15
- "local": false
16
+ "target": "npm",
17
+ "local": false,
18
+ "provenance": true
16
19
  }
17
20
  },
18
21
  "coverage_unit": "commit"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: strictcli
3
- Version: 0.27.0
3
+ Version: 0.28.0
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.27.0",
3
+ "version": "0.28.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "strictcli",
9
- "version": "0.27.0",
9
+ "version": "0.28.0",
10
10
  "hasInstallScript": true,
11
11
  "license": "MIT"
12
12
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "strictcli",
3
- "version": "0.27.0",
3
+ "version": "0.28.0",
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.27.0"
7
+ version = "0.28.0"
8
8
  description = "A strict, zero-dependency CLI framework for Python"
9
9
  readme = "README.md"
10
10
  license = "MIT"