blocket-toolkit 0.1.0__tar.gz → 0.1.2__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.
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "dojje-skills",
3
+ "description": "Agent Skills by dojje. Portable SKILL.md skills that work in Claude Code, Codex, opencode, Copilot, Cursor and other Agent Skills compatible agents.",
4
+ "owner": {
5
+ "name": "Daniel Hidefjäll",
6
+ "url": "https://github.com/dojje"
7
+ },
8
+ "plugins": [
9
+ {
10
+ "name": "blocket-toolkit",
11
+ "source": "./",
12
+ "skills": ["./skills/blocket-toolkit"],
13
+ "strict": false,
14
+ "version": "0.1.2",
15
+ "description": "Search all of Blocket.se from the terminal: general items (torget), cars, boats, motorcycles and single ad details, with compact JSON output.",
16
+ "author": {
17
+ "name": "Daniel Hidefjäll",
18
+ "url": "https://github.com/dojje"
19
+ },
20
+ "category": "search",
21
+ "tags": ["blocket", "marketplace", "sweden", "second-hand", "cli", "cars", "boats", "motorcycles"]
22
+ }
23
+ ]
24
+ }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: blocket-toolkit
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
4
  Summary: Search all of Blocket.se from the terminal: general items, cars, boats and motorcycles.
5
5
  Project-URL: Homepage, https://github.com/dojje/blocket-toolkit
6
6
  Project-URL: Repository, https://github.com/dojje/blocket-toolkit
@@ -29,12 +29,19 @@ Description-Content-Type: text/markdown
29
29
 
30
30
  # blocket-toolkit
31
31
 
32
+ [![PyPI](https://img.shields.io/pypi/v/blocket-toolkit)](https://pypi.org/project/blocket-toolkit/)
33
+ [![Python](https://img.shields.io/pypi/pyversions/blocket-toolkit)](https://pypi.org/project/blocket-toolkit/)
34
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue)](LICENSE)
35
+ [![Agent Skills](https://img.shields.io/badge/Agent%20Skills-compatible-6E56CF)](https://agentskills.io)
36
+
32
37
  Search **all of Blocket.se** from the terminal: general items (*torget*), cars, boats
33
38
  and motorcycles, with clean JSON output that is easy to pipe into other tools or hand
34
39
  to an LLM.
35
40
 
36
41
  Built on top of the [`blocket-api`](https://pypi.org/project/blocket_api/) Python
37
- package.
42
+ package. Published to PyPI with
43
+ [PEP 740 attestations](https://pypi.org/project/blocket-toolkit/) generated by GitHub
44
+ Actions.
38
45
 
39
46
  ## Features
40
47
 
@@ -46,6 +53,7 @@ package.
46
53
  - **Self-documenting enums**: every category, subcategory, region, brand and model can
47
54
  be listed or resolved by name *or* by Blocket's internal id.
48
55
  - **Pagination**: `--page`, `-n/--limit`, or `--all`.
56
+ - **Ships with an [Agent Skill](https://agentskills.io)** so an AI agent can drive it.
49
57
 
50
58
  ## Install
51
59
 
@@ -61,6 +69,28 @@ cd blocket-toolkit
61
69
  uv venv && uv pip install -e '.[dev]'
62
70
  ```
63
71
 
72
+ ## Use it as an agent skill
73
+
74
+ [`skills/blocket-toolkit/SKILL.md`](skills/blocket-toolkit/SKILL.md) is an
75
+ [Agent Skills](https://agentskills.io/specification) package, so an agent can pick up
76
+ the tool and drive it on its own.
77
+
78
+ ```bash
79
+ gh skill install dojje/blocket-toolkit blocket-toolkit # GitHub CLI 2.90+
80
+ npx skills add dojje/blocket-toolkit # npx skills
81
+ ```
82
+
83
+ Claude Code, through the bundled plugin marketplace:
84
+
85
+ ```
86
+ /plugin marketplace add dojje/blocket-toolkit
87
+ /plugin install blocket-toolkit@dojje-skills
88
+ ```
89
+
90
+ Anywhere else: clone the repo and symlink `skills/blocket-toolkit` into your agent's
91
+ skills directory (`~/.config/opencode/skills/`, `~/.claude/skills/` or
92
+ `~/.agents/skills/`). The skill needs the `blocket-toolkit` command on `PATH`.
93
+
64
94
  ## Quick start
65
95
 
66
96
  ```bash
@@ -1,11 +1,18 @@
1
1
  # blocket-toolkit
2
2
 
3
+ [![PyPI](https://img.shields.io/pypi/v/blocket-toolkit)](https://pypi.org/project/blocket-toolkit/)
4
+ [![Python](https://img.shields.io/pypi/pyversions/blocket-toolkit)](https://pypi.org/project/blocket-toolkit/)
5
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue)](LICENSE)
6
+ [![Agent Skills](https://img.shields.io/badge/Agent%20Skills-compatible-6E56CF)](https://agentskills.io)
7
+
3
8
  Search **all of Blocket.se** from the terminal: general items (*torget*), cars, boats
4
9
  and motorcycles, with clean JSON output that is easy to pipe into other tools or hand
5
10
  to an LLM.
6
11
 
7
12
  Built on top of the [`blocket-api`](https://pypi.org/project/blocket_api/) Python
8
- package.
13
+ package. Published to PyPI with
14
+ [PEP 740 attestations](https://pypi.org/project/blocket-toolkit/) generated by GitHub
15
+ Actions.
9
16
 
10
17
  ## Features
11
18
 
@@ -17,6 +24,7 @@ package.
17
24
  - **Self-documenting enums**: every category, subcategory, region, brand and model can
18
25
  be listed or resolved by name *or* by Blocket's internal id.
19
26
  - **Pagination**: `--page`, `-n/--limit`, or `--all`.
27
+ - **Ships with an [Agent Skill](https://agentskills.io)** so an AI agent can drive it.
20
28
 
21
29
  ## Install
22
30
 
@@ -32,6 +40,28 @@ cd blocket-toolkit
32
40
  uv venv && uv pip install -e '.[dev]'
33
41
  ```
34
42
 
43
+ ## Use it as an agent skill
44
+
45
+ [`skills/blocket-toolkit/SKILL.md`](skills/blocket-toolkit/SKILL.md) is an
46
+ [Agent Skills](https://agentskills.io/specification) package, so an agent can pick up
47
+ the tool and drive it on its own.
48
+
49
+ ```bash
50
+ gh skill install dojje/blocket-toolkit blocket-toolkit # GitHub CLI 2.90+
51
+ npx skills add dojje/blocket-toolkit # npx skills
52
+ ```
53
+
54
+ Claude Code, through the bundled plugin marketplace:
55
+
56
+ ```
57
+ /plugin marketplace add dojje/blocket-toolkit
58
+ /plugin install blocket-toolkit@dojje-skills
59
+ ```
60
+
61
+ Anywhere else: clone the repo and symlink `skills/blocket-toolkit` into your agent's
62
+ skills directory (`~/.config/opencode/skills/`, `~/.claude/skills/` or
63
+ `~/.agents/skills/`). The skill needs the `blocket-toolkit` command on `PATH`.
64
+
35
65
  ## Quick start
36
66
 
37
67
  ```bash
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "blocket-toolkit"
7
- version = "0.1.0"
7
+ version = "0.1.2"
8
8
  description = "Search all of Blocket.se from the terminal: general items, cars, boats and motorcycles."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -2,6 +2,7 @@
2
2
  name: blocket-toolkit
3
3
  description: Search all of Blocket.se (Swedish marketplace) from the terminal. Covers general items (torget), cars, boats, motorcycles and full ad details. Use when the user wants to find, search, compare or look up anything on Blocket, including begagnade prylar, fynd, priser, bilar, båtar, motorcyklar and annonsdetaljer. Output is JSON by default.
4
4
  license: MIT
5
+ compatibility: Requires the blocket-toolkit CLI on PATH (uv tool install blocket-toolkit) and network access to blocket.se
5
6
  ---
6
7
 
7
8
  # blocket-toolkit
@@ -0,0 +1,12 @@
1
+ """blocket-toolkit: search all of Blocket.se from the terminal."""
2
+
3
+ from importlib.metadata import PackageNotFoundError, version
4
+
5
+ from .client import BlocketClient, Page
6
+
7
+ try:
8
+ __version__ = version("blocket-toolkit")
9
+ except PackageNotFoundError:
10
+ __version__ = "0.0.0.dev0"
11
+
12
+ __all__ = ["BlocketClient", "Page", "__version__"]
@@ -0,0 +1,19 @@
1
+ import re
2
+ from importlib.metadata import version
3
+ from pathlib import Path
4
+
5
+ from blocket_toolkit import __version__
6
+
7
+
8
+ def test_version_matches_installed_metadata():
9
+ assert __version__ == version("blocket-toolkit")
10
+
11
+
12
+ def test_pyproject_version_matches_installed_metadata():
13
+ root = Path(__file__).resolve().parents[1]
14
+ pyproject = (root / "pyproject.toml").read_text(encoding="utf-8")
15
+ declared = re.search(r'^version = "([^"]+)"', pyproject, re.MULTILINE).group(1)
16
+ assert declared == version("blocket-toolkit"), (
17
+ "pyproject version and the installed distribution disagree; "
18
+ "reinstall the project after bumping the version"
19
+ )
@@ -1,6 +0,0 @@
1
- """blocket-toolkit: search all of Blocket.se from the terminal."""
2
-
3
- from .client import BlocketClient, Page
4
-
5
- __version__ = "0.1.0"
6
- __all__ = ["BlocketClient", "Page", "__version__"]
File without changes