프로젝트 소개
## 개요
`liege`는 벨기에 리에주 오픈 데이터 플랫폼에서 게시한 공개 데이터셋을 위한 비동기 Python 클라이언트입니다. 이 라이브러리는 플랫폼의 API를 래핑하여, Python 코드(일반적으로 비동기 이벤트 루프 내부)가 원시 HTTP 요청 및 JSON 파싱을 처리하는 대신 타입이 지정된 객체로 레코드를 가져올 수 있도록 합니다.
이 패키지는 원래 주차 데이터만 검색하기 위해 작성되었으나, README에 따르면 동일한 플랫폼의 추가 데이터셋을 쉽게 추가할 수 있도록 코드 베이스가 구조화되어 있습니다.
## 설치
```bash
pip install liege
```
## 지원 데이터셋
README에는 두 가지 데이터셋이 문서화되어 있습니다:
- **장애인 주차 공간 / 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 라이선스(copyright 2022–2026 Klaas Schoute)로 릴리스되었습니다.
## 적합성
이 라이브러리는 소규모의 단일 목적 API 클라이언트 라이브러리입니다. 비동기 Python 애플리케이션 내에서 리에주 오픈 데이터(현재는 주차 관련)가 필요할 때 유용하며, 동일한 ODP 플랫폼의 다른 데이터셋을 래핑하기 위한 템플릿으로도 유용합니다. 이는 데이터 저장소, 서버 또는 최종 사용자 애플리케이션이 아닙니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.