Sobre o projeto
## O que é
`liege` é um cliente Python assíncrono para os conjuntos de dados abertos publicados pela Open Data Platform de Liège, Bélgica. Ele encapsula a API da plataforma para que o código Python — tipicamente dentro de um loop de eventos async — possa buscar registros como objetos tipados, em vez de lidar com requisições HTTP brutas e parsing de JSON.
O pacote foi escrito originalmente apenas para recuperar dados de estacionamento, mas o README observa que a base de código é estruturada para que conjuntos de dados adicionais da mesma plataforma possam ser adicionados facilmente.
## Instalação
```bash
pip install liege
```
## Conjuntos de dados cobertos
Dois conjuntos de dados estão documentados no README:
- **Vagas de estacionamento para deficientes / Stationnement PMR** — 1062 locais.
- **Garagens / Les parkings voitures hors voirie** — 32 locais.
Cada conjunto de dados é consultado com um parâmetro `limit` (padrão 10) que controla quantos resultados são retornados.
### Campos de estacionamento para deficientes
`spot_id` (int), `number` (int), `address` (str), `municipality` (str), `city` (str), `status` (str), `longitude` (float), `latitude` (float), `created_at` (datetime), `updated_at` (datetime).
### Campos de garagem
`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).
## Exemplo de uso
O cliente é projetado como um gerenciador de contexto async:
```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())
```
## Caso de uso documentado
O README cita o NIPKaart.nl, um site que mapeia vagas de estacionamento para deficientes usando dados contribuídos por usuários e municípios. Ele opera principalmente nos Países Baixos, mas declarou planos para processar dados do exterior, que é onde este cliente se encaixa.
## Configuração de desenvolvimento
O projeto usa Poetry para gerenciamento de dependências e requer Python 3.12+ junto com o próprio Poetry. Após clonar:
```bash
poetry install
```
O Poetry cria um ambiente virtual para as dependências por padrão.
Linting e testes são integrados através do framework `prek`, que executa verificações em cada commit:
```bash
poetry run prek install
poetry run prek run --all-files
```
Os testes usam pytest, com testes de snapshot gerenciados pelo syrupy:
```bash
poetry run pytest
poetry run pytest --snapshot-update
```
Uma configuração de Dev Container é fornecida, para que o ambiente possa ser iniciado diretamente no Visual Studio Code ou como um GitHub CodeSpace.
## Sinais do projeto no README
O bloco de badges indica um estágio de projeto experimental, manutenção contínua, atividade de commit ativa, releases publicados no GitHub, distribuição no PyPI com estatísticas de download, status de workflow de build e tipagem, relatórios de cobertura de código e um badge do OpenSSF Scorecard. O projeto também documenta diretrizes de contribuição em um CONTRIBUTING.md separado e é lançado sob a Licença MIT (copyright 2022–2026 Klaas Schoute).
## Enquadramento
Esta é uma biblioteca de cliente de API pequena e de propósito único: útil quando você precisa de dados abertos de Liège (atualmente relacionados a estacionamento) dentro de uma aplicação Python async, e útil como modelo para encapsular outros conjuntos de dados da mesma plataforma ODP. Não é um armazenamento de dados, um servidor ou uma aplicação de usuário final.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.