Skip to main content

A Python library for Saudi Arabia regions, cities, and districts data.

Project description

Saudi Regions Widget (Python)

مكتبة Python توفر واجهة برمجية سهلة الاستخدام للوصول إلى بيانات المناطق والمدن والأحياء في المملكة العربية السعودية. هذه المكتبة هي تحويل لمكتبة JavaScript الأصلية YounisDany/saudi-regions-widget.

الميزات

  • بيانات شاملة: تتضمن بيانات لجميع 13 منطقة، بالإضافة إلى المدن والأحياء (حسب مستوى البيانات المحدد).
  • مستويات تحميل البيانات: إمكانية تحميل بيانات المناطق فقط، أو المناطق والمدن، أو البيانات الكاملة (مناطق، مدن، أحياء).
  • دعم اللغتين: أسماء المناطق والمدن والأحياء متوفرة باللغتين العربية والإنجليزية.
  • وظائف البحث: البحث عن المناطق والمدن والأحياء بالاسم.
  • سهولة الاستخدام: واجهة برمجة تطبيقات (API) بسيطة ومباشرة.

التثبيت

يمكنك تثبيت المكتبة باستخدام pip:

pip install saudi-regions-widget

الاستخدام

التهيئة

يمكنك تهيئة المكتبة مع تحديد مستوى البيانات واللغة الافتراضية:

from saudi_regions import SaudiRegions

# تهيئة المكتبة لتحميل المناطق والمدن باللغة العربية (افتراضي)
regions_data = SaudiRegions(data_level="regions-cities", language="ar")

# تهيئة المكتبة لتحميل البيانات الكاملة باللغة الإنجليزية
# regions_data_complete_en = SaudiRegions(data_level="complete", language="en")

الحصول على المناطق

regions = regions_data.get_regions()
for region in regions:
    print(f"ID: {region.id}, Name (AR): {region.name_ar}, Name (EN): {region.name_en}")

# الحصول على منطقة معينة بواسطة المعرف
riyadh_region = regions_data.get_region_by_id("1")
if riyadh_region:
    print(f"\nRiyadh Region: {riyadh_region.name_ar}")

الحصول على المدن

# الحصول على جميع المدن
cities = regions_data.get_cities()
# for city in cities:
#     print(f"ID: {city.id}, Name (AR): {city.name_ar}, Region ID: {city.region_id}")

# الحصول على مدن منطقة معينة (مثلاً، منطقة الرياض بمعرف "1")
riyadh_cities = regions_data.get_cities(region_id="1")
print(f"\nCities in Riyadh Region:")
for city in riyadh_cities:
    print(f"  ID: {city.id}, Name (AR): {city.name_ar}")

# الحصول على مدينة معينة بواسطة المعرف
jiddah_city = regions_data.get_city_by_id("105")
if jiddah_city:
    print(f"\nJiddah City: {jiddah_city.name_ar}")

الحصول على الأحياء (يتطلب data_level="complete")

# يجب تهيئة المكتبة بمستوى بيانات "complete" للوصول إلى الأحياء
regions_data_complete = SaudiRegions(data_level="complete", language="ar")

# الحصول على أحياء مدينة معينة (مثلاً، مدينة الرياض بمعرف "101")
riyadh_districts = regions_data_complete.get_districts(city_id="101")
print(f"\nDistricts in Riyadh City:")
for district in riyadh_districts:
    print(f"  ID: {district.id}, Name (AR): {district.name_ar}")

# الحصول على حي معين بواسطة المعرف
malaz_district = regions_data_complete.get_district_by_id("1010101")
if malaz_district:
    print(f"\nMalaz District: {malaz_district.name_ar}")

البحث

# البحث عن "الرياض" في جميع الأنواع
search_results = regions_data.search("الرياض")
print(f"\nSearch results for 'الرياض':")
for result in search_results:
    print(f"  Type: {result["type"].capitalize()}, Name (AR): {result["data"].name_ar}")

# البحث عن المدن فقط
city_search_results = regions_data.search("جدة", search_type="cities")
print(f"\nSearch results for 'جدة' (cities only):")
for result in city_search_results:
    print(f"  Name (AR): {result["data"].name_ar}")

تغيير اللغة

regions_data.set_language("en")
riyadh_region_en = regions_data.get_region_by_id("1")
if riyadh_region_en:
    print(f"\nRiyadh Region (English): {riyadh_region_en.name_en}")

المساهمة

المساهمات مرحب بها! يرجى قراءة CONTRIBUTING.md لمزيد من التفاصيل.

الترخيص

هذا المشروع مرخص بموجب ترخيص MIT. انظر ملف LICENSE لمزيد من التفاصيل.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

saudi_regions_widget_py-2.0.0.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

saudi_regions_widget_py-2.0.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file saudi_regions_widget_py-2.0.0.tar.gz.

File metadata

  • Download URL: saudi_regions_widget_py-2.0.0.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0rc1

File hashes

Hashes for saudi_regions_widget_py-2.0.0.tar.gz
Algorithm Hash digest
SHA256 673c4f11833b6cbc348e4b0832f27a32921d39754ecf13f8e6282ffe408e7c60
MD5 cae6a152d420828289dd96defb8fdeb1
BLAKE2b-256 021291acf13f589dee0d0b82b92ec85fbe44d5b000b90853994f5056bc34eef5

See more details on using hashes here.

File details

Details for the file saudi_regions_widget_py-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for saudi_regions_widget_py-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ae89c7f4a50e523b634890201d0e58a36fd4131a916e55c02de36a441edd4c81
MD5 ddb4a13268da9e5c6a7997702dc66a71
BLAKE2b-256 1223355720b1ee90c29f0f2e4d8b31aa730d7f17ac85ab857114a13fd301ad48

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page