このプロジェクトについて

## 概要 `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プラットフォームの他のデータセットをラップするためのテンプレートとして有用です。データストア、サーバー、またはエンドユーザー向けアプリケーションではありません。