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.
- blocket_toolkit-0.1.2/.claude-plugin/marketplace.json +24 -0
- {blocket_toolkit-0.1.0 → blocket_toolkit-0.1.2}/PKG-INFO +32 -2
- {blocket_toolkit-0.1.0 → blocket_toolkit-0.1.2}/README.md +31 -1
- {blocket_toolkit-0.1.0 → blocket_toolkit-0.1.2}/pyproject.toml +1 -1
- {blocket_toolkit-0.1.0 → blocket_toolkit-0.1.2}/skills/blocket-toolkit/SKILL.md +1 -0
- blocket_toolkit-0.1.2/src/blocket_toolkit/__init__.py +12 -0
- blocket_toolkit-0.1.2/tests/test_version.py +19 -0
- blocket_toolkit-0.1.0/src/blocket_toolkit/__init__.py +0 -6
- {blocket_toolkit-0.1.0 → blocket_toolkit-0.1.2}/.github/workflows/release.yml +0 -0
- {blocket_toolkit-0.1.0 → blocket_toolkit-0.1.2}/.gitignore +0 -0
- {blocket_toolkit-0.1.0 → blocket_toolkit-0.1.2}/LICENSE +0 -0
- {blocket_toolkit-0.1.0 → blocket_toolkit-0.1.2}/src/blocket_toolkit/cli.py +0 -0
- {blocket_toolkit-0.1.0 → blocket_toolkit-0.1.2}/src/blocket_toolkit/client.py +0 -0
- {blocket_toolkit-0.1.0 → blocket_toolkit-0.1.2}/src/blocket_toolkit/enums.py +0 -0
- {blocket_toolkit-0.1.0 → blocket_toolkit-0.1.2}/src/blocket_toolkit/format.py +0 -0
- {blocket_toolkit-0.1.0 → blocket_toolkit-0.1.2}/tests/test_cli.py +0 -0
- {blocket_toolkit-0.1.0 → blocket_toolkit-0.1.2}/tests/test_client.py +0 -0
- {blocket_toolkit-0.1.0 → blocket_toolkit-0.1.2}/tests/test_enums.py +0 -0
- {blocket_toolkit-0.1.0 → blocket_toolkit-0.1.2}/tests/test_live.py +0 -0
|
@@ -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.
|
|
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
|
+
[](https://pypi.org/project/blocket-toolkit/)
|
|
33
|
+
[](https://pypi.org/project/blocket-toolkit/)
|
|
34
|
+
[](LICENSE)
|
|
35
|
+
[](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
|
+
[](https://pypi.org/project/blocket-toolkit/)
|
|
4
|
+
[](https://pypi.org/project/blocket-toolkit/)
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
[](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.
|
|
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
|
+
)
|
|
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
|