slab-cli 0.2.0__tar.gz → 0.3.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 (27) hide show
  1. {slab_cli-0.2.0 → slab_cli-0.3.0}/PKG-INFO +1 -1
  2. {slab_cli-0.2.0 → slab_cli-0.3.0}/pyproject.toml +1 -1
  3. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/commands/catalog.py +8 -4
  4. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/help.py +16 -0
  5. {slab_cli-0.2.0 → slab_cli-0.3.0}/README.md +0 -0
  6. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/__init__.py +0 -0
  7. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/banner.py +0 -0
  8. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/client.py +0 -0
  9. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/commands/__init__.py +0 -0
  10. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/commands/breaks.py +0 -0
  11. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/commands/collection.py +0 -0
  12. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/commands/custom_sets.py +0 -0
  13. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/commands/export.py +0 -0
  14. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/commands/lots.py +0 -0
  15. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/commands/pricing.py +0 -0
  16. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/commands/registry.py +0 -0
  17. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/commands/setup.py +0 -0
  18. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/config.py +0 -0
  19. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/context.py +0 -0
  20. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/display.py +0 -0
  21. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/flags.py +0 -0
  22. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/main.py +0 -0
  23. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/paging.py +0 -0
  24. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/picker.py +0 -0
  25. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/prompts.py +0 -0
  26. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/sources.py +0 -0
  27. {slab_cli-0.2.0 → slab_cli-0.3.0}/src/slab_cli/theme.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: slab-cli
3
- Version: 0.2.0
3
+ Version: 0.3.0
4
4
  Summary: CLI for the slab trading-card API — catalog, collect, and track your cards from the terminal.
5
5
  Author: dev_jeb
6
6
  Requires-Dist: slab-schemas>=0.1.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "slab-cli"
3
- version = "0.2.0"
3
+ version = "0.3.0"
4
4
  description = "CLI for the slab trading-card API — catalog, collect, and track your cards from the terminal."
5
5
  readme = "README.md"
6
6
  authors = [{name = "dev_jeb"}]
@@ -21,10 +21,14 @@ def cmd_search(args: list[str]) -> None:
21
21
  The same flags work on `slab collection search` — learn them once.
22
22
 
23
23
  Examples:
24
- slab card search McDavid --rookie
25
- slab card search Bedard --year 2025 --numbered
26
- slab card search --brand "Upper Deck" --base --limit 50
27
- slab card search --team "Minnesota Wild" --auto
24
+ slab card search McDavid --rookie # free text + one filter
25
+ slab card search Bedard --year 2025 --numbered # season + serial-numbered only
26
+ slab card search --team Bruins --team Leafs # any-of: either team
27
+ slab card search --brand "Upper Deck" --run-min 1 --run-max 99 # print-run range
28
+ slab card search McDavid --auto --parallel --sort -year # stack modifiers, newest first
29
+ slab card search --subset "Young Guns" --rookie --limit 50
30
+
31
+ Every flag combines with AND; repeat an any-of flag (--team, --brand, --finish…) to widen it.
28
32
 
29
33
  Sort keys: year, card_number, numbered, subject, brand, set (prefix - for descending).
30
34
  """
@@ -66,9 +66,25 @@ def render_command_help(group: Group, command: Command) -> None:
66
66
  for f in flags:
67
67
  grid.add_row(f" {f.usage()}", f.help)
68
68
  console.print(grid)
69
+ _render_query_grammar()
69
70
  console.print()
70
71
 
71
72
 
73
+ def _render_query_grammar() -> None:
74
+ """A generic primer on how the search grammar composes — printed under every command's flag
75
+ table. It describes the mechanics (free text, any-of, ranges, AND), never specific flags, so it
76
+ stays true no matter how the flag list evolves."""
77
+ console.print(Text.from_markup(
78
+ "\n [slab.label]Writing a query[/]"
79
+ "\n [slab.dim]Bare words are a free-text search (player, set…).[/]"
80
+ "\n [slab.dim]Flags narrow it, and every flag you add combines with AND.[/]"
81
+ "\n [slab.dim]Repeat an 'any-of' flag to match several values:[/] "
82
+ "[slab.value]--team Bruins --team Leafs[/]"
83
+ "\n [slab.dim]Pair a[/] [slab.value]--…-min[/] [slab.dim]with its[/] [slab.value]--…-max[/] "
84
+ "[slab.dim]for a range:[/] [slab.value]--run-min 1 --run-max 99[/]"
85
+ ))
86
+
87
+
72
88
  def render_root_help() -> None:
73
89
  """`slab` — the whole command surface, grouped by noun. The discovery home."""
74
90
  console.print(BANNER)
File without changes
File without changes
File without changes
File without changes