{"id":18224088,"url":"https://github.com/burnzz/uberfare","last_synced_at":"2025-04-03T05:30:43.092Z","repository":{"id":55432495,"uuid":"121935627","full_name":"BurnzZ/uberfare","owner":"BurnzZ","description":"Conveniently collects Uber fare prices from a given origin and destination.","archived":false,"fork":false,"pushed_at":"2023-07-16T15:43:54.000Z","size":624,"stargazers_count":12,"open_issues_count":2,"forks_count":2,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-13T20:48:08.405Z","etag":null,"topics":["extraction-api","python-library","uber"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BurnzZ.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-02-18T09:05:37.000Z","updated_at":"2025-02-04T11:04:50.000Z","dependencies_parsed_at":"2022-08-15T00:10:43.823Z","dependency_job_id":null,"html_url":"https://github.com/BurnzZ/uberfare","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BurnzZ%2Fuberfare","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BurnzZ%2Fuberfare/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BurnzZ%2Fuberfare/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BurnzZ%2Fuberfare/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BurnzZ","download_url":"https://codeload.github.com/BurnzZ/uberfare/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246944377,"owners_count":20858773,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["extraction-api","python-library","uber"],"created_at":"2024-11-04T01:06:34.208Z","updated_at":"2025-04-03T05:30:42.760Z","avatar_url":"https://github.com/BurnzZ.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Uberfare\n========\n\n.. image:: https://img.shields.io/pypi/v/uberfare.svg\n    :target: https://pypi.python.org/pypi/uberfare\n\n.. image:: https://img.shields.io/pypi/l/uberfare.svg\n    :target: https://pypi.python.org/pypi/uberfare\n\n.. image:: https://img.shields.io/pypi/pyversions/uberfare.svg\n    :target: https://pypi.python.org/pypi/uberfare\n\n.. image:: https://travis-ci.org/BurnzZ/uberfare.svg?branch=master\n    :target: https://travis-ci.org/BurnzZ/uberfare\n\n.. image:: https://codecov.io/gh/BurnzZ/uberfare/branch/master/graph/badge.svg\n    :target: https://codecov.io/gh/BurnzZ/uberfare\n\nThis is a simple wrapper to the official Uber Python SDK intended to\ncollect data from a given **origin** and **destination** at a specified\ntime interval.\n\nThe current implementation only handles the price estimate feature since\nit doesn’t need OAuth 2.0 access.\n\nMotivation\n~~~~~~~~~~\n\nI’m using this tool in order to gather data and then evaluate when’s the\nbest time to leave the house and book an Uber ride to work, and\nvice-versa.\n\nRequirements\n~~~~~~~~~~~~\n\n* Python 3.4+\n\nInstallation\n~~~~~~~~~~~~\n\nI'd recommend installing it via `pipenv \u003chttp://pipenv.org/\u003e`_:\n\n.. code-block:: bash\n\n    $ pipenv install uberfare\n    $ # or via the usual pip\n    $ pip3 install uberfare\n\nAPI Key\n~~~~~~~\n\nGet your ``Server Token`` API Key by creating an app at:\n`developer.uber.com/dashboard \u003chttps://developer.uber.com/dashboard\u003e`__,\nand then:\n\n* Create or Select an app\n* Copy the **Server Token** value in the **Auth** page\n\nBefore using this package, export your ``Server Token`` as:\n``export UBER_SERVER_TOKEN=\u003cServer Token\u003e``. You can however, override\nthis when using the CLI (see below).\n\nUsage\n~~~~~\n\nYou have to determine the ``(latitude,longitude)`` of your location,\nsince the types of rides available will depend on it.\n\nThe best way to get the coordinates is going to\n`maps.google.com \u003chttps://www.google.com.ph/maps\u003e`__ and then clicking\nany point in the map. A small box will then appear at the bottom-center\nof your screen containing the Longitude and Latitude. Take note of the\ncoordinates for both your origin and destination:\n\n.. figure:: docs/img/google-maps-coordinate-lookup.gif\n   :alt: Google Maps Coordinates Lookup\n\nCLI\n^^^\n\n.. code:: bash\n\n    \u003e\u003e\u003e # To get the fare estimate, provide the arguments: \u003corigin\u003e, \u003cdestination\u003e\n    \u003e\u003e\u003e # (Where origin and destination are in the \u003cLATITUDE,LONGITUDE\u003e format)\n    \u003e\u003e\u003e uberfare estimate 14.55,121.05 14.52,121.01\n\n    \u003e\u003e\u003e # To save all the RAW data in a CSV file, you can do:\n    \u003e\u003e\u003e uberfare estimate 14.55,121.05 14.52,121.01 --output-file output.csv\n\n.. figure:: docs/img/demo-1.gif\n   :alt: CLI demo\n\n.. code:: bash\n\n    \u003e\u003e\u003e # You can also periodically fetch the Uber fares by using the\n    \u003e\u003e\u003e # --check-interval \u003ctime in seconds\u003e flag (short -ci):\n    \u003e\u003e\u003e uberfare --check-interval 120 estimate 14.55,121.05 14.52,121.01\n    \u003e\u003e\u003e uberfare -ci 120 estimate 14.55,121.05 14.52,121.01\n\n    \u003e\u003e\u003e # To safely save the data in long periods of time, do:\n    \u003e\u003e\u003e uberfare --check-interval 120 estimate 14.55,121.05 14.52,121.01 --output-file output.csv\n\n    \u003e\u003e\u003e # You can override the '$UBER_SERVER_TOKEN' env variable right in the CLI via:\n    \u003e\u003e\u003e uberfare --server_token \u003cSERVER API KEY\u003e estimate 14.55,121.05 14.52,121.01\n    \u003e\u003e\u003e uberfare -st \u003cSERVER API KEY\u003e estimate 14.55,121.05 14.52,121.01\n\nNotes\n~~~~~\n\nBe careful when specifying a very short time interval for checking the\nprice since you might be rate limited.\n\nFuture Releases\n~~~~~~~~~~~~~~~\n\n* Better interface for importing as a package\n* Option to use address instead of coordinates (use \n  `Google Maps Geocoding API \u003chttps://developers.google.com/maps/documentation/geocoding\u003e`_)\n* Support the Upfront Fare data collection by enabling the OAUTH2.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fburnzz%2Fuberfare","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fburnzz%2Fuberfare","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fburnzz%2Fuberfare/lists"}