queria 0.1.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.
- queria-0.1.0/.github/workflows/ci.yml +16 -0
- queria-0.1.0/.github/workflows/docs.yml +42 -0
- queria-0.1.0/.github/workflows/release.yml +35 -0
- queria-0.1.0/.gitignore +7 -0
- queria-0.1.0/CHANGELOG.md +30 -0
- queria-0.1.0/LICENSE +21 -0
- queria-0.1.0/PKG-INFO +77 -0
- queria-0.1.0/README.md +59 -0
- queria-0.1.0/docs/CNAME +1 -0
- queria-0.1.0/docs/getting-started/installation.md +37 -0
- queria-0.1.0/docs/getting-started/quickstart.md +51 -0
- queria-0.1.0/docs/guide/cli.md +49 -0
- queria-0.1.0/docs/guide/compatibility.md +38 -0
- queria-0.1.0/docs/guide/direct-access.md +42 -0
- queria-0.1.0/docs/guide/mcp.md +48 -0
- queria-0.1.0/docs/index.md +32 -0
- queria-0.1.0/docs/reference/cli.md +73 -0
- queria-0.1.0/docs/reference/mcp-tools.md +58 -0
- queria-0.1.0/docs/reference/python-api.md +36 -0
- queria-0.1.0/docs/resources/changelog.md +5 -0
- queria-0.1.0/pyproject.toml +52 -0
- queria-0.1.0/src/queria/__init__.py +7 -0
- queria-0.1.0/src/queria/cli.py +175 -0
- queria-0.1.0/src/queria/core.py +254 -0
- queria-0.1.0/src/queria/mcp.py +132 -0
- queria-0.1.0/tests/conftest.py +67 -0
- queria-0.1.0/tests/test_cli.py +85 -0
- queria-0.1.0/tests/test_core.py +79 -0
- queria-0.1.0/tests/test_live.py +30 -0
- queria-0.1.0/tests/test_mcp.py +87 -0
- queria-0.1.0/uv.lock +1515 -0
- queria-0.1.0/zensical.toml +57 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
test:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v5
|
|
13
|
+
- uses: astral-sh/setup-uv@v7
|
|
14
|
+
- run: uv sync
|
|
15
|
+
- run: uv run pytest
|
|
16
|
+
- run: uv run zensical build
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
name: Docs
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
paths:
|
|
7
|
+
- "docs/**"
|
|
8
|
+
- "zensical.toml"
|
|
9
|
+
- "CHANGELOG.md"
|
|
10
|
+
- "src/**"
|
|
11
|
+
- ".github/workflows/docs.yml"
|
|
12
|
+
workflow_dispatch:
|
|
13
|
+
|
|
14
|
+
permissions:
|
|
15
|
+
contents: read
|
|
16
|
+
pages: write
|
|
17
|
+
id-token: write
|
|
18
|
+
|
|
19
|
+
concurrency:
|
|
20
|
+
group: pages
|
|
21
|
+
cancel-in-progress: false
|
|
22
|
+
|
|
23
|
+
jobs:
|
|
24
|
+
build:
|
|
25
|
+
runs-on: ubuntu-latest
|
|
26
|
+
steps:
|
|
27
|
+
- uses: actions/checkout@v5
|
|
28
|
+
- uses: astral-sh/setup-uv@v7
|
|
29
|
+
- run: uv run zensical build
|
|
30
|
+
- uses: actions/upload-pages-artifact@v4
|
|
31
|
+
with:
|
|
32
|
+
path: site
|
|
33
|
+
|
|
34
|
+
deploy:
|
|
35
|
+
needs: build
|
|
36
|
+
runs-on: ubuntu-latest
|
|
37
|
+
environment:
|
|
38
|
+
name: github-pages
|
|
39
|
+
url: ${{ steps.deployment.outputs.page_url }}
|
|
40
|
+
steps:
|
|
41
|
+
- id: deployment
|
|
42
|
+
uses: actions/deploy-pages@v5
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
|
|
6
|
+
jobs:
|
|
7
|
+
release:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
permissions:
|
|
10
|
+
contents: write
|
|
11
|
+
id-token: write
|
|
12
|
+
actions: write
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v5
|
|
15
|
+
with:
|
|
16
|
+
fetch-depth: 0
|
|
17
|
+
|
|
18
|
+
- uses: python-semantic-release/python-semantic-release@v9
|
|
19
|
+
id: release
|
|
20
|
+
with:
|
|
21
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
22
|
+
|
|
23
|
+
- if: steps.release.outputs.released == 'true'
|
|
24
|
+
uses: astral-sh/setup-uv@v7
|
|
25
|
+
|
|
26
|
+
- if: steps.release.outputs.released == 'true'
|
|
27
|
+
run: uv build
|
|
28
|
+
|
|
29
|
+
- if: steps.release.outputs.released == 'true'
|
|
30
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
31
|
+
|
|
32
|
+
- if: steps.release.outputs.released == 'true'
|
|
33
|
+
run: gh workflow run docs.yml --ref main
|
|
34
|
+
env:
|
|
35
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
queria-0.1.0/.gitignore
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# CHANGELOG
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
## v0.1.0 (2026-07-11)
|
|
5
|
+
|
|
6
|
+
### Chores
|
|
7
|
+
|
|
8
|
+
- Update org references from flo8s to queria-io
|
|
9
|
+
([`ca647a6`](https://github.com/queria-io/queria-cli/commit/ca647a6880dff76e12aef7af5daeb5b189fa64cf))
|
|
10
|
+
|
|
11
|
+
### Continuous Integration
|
|
12
|
+
|
|
13
|
+
- Test, docs deploy, and release workflows
|
|
14
|
+
([`5686528`](https://github.com/queria-io/queria-cli/commit/5686528933dfb1a58235332c160a1a6c2c4f4c9e))
|
|
15
|
+
|
|
16
|
+
### Documentation
|
|
17
|
+
|
|
18
|
+
- Documentation site for docs.queria.io
|
|
19
|
+
([`5045b94`](https://github.com/queria-io/queria-cli/commit/5045b94cfeddd0bbd4e383f823eef3aad8b49881))
|
|
20
|
+
|
|
21
|
+
### Features
|
|
22
|
+
|
|
23
|
+
- **cli**: Subcommand interface with table/csv/json/jsonl and file output
|
|
24
|
+
([`b1638a0`](https://github.com/queria-io/queria-cli/commit/b1638a0fc64d54ea437912c8830db6ca7be34a80))
|
|
25
|
+
|
|
26
|
+
- **core**: Read-only connection with auto-attach and catalog queries
|
|
27
|
+
([`cad8c13`](https://github.com/queria-io/queria-cli/commit/cad8c13671d67e00490698f90ac8152e1e677a1b))
|
|
28
|
+
|
|
29
|
+
- **mcp**: Stdio MCP server with row and payload caps
|
|
30
|
+
([`630ec15`](https://github.com/queria-io/queria-cli/commit/630ec15b1fd3239ddf56db9c1ca711249e8dc181))
|
queria-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 flo8s
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
queria-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: queria
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Query Japanese open data on Queria (data.queria.io) from the terminal, Python, and MCP
|
|
5
|
+
Project-URL: Homepage, https://docs.queria.io/
|
|
6
|
+
Project-URL: Documentation, https://docs.queria.io/
|
|
7
|
+
Project-URL: Repository, https://github.com/queria-io/queria-cli
|
|
8
|
+
Project-URL: Changelog, https://docs.queria.io/resources/changelog/
|
|
9
|
+
Author: flo8s
|
|
10
|
+
License-Expression: MIT
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Keywords: duckdb,ducklake,japan,mcp,opendata
|
|
13
|
+
Requires-Python: >=3.10
|
|
14
|
+
Requires-Dist: duckdb<2.0,>=1.5.4
|
|
15
|
+
Provides-Extra: mcp
|
|
16
|
+
Requires-Dist: mcp>=1.2; extra == 'mcp'
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
|
|
19
|
+
# queria
|
|
20
|
+
|
|
21
|
+
Query Japanese open data on [Queria](https://data.queria.io) from the terminal, Python, and MCP.
|
|
22
|
+
|
|
23
|
+
[Queria](https://data.queria.io) が公開する日本のオープンデータ(e-Stat、国土数値情報、EDINET、気象庁ほか)を、ターミナル・Python・MCP から read-only で探索するクライアントです。データは DuckLake 形式で公開されており、計算はすべて手元の DuckDB で行われます。
|
|
24
|
+
|
|
25
|
+
## インストール
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
uvx queria list # インストール不要で実行
|
|
29
|
+
pip install queria # または通常インストール
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Python 3.10+ が必要です。
|
|
33
|
+
|
|
34
|
+
## 使い方
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
queria list # データセット一覧
|
|
38
|
+
queria search 人口 # キーワード検索
|
|
39
|
+
queria schema e_stat # テーブル一覧
|
|
40
|
+
queria columns e_stat mart_population # カラム一覧
|
|
41
|
+
queria sql "SELECT * FROM zipcode.main.zipcodes LIMIT 10"
|
|
42
|
+
queria sql "SELECT * FROM zipcode.main.zipcodes" --out zipcodes.parquet
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
テーブルは `<dataset>.<schema>.<table>` で参照します。参照したデータセットは自動的に ATTACH されます。
|
|
46
|
+
|
|
47
|
+
## Python API
|
|
48
|
+
|
|
49
|
+
```python
|
|
50
|
+
import queria
|
|
51
|
+
|
|
52
|
+
with queria.connect() as conn:
|
|
53
|
+
conn.sql("SELECT * FROM catalog.main.mart_datasets").show()
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## MCP サーバー
|
|
57
|
+
|
|
58
|
+
Claude Code / Claude Desktop / Cursor などの MCP クライアントから使えます:
|
|
59
|
+
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"mcpServers": {
|
|
63
|
+
"queria": {
|
|
64
|
+
"command": "uvx",
|
|
65
|
+
"args": ["--from", "queria[mcp]", "queria", "mcp"]
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## ドキュメント
|
|
72
|
+
|
|
73
|
+
https://docs.queria.io/
|
|
74
|
+
|
|
75
|
+
## License
|
|
76
|
+
|
|
77
|
+
MIT
|
queria-0.1.0/README.md
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# queria
|
|
2
|
+
|
|
3
|
+
Query Japanese open data on [Queria](https://data.queria.io) from the terminal, Python, and MCP.
|
|
4
|
+
|
|
5
|
+
[Queria](https://data.queria.io) が公開する日本のオープンデータ(e-Stat、国土数値情報、EDINET、気象庁ほか)を、ターミナル・Python・MCP から read-only で探索するクライアントです。データは DuckLake 形式で公開されており、計算はすべて手元の DuckDB で行われます。
|
|
6
|
+
|
|
7
|
+
## インストール
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
uvx queria list # インストール不要で実行
|
|
11
|
+
pip install queria # または通常インストール
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Python 3.10+ が必要です。
|
|
15
|
+
|
|
16
|
+
## 使い方
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
queria list # データセット一覧
|
|
20
|
+
queria search 人口 # キーワード検索
|
|
21
|
+
queria schema e_stat # テーブル一覧
|
|
22
|
+
queria columns e_stat mart_population # カラム一覧
|
|
23
|
+
queria sql "SELECT * FROM zipcode.main.zipcodes LIMIT 10"
|
|
24
|
+
queria sql "SELECT * FROM zipcode.main.zipcodes" --out zipcodes.parquet
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
テーブルは `<dataset>.<schema>.<table>` で参照します。参照したデータセットは自動的に ATTACH されます。
|
|
28
|
+
|
|
29
|
+
## Python API
|
|
30
|
+
|
|
31
|
+
```python
|
|
32
|
+
import queria
|
|
33
|
+
|
|
34
|
+
with queria.connect() as conn:
|
|
35
|
+
conn.sql("SELECT * FROM catalog.main.mart_datasets").show()
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## MCP サーバー
|
|
39
|
+
|
|
40
|
+
Claude Code / Claude Desktop / Cursor などの MCP クライアントから使えます:
|
|
41
|
+
|
|
42
|
+
```json
|
|
43
|
+
{
|
|
44
|
+
"mcpServers": {
|
|
45
|
+
"queria": {
|
|
46
|
+
"command": "uvx",
|
|
47
|
+
"args": ["--from", "queria[mcp]", "queria", "mcp"]
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## ドキュメント
|
|
54
|
+
|
|
55
|
+
https://docs.queria.io/
|
|
56
|
+
|
|
57
|
+
## License
|
|
58
|
+
|
|
59
|
+
MIT
|
queria-0.1.0/docs/CNAME
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
docs.queria.io
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: インストール
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# インストール
|
|
6
|
+
|
|
7
|
+
queria は PyPI で配布される Python パッケージです。Python 3.10+ が必要です。
|
|
8
|
+
|
|
9
|
+
## uvx(推奨)
|
|
10
|
+
|
|
11
|
+
[uv](https://docs.astral.sh/uv/) があればインストール不要で実行できます:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
uvx queria list
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
MCP サーバーを使う場合は `mcp` extra を付けます:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
uvx --from 'queria[mcp]' queria mcp
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## pip / pipx
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
pip install queria
|
|
27
|
+
# MCP サーバーも使う場合
|
|
28
|
+
pip install 'queria[mcp]'
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
pipx install queria
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## 依存関係
|
|
36
|
+
|
|
37
|
+
依存は `duckdb>=1.5.4` のみです。このピンは Queria が公開する DuckLake format 1.0 を読むために必要なバージョンで、詳細は[互換性ポリシー](../guide/compatibility.md)を参照してください。
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: クイックスタート
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# クイックスタート
|
|
6
|
+
|
|
7
|
+
探索 → クエリ → 出力までの基本フローです。以下は `uvx queria` でも `queria`(インストール済み)でも同じです。
|
|
8
|
+
|
|
9
|
+
## 1. データセットを探す
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
queria list
|
|
13
|
+
queria search 人口
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## 2. テーブルとカラムを調べる
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
queria schema e_stat
|
|
20
|
+
queria columns e_stat mart_population_prefecture
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## 3. SQL を実行する
|
|
24
|
+
|
|
25
|
+
テーブルは `<dataset>.<schema>.<table>` で参照します。参照したデータセットは自動的に ATTACH されるので、事前準備は不要です。
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
queria sql "
|
|
29
|
+
SELECT date, holiday_name
|
|
30
|
+
FROM calendar.main.mart_calendar
|
|
31
|
+
WHERE is_holiday AND date BETWEEN DATE '2026-01-01' AND DATE '2026-12-31'
|
|
32
|
+
ORDER BY date
|
|
33
|
+
"
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
DuckDB の SQL がそのまま使えます。データセットをまたぐ JOIN も可能です。
|
|
37
|
+
|
|
38
|
+
## 4. 結果をファイルに出力する
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
queria sql "SELECT * FROM zipcode.main.zipcodes" --out zipcodes.parquet
|
|
42
|
+
queria sql "SELECT * FROM zipcode.main.zipcodes" --out zipcodes.csv
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
stdout の形式は `--format table|csv|json|jsonl` で切り替えられます(デフォルトは `table`)。
|
|
46
|
+
|
|
47
|
+
## 次のステップ
|
|
48
|
+
|
|
49
|
+
- [CLI ガイド](../guide/cli.md) — オプションの詳細
|
|
50
|
+
- [MCP サーバー](../guide/mcp.md) — エージェントからの利用
|
|
51
|
+
- [Python API](../reference/python-api.md) — ノートブックやスクリプトからの利用
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: CLI ガイド
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# CLI ガイド
|
|
6
|
+
|
|
7
|
+
## コマンド体系
|
|
8
|
+
|
|
9
|
+
| コマンド | 役割 |
|
|
10
|
+
|---|---|
|
|
11
|
+
| `queria list` | データセット一覧 |
|
|
12
|
+
| `queria search <keyword>` | タイトル・説明のキーワード検索 |
|
|
13
|
+
| `queria schema <dataset>` | データセットのテーブル一覧 |
|
|
14
|
+
| `queria columns <dataset> [table]` | カラム一覧(table 指定で絞り込み) |
|
|
15
|
+
| `queria sql "<query>"` | read-only SQL の実行 |
|
|
16
|
+
| `queria mcp` | stdio MCP サーバーの起動 |
|
|
17
|
+
|
|
18
|
+
## 出力形式
|
|
19
|
+
|
|
20
|
+
`--format` で stdout の形式を選べます:
|
|
21
|
+
|
|
22
|
+
- `table`(デフォルト)— 人間向けの整形テーブル
|
|
23
|
+
- `csv` — ヘッダー付き CSV
|
|
24
|
+
- `json` — レコードの JSON 配列
|
|
25
|
+
- `jsonl` — 1行1レコードの JSON(ストリーム処理向け)
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
queria list --format json | jq '.[].datasource'
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## ファイル出力
|
|
32
|
+
|
|
33
|
+
`--out` で結果をファイルに書き出します。拡張子で形式が決まります(`.parquet` / `.csv`)。大きな結果は stdout ではなく `--out` を使ってください。
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
queria sql "SELECT * FROM e_stat.main.mart_population_prefecture" --out pop.parquet
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## データセットの自動 ATTACH
|
|
40
|
+
|
|
41
|
+
`sql` の中で `<dataset>.<schema>.<table>` を参照すると、未接続のデータセットは自動的に ATTACH されます。`information_schema` を引く場合など自動検出が効かないケースでは `--datasets` で明示できます:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
queria sql "SELECT * FROM information_schema.tables WHERE table_catalog = 'jma'" --datasets jma
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## read-only ガードについて
|
|
48
|
+
|
|
49
|
+
`sql` は SELECT / WITH / DESCRIBE / SHOW / PRAGMA / EXPLAIN / SUMMARIZE で始まる文のみ受け付けます。これは事故防止のための簡易ガードであり、本質的な保護はカタログの READ_ONLY ATTACH です。公開カタログへの書き込みはエンジンレベルで失敗します。queria はサンドボックスではありません — 実行環境のローカルリソースへのアクセスは DuckDB の通常の権限に従います。
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 互換性ポリシー
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# 互換性ポリシー
|
|
6
|
+
|
|
7
|
+
## データスキーマの安定性
|
|
8
|
+
|
|
9
|
+
Queria が公開するテーブル(`catalog` の `mart_*` を含む)は、現在 pre-stable です。データ品質やモデリングの改善のため、テーブル名・カラム名・型は予告なく変更されることがあります。
|
|
10
|
+
|
|
11
|
+
利用が定着したことを確認できた段階で、スキーマを公開 API とみなし、後方互換の維持を努力目標として宣言する予定です。CI やバッチで queria に依存する場合は、この前提を踏まえてください。変更は [Changelog](../resources/changelog.md) と各データセットのリリースノートで告知します。
|
|
12
|
+
|
|
13
|
+
## DuckLake フォーマットと duckdb のバージョン
|
|
14
|
+
|
|
15
|
+
Queria のカタログは DuckLake format 1.0 で公開されています。これを読むには duckdb >= 1.5.4 が必要で、queria パッケージはこのピンを依存関係として管理します。
|
|
16
|
+
|
|
17
|
+
カタログのフォーマットが上がる場合は、次を1セットで行います:
|
|
18
|
+
|
|
19
|
+
1. 本番カタログの移行
|
|
20
|
+
2. Web(DuckDB WASM)の更新
|
|
21
|
+
3. queria パッケージの新バージョンのリリース
|
|
22
|
+
4. 互換マニフェスト(下記)の更新
|
|
23
|
+
|
|
24
|
+
インストール済みの古い queria はフォーマット更新後に接続できなくなる可能性があります。`uvx queria` で実行している場合は最新版が使われるため、通常は意識する必要はありません。
|
|
25
|
+
|
|
26
|
+
## 互換マニフェスト
|
|
27
|
+
|
|
28
|
+
`https://data.queria.io/meta.json` に、カタログのフォーマットと必要なクライアントバージョンを記述したマニフェストを公開しています:
|
|
29
|
+
|
|
30
|
+
```json
|
|
31
|
+
{
|
|
32
|
+
"ducklake_format": "1.0",
|
|
33
|
+
"min_duckdb": "1.5.4",
|
|
34
|
+
"min_cli": "0.1.0"
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
queria はカタログへの接続に失敗した場合のみこのマニフェストを参照し、「duckdb / queria をどのバージョンに上げればよいか」を示すエラーメッセージを表示します。正常時には参照しないため、マニフェストの有無が動作に影響することはありません。
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 直接アクセス
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# 直接アクセス(素の DuckDB で読む)
|
|
6
|
+
|
|
7
|
+
queria は利便性レイヤーであり、Queria のデータは標準の DuckLake 形式で公開されているため、duckdb >= 1.5.4 があればどの言語・環境からでも直接読めます。
|
|
8
|
+
|
|
9
|
+
## ATTACH の書き方
|
|
10
|
+
|
|
11
|
+
各データセットは `https://data.queria.io/<dataset>/` 配下に公開されています:
|
|
12
|
+
|
|
13
|
+
```sql
|
|
14
|
+
INSTALL ducklake; LOAD ducklake;
|
|
15
|
+
INSTALL httpfs; LOAD httpfs;
|
|
16
|
+
|
|
17
|
+
ATTACH 'ducklake:https://data.queria.io/zipcode/ducklake.duckdb' AS zipcode (
|
|
18
|
+
READ_ONLY,
|
|
19
|
+
DATA_PATH 'https://data.queria.io/zipcode/ducklake.duckdb.files/',
|
|
20
|
+
OVERRIDE_DATA_PATH true
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
SELECT * FROM zipcode.main.zipcodes LIMIT 10;
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
メタデータカタログ(データセット・テーブル・カラムの一覧)は `catalog` データセットにあります:
|
|
27
|
+
|
|
28
|
+
```sql
|
|
29
|
+
ATTACH 'ducklake:https://data.queria.io/catalog/ducklake.duckdb' AS catalog (
|
|
30
|
+
READ_ONLY,
|
|
31
|
+
DATA_PATH 'https://data.queria.io/catalog/ducklake.duckdb.files/',
|
|
32
|
+
OVERRIDE_DATA_PATH true
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
SELECT datasource, title FROM catalog.main.mart_datasets;
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## 注意点
|
|
39
|
+
|
|
40
|
+
- DuckDB CLI(対話シェル)の同梱 ducklake 拡張はバージョンによって古い場合があります。`uvx duckdb` などで 1.5.4 以上を使ってください。
|
|
41
|
+
- GEOMETRY カラムを含むデータセット(nlftp、e_stat の境界データなど)には `INSTALL spatial; LOAD spatial;` が必要です。
|
|
42
|
+
- Python では `queria.connect()` がこの一連の処理(拡張ロード・ATTACH・自動 ATTACH)を代行します。[Python API リファレンス](../reference/python-api.md)を参照してください。
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: MCP サーバー
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# MCP サーバー
|
|
6
|
+
|
|
7
|
+
`queria mcp` は stdio の MCP サーバーです。Claude Code、Claude Desktop、Cursor などの MCP クライアントから Queria のデータを探索・クエリできます。
|
|
8
|
+
|
|
9
|
+
## セットアップ
|
|
10
|
+
|
|
11
|
+
### Claude Code
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
claude mcp add queria -- uvx --from 'queria[mcp]' queria mcp
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### Claude Desktop / Cursor など(JSON 設定)
|
|
18
|
+
|
|
19
|
+
```json
|
|
20
|
+
{
|
|
21
|
+
"mcpServers": {
|
|
22
|
+
"queria": {
|
|
23
|
+
"command": "uvx",
|
|
24
|
+
"args": ["--from", "queria[mcp]", "queria", "mcp"]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## 提供ツール
|
|
31
|
+
|
|
32
|
+
| ツール | 役割 |
|
|
33
|
+
|---|---|
|
|
34
|
+
| `list_datasets` | データセット一覧 |
|
|
35
|
+
| `search_datasets` | キーワード検索 |
|
|
36
|
+
| `get_schema` | テーブル一覧 |
|
|
37
|
+
| `get_columns` | カラム一覧 |
|
|
38
|
+
| `query` | read-only SQL の実行 |
|
|
39
|
+
|
|
40
|
+
詳細な引数と挙動は [MCP ツールリファレンス](../reference/mcp-tools.md)を参照してください。
|
|
41
|
+
|
|
42
|
+
## 結果の上限について
|
|
43
|
+
|
|
44
|
+
`query` の結果は行数(デフォルト 100、最大 1000)とペイロードサイズ(約 1MB)で打ち切られます。これはエージェントのコンテキストを守るための仕様です。打ち切られた場合は `truncated: true` とヒントが返るので、集計や LIMIT で絞るか、バルク抽出には CLI の `--out` を使ってください。
|
|
45
|
+
|
|
46
|
+
## スキルとの関係
|
|
47
|
+
|
|
48
|
+
Claude Code では配布用スキル(queria-io/queria-skill)も利用できます。スキルはカタログの構造や活用パターンの知識を含むため、Claude Code では スキル + CLI の組み合わせを推奨します。MCP サーバーは Claude Code 以外のクライアントで使う場合の選択肢です。
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Home
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Queria Docs
|
|
6
|
+
|
|
7
|
+
[Queria](https://data.queria.io) は、日本のオープンデータ(e-Stat、国土数値情報、EDINET、気象庁ほか)を DuckLake 形式で公開するデータカタログです。データはすべて read-only で公開されており、クエリの計算は手元の DuckDB(ブラウザでは DuckDB WASM)で行われます。
|
|
8
|
+
|
|
9
|
+
このサイトは Queria をターミナル・Python・MCP から使うためのドキュメントです。データセット個別のスキーマやガイドは[カタログ UI](https://data.queria.io) を参照してください。
|
|
10
|
+
|
|
11
|
+
## はじめる
|
|
12
|
+
|
|
13
|
+
インストール不要で、まず1クエリ:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
uvx queria list
|
|
17
|
+
uvx queria sql "SELECT * FROM zipcode.main.zipcodes LIMIT 10"
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## 学ぶ
|
|
21
|
+
|
|
22
|
+
- [クイックスタート](getting-started/quickstart.md) — 探索から Parquet 出力まで5分で
|
|
23
|
+
- [CLI ガイド](guide/cli.md) — コマンド体系と使い分け
|
|
24
|
+
- [MCP サーバー](guide/mcp.md) — Claude Code / Cursor などからの利用
|
|
25
|
+
- [直接アクセス](guide/direct-access.md) — 素の DuckDB で ATTACH する方法
|
|
26
|
+
- [互換性ポリシー](guide/compatibility.md) — スキーマとバージョンの安定性について
|
|
27
|
+
|
|
28
|
+
## リファレンス
|
|
29
|
+
|
|
30
|
+
- [CLI リファレンス](reference/cli.md)
|
|
31
|
+
- [Python API リファレンス](reference/python-api.md)
|
|
32
|
+
- [MCP ツールリファレンス](reference/mcp-tools.md)
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: CLI リファレンス
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# CLI リファレンス
|
|
6
|
+
|
|
7
|
+
## 共通オプション
|
|
8
|
+
|
|
9
|
+
| オプション | 説明 |
|
|
10
|
+
|---|---|
|
|
11
|
+
| `--storage-url URL` | カタログのベース URL(デフォルト: `https://data.queria.io`) |
|
|
12
|
+
| `--version` | バージョンを表示 |
|
|
13
|
+
|
|
14
|
+
## 出力オプション(list / search / schema / columns / sql 共通)
|
|
15
|
+
|
|
16
|
+
| オプション | 説明 |
|
|
17
|
+
|---|---|
|
|
18
|
+
| `--format {table,csv,json,jsonl}` | stdout の形式(デフォルト: `table`) |
|
|
19
|
+
| `--out PATH` | 結果を `.csv` / `.parquet` ファイルに書き出す(`--format` は無視される) |
|
|
20
|
+
|
|
21
|
+
## queria list
|
|
22
|
+
|
|
23
|
+
公開されている全データセットを一覧します。
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
queria list [--format FMT] [--out PATH]
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## queria search
|
|
30
|
+
|
|
31
|
+
タイトルと説明に対するキーワード検索です(大文字小文字を区別しない部分一致)。
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
queria search <keyword> [--format FMT] [--out PATH]
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## queria schema
|
|
38
|
+
|
|
39
|
+
データセットのテーブル・ビュー一覧を表示します。
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
queria schema <dataset> [--format FMT] [--out PATH]
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## queria columns
|
|
46
|
+
|
|
47
|
+
データセットのカラム一覧を表示します。テーブル名を指定すると絞り込めます。
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
queria columns <dataset> [table] [--format FMT] [--out PATH]
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## queria sql
|
|
54
|
+
|
|
55
|
+
read-only SQL を実行します。`<dataset>.<schema>.<table>` で参照されたデータセットは自動 ATTACH されます。
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
queria sql "<query>" [--datasets DS1,DS2] [--format FMT] [--out PATH]
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
| オプション | 説明 |
|
|
62
|
+
|---|---|
|
|
63
|
+
| `--datasets` | 事前に ATTACH するデータセット(通常は自動検出されるため不要) |
|
|
64
|
+
|
|
65
|
+
SELECT / WITH / DESCRIBE / SHOW / PRAGMA / EXPLAIN / SUMMARIZE で始まる文のみ受け付けます。
|
|
66
|
+
|
|
67
|
+
## queria mcp
|
|
68
|
+
|
|
69
|
+
stdio MCP サーバーを起動します。`mcp` extra が必要です([MCP サーバー](../guide/mcp.md)参照)。
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
queria [--storage-url URL] mcp
|
|
73
|
+
```
|