इस प्रोजेक्ट के बारे में
## यह क्या है
`liege` बेल्जियम के Liège के Open Data Platform द्वारा प्रकाशित ओपन डेटासेट के लिए एक asynchronous Python क्लाइंट है। यह प्लेटफॉर्म के API को रैप करता है ताकि Python कोड — आमतौर पर एक async इवेंट लूप के अंदर — कच्चे HTTP अनुरोधों और JSON पार्सिंग से निपटने के बजाय टाइप किए गए ऑब्जेक्ट्स के रूप में रिकॉर्ड प्राप्त कर सके।
यह पैकेज मूल रूप से केवल पार्किंग डेटा प्राप्त करने के लिए लिखा गया था, लेकिन README में उल्लेख है कि कोडबेस को इस तरह से संरचित किया गया है कि उसी प्लेटफॉर्म से अतिरिक्त डेटासेट आसानी से जोड़े जा सकते हैं।
## इंस्टालेशन
```bash
pip install liege
```
## कवर किए गए डेटासेट
README में दो डेटासेट दस्तावेज़ित हैं:
- **Disabled parking spaces / Stationnement PMR** — 1062 स्थान।
- **Garages / 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)।
## उपयोग का उदाहरण
क्लाइंट को एक 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())
```
## दस्तावेज़ित उपयोग मामला
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 क्लाइंट लाइब्रेरी है: यह तब उपयोगी होता है जब आपको एक async Python एप्लिकेशन के अंदर Liège ओपन डेटा (वर्तमान में पार्किंग-संबंधित) की आवश्यकता होती है, और उसी ODP प्लेटफॉर्म से अन्य डेटासेट को रैप करने के लिए एक टेम्पलेट के रूप में उपयोगी है। यह कोई डेटा स्टोर, सर्वर या एंड-यूज़र एप्लिकेशन नहीं है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.