walla-cli 0.1.0__tar.gz → 0.1.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 (75) hide show
  1. {walla_cli-0.1.0 → walla_cli-0.1.1}/AGENTS.md +1 -1
  2. {walla_cli-0.1.0 → walla_cli-0.1.1}/PKG-INFO +6 -8
  3. {walla_cli-0.1.0 → walla_cli-0.1.1}/README.md +5 -7
  4. {walla_cli-0.1.0 → walla_cli-0.1.1}/docs/mcp.md +1 -1
  5. {walla_cli-0.1.0 → walla_cli-0.1.1}/pyproject.toml +1 -1
  6. {walla_cli-0.1.0 → walla_cli-0.1.1}/skills/walla/SKILL.md +1 -1
  7. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/__init__.py +1 -1
  8. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/cli/banner.py +16 -0
  9. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/cli/main.py +5 -3
  10. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/core/instruct.py +2 -1
  11. {walla_cli-0.1.0 → walla_cli-0.1.1}/.cursor/rules/quality.mdc +0 -0
  12. {walla_cli-0.1.0 → walla_cli-0.1.1}/.github/workflows/ci.yml +0 -0
  13. {walla_cli-0.1.0 → walla_cli-0.1.1}/.gitignore +0 -0
  14. {walla_cli-0.1.0 → walla_cli-0.1.1}/LICENSE +0 -0
  15. {walla_cli-0.1.0 → walla_cli-0.1.1}/docs/WIRE.md +0 -0
  16. {walla_cli-0.1.0 → walla_cli-0.1.1}/docs/assets/walla-github-banner.jpg +0 -0
  17. {walla_cli-0.1.0 → walla_cli-0.1.1}/docs/code_quality.md +0 -0
  18. {walla_cli-0.1.0 → walla_cli-0.1.1}/docs/data_engineering_standards.md +0 -0
  19. {walla_cli-0.1.0 → walla_cli-0.1.1}/docs/objective_function.md +0 -0
  20. {walla_cli-0.1.0 → walla_cli-0.1.1}/docs/rate_limit_analysis.md +0 -0
  21. {walla_cli-0.1.0 → walla_cli-0.1.1}/fixtures/categories.json +0 -0
  22. {walla_cli-0.1.0 → walla_cli-0.1.1}/fixtures/item_detail.json +0 -0
  23. {walla_cli-0.1.0 → walla_cli-0.1.1}/fixtures/search_bicicleta.json +0 -0
  24. {walla_cli-0.1.0 → walla_cli-0.1.1}/scripts/check_code_quality.py +0 -0
  25. {walla_cli-0.1.0 → walla_cli-0.1.1}/scripts/probe_rate.py +0 -0
  26. {walla_cli-0.1.0 → walla_cli-0.1.1}/tests/test_account.py +0 -0
  27. {walla_cli-0.1.0 → walla_cli-0.1.1}/tests/test_account_more.py +0 -0
  28. {walla_cli-0.1.0 → walla_cli-0.1.1}/tests/test_catch.py +0 -0
  29. {walla_cli-0.1.0 → walla_cli-0.1.1}/tests/test_cli_json.py +0 -0
  30. {walla_cli-0.1.0 → walla_cli-0.1.1}/tests/test_core.py +0 -0
  31. {walla_cli-0.1.0 → walla_cli-0.1.1}/tests/test_edges.py +0 -0
  32. {walla_cli-0.1.0 → walla_cli-0.1.1}/tests/test_http_more.py +0 -0
  33. {walla_cli-0.1.0 → walla_cli-0.1.1}/tests/test_live.py +0 -0
  34. {walla_cli-0.1.0 → walla_cli-0.1.1}/tests/test_parsers.py +0 -0
  35. {walla_cli-0.1.0 → walla_cli-0.1.1}/tests/test_polite.py +0 -0
  36. {walla_cli-0.1.0 → walla_cli-0.1.1}/tests/test_search_api.py +0 -0
  37. {walla_cli-0.1.0 → walla_cli-0.1.1}/tests/test_session_store.py +0 -0
  38. {walla_cli-0.1.0 → walla_cli-0.1.1}/tests/test_verdict.py +0 -0
  39. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/account/__init__.py +0 -0
  40. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/account/actions.py +0 -0
  41. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/account/cookies.py +0 -0
  42. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/account/inbox.py +0 -0
  43. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/account/login.py +0 -0
  44. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/account/prompt.py +0 -0
  45. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/account/session_store.py +0 -0
  46. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/cli/__init__.py +0 -0
  47. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/cli/catch.py +0 -0
  48. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/cli/cmd_account.py +0 -0
  49. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/cli/cmd_look.py +0 -0
  50. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/cli/cmd_ops.py +0 -0
  51. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/cli/console.py +0 -0
  52. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/core/__init__.py +0 -0
  53. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/core/envelope.py +0 -0
  54. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/core/errors.py +0 -0
  55. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/core/exceptions.py +0 -0
  56. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/core/human_fix.py +0 -0
  57. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/core/path.py +0 -0
  58. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/http/__init__.py +0 -0
  59. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/http/client.py +0 -0
  60. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/http/headers.py +0 -0
  61. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/http/polite.py +0 -0
  62. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/hunter/__init__.py +0 -0
  63. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/hunter/profile_store.py +0 -0
  64. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/hunter/verdict.py +0 -0
  65. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/hunter/watches.py +0 -0
  66. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/mcp/__init__.py +0 -0
  67. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/mcp/_entry.py +0 -0
  68. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/mcp/server.py +0 -0
  69. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/models/__init__.py +0 -0
  70. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/models/account.py +0 -0
  71. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/models/listing.py +0 -0
  72. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/models/profile.py +0 -0
  73. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/search/__init__.py +0 -0
  74. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/search/api.py +0 -0
  75. {walla_cli-0.1.0 → walla_cli-0.1.1}/walla/search/parse.py +0 -0
@@ -21,7 +21,7 @@ pytest -q -m "not live"
21
21
  ## Calling walla from an agent
22
22
 
23
23
  ```bash
24
- pipx install 'walla-cli[mcp]'
24
+ pipx install 'walla-cli[mcp]' # PyPI preferred
25
25
  walla instruct --json
26
26
  walla setup --lat 41.39 --lon 2.17 --km 30 --label Barcelona --json
27
27
  walla login --cookie '<session-token>' --json
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: walla-cli
3
- Version: 0.1.0
3
+ Version: 0.1.1
4
4
  Summary: Wallapop.es CLI - look · offer · talk for humans and agents
5
5
  Project-URL: Homepage, https://github.com/berendgort/wallapop-cli
6
6
  Project-URL: Repository, https://github.com/berendgort/wallapop-cli
@@ -106,11 +106,11 @@ Link listings as `https://es.wallapop.com/item/<web_slug>`. Verdicts:
106
106
 
107
107
  ### Bootstrap
108
108
 
109
- 1. Install from this clone:
109
+ 1. Install from **PyPI** (preferred):
110
110
  ```bash
111
- pipx install 'walla-cli[mcp]'
112
- # from clone: pipx install -e '.[mcp]'
113
- ```
111
+ pipx install 'walla-cli[mcp]'
112
+ ```
113
+ From a clone only when hacking: `pipx install -e '.[mcp]'`.
114
114
  2. `walla doctor --json` — read `auth.session` and `network.reachable`.
115
115
  **Never** print tokens or cookies.
116
116
  3. If no session: ask the human to run `walla login` and paste
@@ -151,9 +151,7 @@ Rules:
151
151
  ## Install
152
152
 
153
153
  ```bash
154
- git clone git@github.com:berendgort/wallapop-cli.git
155
- cd wallapop-cli
156
- pipx install 'walla-cli[mcp]' # or: pipx install -e '.[mcp]'
154
+ pipx install 'walla-cli[mcp]' # PyPI: https://pypi.org/project/walla-cli/
157
155
  walla setup --lat 41.39 --lon 2.17 --km 30 --label Barcelona --json
158
156
  walla login # paste __Secure-next-auth.session-token
159
157
  walla doctor --json
@@ -62,11 +62,11 @@ Link listings as `https://es.wallapop.com/item/<web_slug>`. Verdicts:
62
62
 
63
63
  ### Bootstrap
64
64
 
65
- 1. Install from this clone:
65
+ 1. Install from **PyPI** (preferred):
66
66
  ```bash
67
- pipx install 'walla-cli[mcp]'
68
- # from clone: pipx install -e '.[mcp]'
69
- ```
67
+ pipx install 'walla-cli[mcp]'
68
+ ```
69
+ From a clone only when hacking: `pipx install -e '.[mcp]'`.
70
70
  2. `walla doctor --json` — read `auth.session` and `network.reachable`.
71
71
  **Never** print tokens or cookies.
72
72
  3. If no session: ask the human to run `walla login` and paste
@@ -107,9 +107,7 @@ Rules:
107
107
  ## Install
108
108
 
109
109
  ```bash
110
- git clone git@github.com:berendgort/wallapop-cli.git
111
- cd wallapop-cli
112
- pipx install 'walla-cli[mcp]' # or: pipx install -e '.[mcp]'
110
+ pipx install 'walla-cli[mcp]' # PyPI: https://pypi.org/project/walla-cli/
113
111
  walla setup --lat 41.39 --lon 2.17 --km 30 --label Barcelona --json
114
112
  walla login # paste __Secure-next-auth.session-token
115
113
  walla doctor --json
@@ -3,7 +3,7 @@
3
3
  Optional FastMCP adapter over the same core as the CLI.
4
4
 
5
5
  ```bash
6
- pipx install -e '.[mcp]'
6
+ pipx install 'walla-cli[mcp]'
7
7
  walla-mcp # STDIO
8
8
  walla-mcp-http # http://127.0.0.1:8000/mcp/
9
9
  ```
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "walla-cli"
3
- version = "0.1.0"
3
+ version = "0.1.1"
4
4
  description = "Wallapop.es CLI - look · offer · talk for humans and agents"
5
5
  authors = [{ name = "Dr. Berend Gort", email = "berend.gort@gmail.com" }]
6
6
  readme = "README.md"
@@ -13,7 +13,7 @@ license: MIT
13
13
  ## Bootstrap
14
14
 
15
15
  ```bash
16
- pipx install 'walla-cli[mcp]'
16
+ pipx install 'walla-cli[mcp]' # PyPI: https://pypi.org/project/walla-cli/
17
17
  walla doctor --json
18
18
  # If auth.session is false: ask human to run `walla login` and paste cookie
19
19
  # Or: walla login --cookie '<value>' --json
@@ -4,4 +4,4 @@ from __future__ import annotations
4
4
 
5
5
  __all__ = ("__version__",)
6
6
 
7
- __version__ = "0.1.0"
7
+ __version__ = "0.1.1"
@@ -20,6 +20,7 @@ _BANNER_ROWS = (
20
20
  _STYLE = "bold #A3E635"
21
21
  _TAG = "italic #D9F99D"
22
22
  _CREDIT = "#84CC16"
23
+ _HOOK = "#BEF264"
23
24
 
24
25
 
25
26
  def print_banner() -> None:
@@ -31,3 +32,18 @@ def print_banner() -> None:
31
32
  console.print(Text(" look · offer · talk", style=_TAG))
32
33
  console.print(Text(" Dr. Berend Gort · www.berendgort.dev", style=_CREDIT))
33
34
  console.print()
35
+ console.print(
36
+ Text(
37
+ ' Example: "Find a used kite near Barcelona under 400eur,\n'
38
+ ' message the seller, offer if it is a GRAB."',
39
+ style=_HOOK,
40
+ )
41
+ )
42
+ console.print(
43
+ Text(
44
+ " Install: pipx install 'walla-cli[mcp]' "
45
+ "https://pypi.org/project/walla-cli/",
46
+ style=_CREDIT,
47
+ )
48
+ )
49
+ console.print()
@@ -23,9 +23,11 @@ app = typer.Typer(
23
23
  name="walla",
24
24
  cls=_WallaGroup,
25
25
  help=(
26
- "Wallapop.es look · offer · talk for humans and agents. "
27
- "Happy path: setup -> search -> login -> inbox / offer. "
28
- "Run `walla instruct --json` for the recipe."
26
+ "Wallapop.es look · offer · talk. "
27
+ "Example ask: find a used kite near Barcelona under 400eur, "
28
+ "message seller, offer if GRAB. "
29
+ "Install: pipx install 'walla-cli[mcp]'. "
30
+ "Recipe: walla instruct --json."
29
31
  ),
30
32
  no_args_is_help=True,
31
33
  add_completion=False,
@@ -18,7 +18,8 @@ def instruct_recipe() -> dict[str, Any]:
18
18
  "-> walla inbox."
19
19
  ),
20
20
  "protocol": [
21
- "Install: pipx install 'walla-cli[mcp]' (or pipx install -e '.[mcp]' in the clone).",
21
+ "Install from PyPI: pipx install 'walla-cli[mcp]' "
22
+ "(https://pypi.org/project/walla-cli/). Clone only if hacking.",
22
23
  "walla doctor --json - never print tokens or cookies.",
23
24
  "If no session: ask the human to run `walla login` and paste "
24
25
  "__Secure-next-auth.session-token (or pass --cookie for non-interactive).",
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