strictcli 0.8.3__tar.gz → 0.8.4__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.
- strictcli-0.8.4/.rlsbl/changes/.validated +1 -0
- strictcli-0.8.4/.rlsbl/changes/0.8.4.jsonl +3 -0
- strictcli-0.8.4/.rlsbl/changes/0.8.4.md +5 -0
- strictcli-0.8.4/.rlsbl/version +1 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/CHANGELOG.md +6 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/PKG-INFO +1 -1
- {strictcli-0.8.3 → strictcli-0.8.4}/package-lock.json +2 -2
- {strictcli-0.8.3 → strictcli-0.8.4}/package.json +1 -1
- {strictcli-0.8.3 → strictcli-0.8.4}/pyproject.toml +1 -1
- {strictcli-0.8.3 → strictcli-0.8.4}/strictcli/__init__.py +3 -3
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_toml_loading.py +2 -2
- {strictcli-0.8.3 → strictcli-0.8.4}/uv.lock +1 -1
- strictcli-0.8.3/.rlsbl/changes/.validated +0 -1
- strictcli-0.8.3/.rlsbl/version +0 -1
- {strictcli-0.8.3 → strictcli-0.8.4}/.claude/settings.json +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.github/workflows/ci.yml +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.github/workflows/publish.yml +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.gitignore +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/bases/.claude/settings.json +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/bases/.github/workflows/ci.yml +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/bases/.github/workflows/publish.yml +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/bases/.gitignore +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/bases/.rlsbl/hooks/post-release.sh +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/bases/.rlsbl/hooks/pre-checks.sh +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/bases/.rlsbl/hooks/pre-release.sh +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/bases/.rlsbl/lint/go.toml +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/bases/.rlsbl/lint/npm.toml +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/bases/.rlsbl/lint/python.toml +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/bases/CHANGELOG.md +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/bases/CLAUDE.md +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/bases/LICENSE +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/changes/0.4.0.jsonl +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/changes/0.4.0.md +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/changes/0.4.1.jsonl +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/changes/0.4.1.md +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/changes/0.5.0.jsonl +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/changes/0.5.0.md +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/changes/0.6.0.jsonl +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/changes/0.6.0.md +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/changes/0.6.1.jsonl +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/changes/0.6.1.md +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/changes/0.7.0.jsonl +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/changes/0.7.0.md +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/changes/0.7.1.jsonl +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/changes/0.7.1.md +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/changes/0.8.0.jsonl +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/changes/0.8.0.md +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/changes/0.8.1.jsonl +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/changes/0.8.1.md +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/changes/0.8.2.jsonl +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/changes/0.8.2.md +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/changes/0.8.3.jsonl +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/changes/0.8.3.md +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/changes/unreleased.jsonl +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/config.json +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/hashes.json +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/hooks/post-release.sh +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/hooks/pre-checks.sh +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/hooks/pre-release.sh +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/lint/go.toml +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/lint/npm.toml +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/.rlsbl/lint/python.toml +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/CLAUDE.md +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/LICENSE +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/README.md +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/index.js +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/postinstall.js +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_arg_default.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_auto_version.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_check_command.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_check_discovery.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_check_runner.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_check_schema.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_check_types.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_choices.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_config.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_deep_nesting.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_dependencies.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_deprecated.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_dump_schema.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_e2e.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_env.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_exit_codes.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_float_type.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_global_flags.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_help.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_int_type.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_mutex.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_nesting.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_parser.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_passthrough.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_registration.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_repeatable.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_tagdsl.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_tags.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_validate.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/tests/test_variadic.py +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/todo/.defer/deferred.md +0 -0
- {strictcli-0.8.3 → strictcli-0.8.4}/todo/.done/original-idea.md +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
33dcdaea5388ed23e7f3df7369bac01ae7a303e6
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
{"commits":["b9de6b57374910b3b7b41f1e28a19cee7430cdd6","2b02693caebcc47a9cf033ccff61d3816450ed4d"],"user_facing":false}
|
|
2
|
+
{"commits":["084096729ab0e737e9c69e57a537c25c4733e794"],"user_facing":true,"description":"**Fix.** Allow empty `tags = []` in `.strictcli/checks.toml`. Checks without tags are valid -- they are addressable by `--name` and included in `--all`.","type":"fix"}
|
|
3
|
+
{"commits":["8dba95c70a17eeea8ce7f6ea1b0da65c35ab7691","2b02693caebcc47a9cf033ccff61d3816450ed4d","b9de6b57374910b3b7b41f1e28a19cee7430cdd6"],"user_facing":false}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.38.2
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "strictcli",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.4",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "strictcli",
|
|
9
|
-
"version": "0.8.
|
|
9
|
+
"version": "0.8.4",
|
|
10
10
|
"hasInstallScript": true,
|
|
11
11
|
"license": "MIT"
|
|
12
12
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
__version__ = "0.8.
|
|
5
|
+
__version__ = "0.8.4"
|
|
6
6
|
|
|
7
7
|
__all__ = [
|
|
8
8
|
"App", "Flag", "Arg", "Tag", "MutexGroup", "CoRequired", "Requires",
|
|
@@ -143,9 +143,9 @@ def _load_checks_toml(path: str | Path) -> dict[str, _CheckDef]:
|
|
|
143
143
|
|
|
144
144
|
# Validate tags
|
|
145
145
|
tags = fields["tags"]
|
|
146
|
-
if not isinstance(tags, list)
|
|
146
|
+
if not isinstance(tags, list):
|
|
147
147
|
raise ValueError(
|
|
148
|
-
f'checks.toml: check "{name}": "tags" must be a
|
|
148
|
+
f'checks.toml: check "{name}": "tags" must be a list of strings'
|
|
149
149
|
)
|
|
150
150
|
for tag in tags:
|
|
151
151
|
if not isinstance(tag, str) or not tag.strip():
|
|
@@ -211,8 +211,8 @@ depends_on = []
|
|
|
211
211
|
"""
|
|
212
212
|
f = tmp_path / "checks.toml"
|
|
213
213
|
f.write_text(toml)
|
|
214
|
-
|
|
215
|
-
|
|
214
|
+
defs = _load_checks_toml(f)
|
|
215
|
+
assert defs["my-check"].tags == []
|
|
216
216
|
|
|
217
217
|
def test_tags_with_empty_string(self, tmp_path):
|
|
218
218
|
toml = """\
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
d3c987f9ee7ca4844f3fa1f3760e0d8b9c07fd07
|
strictcli-0.8.3/.rlsbl/version
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.38.0
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|