{ "info": { "author": "methylDragon", "author_email": "methylDragon@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "# OneMap API Client\n\n[![PyPI version](https://badge.fury.io/py/onemapsg.svg)](https://badge.fury.io/py/onemapsg)\n\nPython Wrapper Client for the OneMap API\n\n![img](https://raw.githubusercontent.com/methylDragon/one-map-api-client/master/assets/logo.png)\n\n\n\nDocs here: https://docs.onemap.sg/#static-map\n\nPyPI Link: \n\nRegister for an API key here: https://developers.onemap.sg/signup/\n\n\n\nThis client:\n\n- Authenticates for a valid API token, and refreshes as needed!\n- Returns everything as a nice dictionary!\n\n\n\n## Example Usage\n\n```python\nfrom onemapsg import OneMapClient\n\nClient = OneMapClient(\"YOUR_EMAIL\", \"YOUR_PASSWORD\")\n\nClient.search(\"Dragon View Park\")\n# Result\n'''\n{'found': 1,\n 'totalNumPages': 1,\n 'pageNum': 1,\n 'results': [{'SEARCHVAL': 'DRAGON VIEW PARK',\n 'BLK_NO': '',\n 'ROAD_NAME': 'NIL',\n 'BUILDING': 'DRAGON VIEW PARK',\n 'ADDRESS': 'DRAGON VIEW PARK SINGAPORE',\n 'POSTAL': 'NIL',\n 'X': '27415.382888752',\n 'Y': '31015.7030415982',\n 'LATITUDE': '1.29676950856585',\n 'LONGITUDE': '103.828065538017',\n 'LONGTITUDE': '103.828065538017'}]}\n'''\n```\n\n\n\n## Installation\n\n```shell\npip install onemapsg\n```\n\n\n\n## Credits\n\n- The OneMap team for a pretty nice API\n\n- Author: methylDragon\n\n\n\n## Support my efforts!\n\n [![Yeah! Buy the DRAGON a COFFEE!](https://raw.githubusercontent.com/methylDragon/one-map-api-client/master/assets/COFFEE%20BUTTON%20%E3%83%BE(%C2%B0%E2%88%87%C2%B0%5E).png)](https://www.buymeacoffee.com/methylDragon)\n\n[Or leave a tip! \u30fe(\u00b0\u2207\u00b0*)](https://www.paypal.me/methylDragon)\n\n\n\n## Client Interface\n\nIncludes the full API as of February 2019, also supports a general API query in case of client depreciation:\n\n**Client Specific**\n\n- Initialise Client\n\n - `Client = OneMapClient(email, password)`\n\n Generates token on init\n\n- Generate New Token\n\n - `get_token(email=None, password=None)`\n\n *Returns:*\n\n token, expiry\n\n- General Query\n\n - `query_api(endpoint, param_dict)`\n\n\n\n## Class Methods\n\nRemember to use them as such! `Client.method()`\n\n**Location Search**\n\n- Search\n - `search(search_val, return_geom=True, get_addr_details=True, page_num=1))`\n- Reverse Geocode (SVY21 and WGS84)\n - `reverse_geocode_SVY21(coordinates, buffer=10, address_type=\"All\", other_features=False)`\n - `reverse_geocode_WGS84(coordinates, buffer=10, address_type=\"All\", other_features=False)`\n\n**Coordinate Conversion**\n\n- All converters between WGS84, SVY21, and 3857\n - `WGS84_to_EPSG(coordinates)`\n - `WGS84_to_SVY21(coordinates)`\n - `SVY21_to_EPSG(coordinates)`\n - `SVY21_to_WGS84(coordinates)`\n - `EPSG_to_SVY21(coordinates)`\n - `EPSG_to_WGS84(coordinates)`\n\n**Themes**\n\n- Check Theme Status\n - `check_theme_status(query_name, date_time)`\n- Get Theme Info\n - `get_theme_info(query_name)`\n- Get all Themes\n - `get_all_themes_info(more_info=False)`\n- Retrieve Themes\n - `retrieve_theme(query_name, extents=None)`\n\n**Planning Areas**\n\n- Get all Planning Areas\n - `get_all_planning_areas(year=None)`\n- Get Planning Area Names\n - `get_planning_area_names(year=None)`\n- Get Planning Area Bounds\n - `get_planning_area_bounds(coordinates, year=None)`\n\n**Population Queries**\n\n- Economic Statuses\n - `get_economic_statuses(year, planning_area, gender=None)`\n- Education Attendance\n - `get_education_attendance(year, planning_area)`\n- Ethnic Groups\n - `get_ethnic_groups(year, planning_area, gender=None)`\n- Work Income For Household (Monthly)\n - `get_household_monthly_work_income(year, planning_area)`\n- Household Size Data\n - `get_household_sizes(year, planning_area)`\n- Household Structure Data\n - `get_household_structures(year, planning_area)`\n- Income from Work Data\n - `get_work_income(year, planning_area)`\n- Population of Industries\n - `get_industries(year, planning_area)`\n- Language Literacy Data\n - `get_language_literacy(year, planning_area)`\n- Marital Status Data\n - `get_marital_statuses(year, planning_area, gender=None)`\n- Mode of Transports to School Data\n - `get_modes_of_transport_to_school(year, planning_area)`\n- Mode of Transport to Work Data\n - `get_modes_of_transport_to_work(year, planning_area)`\n- Occupation Data\n - `get_occupations(year, planning_area)`\n- Age Data\n - `get_age_groups(year, planning_area)`\n- Religion Data\n - `get_religious_groups(year, planning_area)`\n- Spoken Language Data\n - `get_spoken_languages(year, planning_area)`\n- Tenancy Data\n - `get_tenancy(year, planning_area)`\n- Dwelling Type Household Data\n - `get_dwelling_types(year, planning_area)`\n- Dwelling Type Population Data\n - `get_population_by_dwelling_types(year, planning_area)`\n\n**Routing Service**\n\n- Get Route\n - `get_route(start_coordinates, end_coordinates, route_type)`\n- Get Public Transport Route\n - `get_public_transport_route(start_coordinates, end_coordinates, date, time, mode, max_walk_distance=None, num_itineraries=1)`\n\n**Static Map Generator**\n\n- Generate Static Map\n - `generate_static_map(layer_chosen, location, zoom, width, height, polygons=None, lines=None, points=None, color=None, fill_color=None)`\n\n# OneMap API Client Changelog\n\n## v1.0.0 - 2019_07_09\n\n### Added\n\n- Initial release:\n - OneMapClient with full API\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://pypi.org/project/onemapsg/", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/methylDragon/one-map-api-client", "keywords": "onemap,api", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "onemapsg", "package_url": "https://pypi.org/project/onemapsg/", "platform": "", "project_url": "https://pypi.org/project/onemapsg/", "project_urls": { "Download": "https://pypi.org/project/onemapsg/", "Homepage": "https://github.com/methylDragon/one-map-api-client" }, "release_url": "https://pypi.org/project/onemapsg/1.0.0.post1/", "requires_dist": [ "requests (>=2.20.0)" ], "requires_python": "", "summary": "Python Wrapper Client for the OneMap API with automatic token handling", "version": "1.0.0.post1" }, "last_serial": 5507446, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "839ac8226d5f679e9595eea37fc5582a", "sha256": "c22a1ead170341282312ccba2134aa6f4d38f994d85398317b708c7fd34feeb9" }, "downloads": -1, "filename": "onemapsg-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "839ac8226d5f679e9595eea37fc5582a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7447, "upload_time": "2019-07-09T14:24:18", "url": "https://files.pythonhosted.org/packages/d1/79/133df0b45628e925e822ef52016e30435fc25f725ebc789641222eb8289a/onemapsg-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f7b823c029c9509f02fb0817f6b1b1cc", "sha256": "eade2b04ca946abe86f067474178558ae251cc2ff62bc5e62ca67d9b23788bbd" }, "downloads": -1, "filename": "onemapsg-1.0.0.tar.gz", "has_sig": false, "md5_digest": "f7b823c029c9509f02fb0817f6b1b1cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8257, "upload_time": "2019-07-09T14:24:21", "url": "https://files.pythonhosted.org/packages/c8/3c/2ed259d7fb9d549360bea372c225a8ba718aebc87842ddaca0e758fb3151/onemapsg-1.0.0.tar.gz" } ], "1.0.0.post1": [ { "comment_text": "", "digests": { "md5": "581a65ae3cdae60a7d9d4adc3079a751", "sha256": "c71125aa77a0310b84050000e9e84c6268eb53f51b46b8bbff4cdb856009833a" }, "downloads": -1, "filename": "onemapsg-1.0.0.post1-py3-none-any.whl", "has_sig": false, "md5_digest": "581a65ae3cdae60a7d9d4adc3079a751", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7510, "upload_time": "2019-07-09T14:27:04", "url": "https://files.pythonhosted.org/packages/72/81/d313b0b678ebe3d0cf1d4d464e7db9b7db7d90e1dde99b99f4b8519bca34/onemapsg-1.0.0.post1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cebda81645ba33f0c1f3100078e0a34f", "sha256": "aa3b3cacd4688b1de859785bc22acc2557eca192f6009ef27fd004507b58d5fd" }, "downloads": -1, "filename": "onemapsg-1.0.0.post1.tar.gz", "has_sig": false, "md5_digest": "cebda81645ba33f0c1f3100078e0a34f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8251, "upload_time": "2019-07-09T14:27:06", "url": "https://files.pythonhosted.org/packages/32/8c/c61f06d420af4913cc1352298c0c9f3e1c956dc5b6634606f6ae1137151d/onemapsg-1.0.0.post1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "581a65ae3cdae60a7d9d4adc3079a751", "sha256": "c71125aa77a0310b84050000e9e84c6268eb53f51b46b8bbff4cdb856009833a" }, "downloads": -1, "filename": "onemapsg-1.0.0.post1-py3-none-any.whl", "has_sig": false, "md5_digest": "581a65ae3cdae60a7d9d4adc3079a751", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7510, "upload_time": "2019-07-09T14:27:04", "url": "https://files.pythonhosted.org/packages/72/81/d313b0b678ebe3d0cf1d4d464e7db9b7db7d90e1dde99b99f4b8519bca34/onemapsg-1.0.0.post1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cebda81645ba33f0c1f3100078e0a34f", "sha256": "aa3b3cacd4688b1de859785bc22acc2557eca192f6009ef27fd004507b58d5fd" }, "downloads": -1, "filename": "onemapsg-1.0.0.post1.tar.gz", "has_sig": false, "md5_digest": "cebda81645ba33f0c1f3100078e0a34f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8251, "upload_time": "2019-07-09T14:27:06", "url": "https://files.pythonhosted.org/packages/32/8c/c61f06d420af4913cc1352298c0c9f3e1c956dc5b6634606f6ae1137151d/onemapsg-1.0.0.post1.tar.gz" } ] }