このプロジェクトについて
## 概要
`liege`は、ベルギーのリエージュ市オープンデータプラットフォームが公開しているオープンデータセット向けの非同期Pythonクライアントです。このライブラリはプラットフォームのAPIをラップしており、Pythonコード(通常は非同期イベントループ内)で、生のHTTPリクエストやJSONパースを扱うことなく、型定義されたオブジェクトとしてレコードを取得できます。
このパッケージは元々、駐車データの取得のみを目的として作成されましたが、READMEには、同じプラットフォームの他のデータセットを容易に追加できるようコードベースが構成されていることが記されています。
## インストール
```bash
pip install liege
```
## 対応データセット
READMEでは以下の2つのデータセットについて説明されています:
- **障害者用駐車スペース / Stationnement PMR** — 1,062箇所
- **ガレージ / Les parkings voitures hors voirie** — 32箇所
各データセットは、返される結果の数を制御する`limit`パラメータ(デフォルトは10)を使用してクエリされます。
### 障害者用駐車スペースのフィールド
`spot_id` (int), `number` (int), `address` (str), `municipality` (str), `city` (str), `status` (str), `longitude` (float), `latitude` (float), `created_at` (datetime), `updated_at` (datetime)。
### ガレージのフィールド
`name` (string), `capacity` (int), `charging_stations` (int), `address` (string), `municipality` (string), `city` (string), `provider` (string), `schedule` (string), `longitude` (float), `latitude` (float), `created_at` (datetime), `updated_at` (datetime)。
## 使用例
このクライアントは非同期コンテキストマネージャとして設計されています:
```python
import asyncio
from liege import ODPLiege
async def main() -> None:
async with ODPLiege() as client:
garages = await client.garages(limit=10)
disabled_parkings = await client.disabled_parkings(limit=10)
print(garages)
print(disabled_parkings)
asyncio.run(main())
```
## ドキュメント化されたユースケース
READMEでは、ユーザーや自治体から提供されたデータを使用して障害者用駐車スペースをマッピングするウェブサイト「NIPKaart.nl」が引用されています。主にオランダで展開されていますが、海外データの処理計画を表明しており、このクライアントはその用途に適しています。
## 開発セットアップ
このプロジェクトは依存関係管理にPoetryを使用しており、Python 3.12以降とPoetry本体が必要です。クローン後の手順は以下の通りです:
```bash
poetry install
```
Poetryはデフォルトで依存関係用の仮想環境を作成します。
リンティングとテストは`prek`フレームワークを通じて構成されており、各コミット時にチェックが実行されます:
```bash
poetry run prek install
poetry run prek run --all-files
```
テストにはpytestが使用され、スナップショットテストはsyrupyで処理されます:
```bash
poetry run pytest
poetry run pytest --snapshot-update
```
Dev Containerの設定が提供されているため、Visual Studio CodeやGitHub CodeSpaceで直接環境を起動できます。
## READMEのプロジェクト指標
バッジブロックにより、プロジェクトが実験段階であること、継続的なメンテナンス、活発なコミット活動、GitHubでのリリース公開、PyPIでの配布とダウンロード統計、ビルドおよび型チェックのワークフロー状態、コードカバレッジレポート、およびOpenSSF Scorecardバッジが示されています。また、別途CONTRIBUTING.mdに貢献ガイドラインが記載されており、MITライセンス(著作権 2022–2026 Klaas Schoute)の下でリリースされています。
## 適正
これは小規模で単一目的のAPIクライアントライブラリです。非同期Pythonアプリケーション内でリエージュのオープンデータ(現在は駐車関連)が必要な場合や、同じODPプラットフォームの他のデータセットをラップするためのテンプレートとして有用です。データストア、サーバー、またはエンドユーザー向けアプリケーションではありません。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.