saudiaddress: A simple Python wrapper for the Saudi National Address APIs
Saudi National Address API website: https://api.address.gov.sa
Basic Usage of saudiaddress
>>> from saudiaddress.api import NationalAddress
>>> api_key = os.environ.get('NATIONAL_ADDRESS_API_KEY')
>>> na = NationalAddress(key=api_key)
Reverse geocoding of coordinates to a national address
>>> addresses = na.get_address(lat=26.318922, long=50.228043, language='E')
>>> print("address:", addresses.records[0])
address: 6418 al kurnaysh road - al kurnaish AL KHUBAR 34412 - 3618
Bulk search a list of (building number, post code, additional number)
>>> for address in na.bulk_search([(3468, 23955, 7487), (6418, 34412, 3618)], page=1).records:
>>> print(address)
3468 - king abdullah university of science and technology THUWAL 23955 - 7487
6418 al kurnaysh road - al kurnaish AL KHUBAR 34412 - 3618
Verify a national address
>>> print("the address is", na.verify_address(6418, 34412, 3618))
the address is True
Free text search for a national address
>>> addresses = na.free_text_search('2292 - king abdullah university of science and technology')
>>> print("count:", addresses.count)
>>> address = addresses.records[0]
>>> print('lat={lat}, long={long}, city={city}, region={region}'.format(lat=address.Latitude, long=address.Longitude, city=address.City, region=address.RegionName))
count: 1
lat=22.324697064547, long=39.0942996143403, city=THUWAL, region=Makkah
Search nearest services
>>> addresses = na.nearest_poi(lat=22.32, long=39.09, radius=2)
>>> for address in addresses.records:
>>> print('title:%s' % address.Title)
>>> print('address:', address)
title:Samba atm
address: 3468 - king abdullah university of science and technology THUWAL 23955 - 7487
title:sabb bank
address: 7126 - king abdullah university of science and technology THUWAL 23955 - 3451
Search services based on fixed parameters
>>> addresses = na.fixed_search(city_name='THUWAL', post_code=23955, additional_number=7487)
>>> print(addresses.records[0])
3468 - king abdullah university of science and technology THUWAL 23955 - 7487
Find availability of services by providing details in free text
>>> addresses = na.poi_free_text_search('sabb atm', language='E')
>>> print('total SABB ATMs found: %d' % addresses.count)
>>> print(addresses.records)
total SABB ATMs found: 695
6897 king fahd road - al ulaya AR RIYADH 12211 - 3388
7277 king fahd road - al ulaya AR RIYADH 12212 - 3333
7411 king fahd road - al ulaya AR RIYADH 12212 - 3229
2946 al amir muhammad ibn abdul aziz branch rd - al ulaya AR RIYADH 12213 - 7929
2332 no 92 - al ulaya AR RIYADH 12214 - 9330
Get a list of regions
>>> regions = na.get_regions(language='A')
>>> for region in regions[:5]:
>>> print(region)
Region (ID=12, Name= الباحة)
Region (ID=13, Name= الجوف)
Region (ID=9, Name= الحدود الشمالية)
Region (ID=1, Name= الرياض)
Region (ID=4, Name= القصيم)
Get a list of cities within a region
>>> cities = na.get_cities(region_id=1)
>>> for city in cities[:5]:
>>> print(city)
City (ID=3, Name=AR RIYADH)
City (ID=828, Name=AD DIR'IYAH)
City (ID=669, Name=AD DUWADIMI)
City (ID=1061, Name=AL KHARJ)
City (ID=24, Name=AL MAJMA'AH)
Get a list of districts in a city
>>> districts = na.get_districts(city_id=3)
>>> for district in districts[:5]:
>>> print(district)
District (ID=10100003130, Name=ad dar al baida)
District (ID=10100003039, Name=ad difa)
District (ID=10100003007, Name=ad dirah)
District (ID=10100003116, Name=ad dubiyah)
District (ID=10100003076, Name=ad duraihimiyah)
Get a list of service categories
>>> categories = na.get_categories()
>>> for category in categories[:5]:
>>> print(category)
Category (ID=101, Name=Auto Services)
Category (ID=122, Name=CivilDefense)
Category (ID=102, Name=Commercial)
Category (ID=103, Name=Cultural Sites)
Category (ID=104, Name=Diplomatic)
Get a list of sub-service categories
>>> sub_categories = na.get_subcategories(service_category_id=101)
>>> for sub_category in sub_categories[:5]:
>>> print(sub_category)
Sub-Category (ID=10101, Name=Auto Agency)
Sub-Category (ID=10102, Name=Auto Service Station)
Sub-Category (ID=10103, Name=Auto Showroom)
Sub-Category (ID=10104, Name=Auto Spare Parts)
Sub-Category (ID=10105, Name=Auto Workshop)
Fina all ATMs in district ‘ad dirah’ in Riyadh city
>>> services = na.poi_fixed_search('atm', district_name='ad dirah', city_name='AR RIYADH', page=1)
>>> print("total:", services.count)
>>> for service in services.records:
>>> print(service.Title, service)
total: 19
al rajhi atm 7221 - ad dirah AR RIYADH 12633 - 3262
albilad atm 7272 al batha - ad dirah AR RIYADH 12633 - 3394
albilad atm 2778 al imam muhammad ibn saud ibn muqrin - ad dirah AR RIYADH 12634 - 6823
albilad atm 2760 tariq ibn ziyad - ad dirah AR RIYADH 12634 - 6287
alinma atm 2577 al imam muhammad ibn saud ibn muqrin - ad dirah AR RIYADH 12634 - 6681
alinma atm 2591 al imam turki ibn abdullah ibn muhammad - ad dirah AR RIYADH 12634 - 6883
alinma atm 6774 ash shaikh muhammad ibn abdul wahab - ad dirah AR RIYADH 12634 - 2938
anb atm 6645 - ad dirah AR RIYADH 12634 - 2856
atm _ national commercial bank 6487 al muqaybirah - ad dirah AR RIYADH 12634 - 2821
riyadh atm 7172 al batha - ad dirah AR RIYADH 12633 - 3386
Installation
$ pip install saudiaddress
Metadata
Release files for saudiaddress 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| saudiaddress-0.1.4.tar.gz | 9.4 kB | Without provenance | Details for saudiaddress-0.1.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| saudiaddress-0.1.4-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details for saudiaddress-0.1.4-py2.py3-none-any.whl |
Total release size: 18.7 kB
Release files / saudiaddress-0.1.4.tar.gz
| Download URL | saudiaddress-0.1.4.tar.gz |
|---|---|
| Size | 9.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9c8af9436956a806bc4e5ab083d4e165d2b943124ce7f8800d8a303997fc0cbc
|
|
BLAKE2b-256 checksum How to use checksums |
66e453b13ae3b2f6161989394e2aaddc9d62b01ca087dd3cce58c4de1a541e5f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.0.0 requests-toolbelt/0.9.1 tqdm/4.30.0 CPython/3.7.0
|
Release files / saudiaddress-0.1.4-py2.py3-none-any.whl
| Download URL | saudiaddress-0.1.4-py2.py3-none-any.whl |
|---|---|
| Size | 9.3 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
b94fbbbefa598b220df19f2c604fa74a0e3f58122bcf32feaf13f2aed49f5363
|
|
BLAKE2b-256 checksum How to use checksums |
5f306e60be112dbfd51536730bf1c91d854ace9c19f4f4a437911beb9b768261
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.0.0 requests-toolbelt/0.9.1 tqdm/4.30.0 CPython/3.7.0
|
Security for saudiaddress 0.1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.