{ "info": { "author": "Balthazar Rouberol", "author_email": "balthazar@mapado.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Scientific/Engineering :: Mathematics" ], "description": "# Haversine [![Build Status](https://travis-ci.org/mapado/haversine.svg?branch=master)](https://travis-ci.org/mapado/haversine)\n\nCalculate the distance (in various units) between two points on Earth using their latitude and longitude.\n\n\n## Example\n\n### Calculate the distance between Lyon and Paris\n\n```python\nfrom haversine import haversine, Unit\n\nlyon = (45.7597, 4.8422) # (lat, lon)\nparis = (48.8567, 2.3508)\n\nhaversine(lyon, paris)\n>> 392.2172595594006 # in kilometers\n\nhaversine(lyon, paris, unit=Unit.MILES)\n>> 243.71201856934454 # in miles\n\n# you can also use the string abbreviation for units:\nhaversine(lyon, paris, unit='mi')\n>> 243.71201856934454 # in miles\n\nhaversine(lyon, paris, unit=Unit.NAUTICAL_MILES)\n>> 211.78037755311516 # in nautical miles\n```\n\nThe `haversine.Unit` enum contains all supported units:\n\n```python\nimport haversine\n\nprint(tuple(haversine.Unit))\n```\n\noutputs\n\n```text\n(, , , \n , , )\n```\n\n## Installation\n\n```bash\n$ pip install haversine\n```\n## Contributing\n\nClone the project.\n\nInstall [pipenv](https://github.com/pypa/pipenv).\n\nRun `pipenv install --dev`\n\nLaunch test with `pipenv run pytest`\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mapado/haversine", "keywords": "", "license": "['MIT']", "maintainer": "Julien Deniau", "maintainer_email": "julien.deniau@mapado.com", "name": "haversine", "package_url": "https://pypi.org/project/haversine/", "platform": "", "project_url": "https://pypi.org/project/haversine/", "project_urls": { "Homepage": "https://github.com/mapado/haversine" }, "release_url": "https://pypi.org/project/haversine/2.1.2/", "requires_dist": [ "enum34 ; python_version < \"3.4\"" ], "requires_python": "", "summary": "Calculate the distance between 2 points on Earth.", "version": "2.1.2" }, "last_serial": 5558190, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "3ce2922320ab6e09407ffef375550899", "sha256": "000fd4d98b5d8a21a3384f88bf639817d5c2e883c95d2cab9f29168e5a7410f3" }, "downloads": -1, "filename": "haversine-0.1.tar.gz", "has_sig": false, "md5_digest": "3ce2922320ab6e09407ffef375550899", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1806, "upload_time": "2013-01-23T15:54:16", "url": "https://files.pythonhosted.org/packages/9a/61/8f5eea571cef9dfa2e8370886e1236643fc300c4ab58559128cdd9253dec/haversine-0.1.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "0cc42817b3de9a6e41b4a0b200e13884", "sha256": "0f506599869cd0a231bc64ad5f14199b6d713751931fe62aed1ff714d70ece49" }, "downloads": -1, "filename": "haversine-0.3.tar.gz", "has_sig": false, "md5_digest": "0cc42817b3de9a6e41b4a0b200e13884", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2357, "upload_time": "2015-05-26T08:58:56", "url": "https://files.pythonhosted.org/packages/0f/52/18e2c88adbb0bea1cc6f921fb6fd15c590adf4714d57186531784d06e48f/haversine-0.3.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "f36df31d32a128e3bd89afc88844ca61", "sha256": "bf14a7c8c1c61562323efa985b59388fbbff904ad26e6a479d7861c3364a8505" }, "downloads": -1, "filename": "haversine-0.4.0.tar.gz", "has_sig": false, "md5_digest": "f36df31d32a128e3bd89afc88844ca61", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2361, "upload_time": "2015-05-28T14:56:22", "url": "https://files.pythonhosted.org/packages/da/fc/3d6c7a2b7542d411671a9403bfc00091e02f143649316775c03ff2fa69a4/haversine-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "036533e354a61329e7052481985ede98", "sha256": "ea4b62bb36a1584fe8c546d9a20f6cd69e9dad4401c1a60caf078f22a6e2e817" }, "downloads": -1, "filename": "haversine-0.4.1.tar.gz", "has_sig": false, "md5_digest": "036533e354a61329e7052481985ede98", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2386, "upload_time": "2015-06-14T19:13:44", "url": "https://files.pythonhosted.org/packages/bb/4c/bf5fc90102e8b7cb265a497ee76762dca3b4d47689291b9fa917856c4c05/haversine-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "14c876b304667d2058a3a8074ede899a", "sha256": "6c442d2561787448999f04d352005b5ac3d92b5099415ec52ed9ef6481f7a57f" }, "downloads": -1, "filename": "haversine-0.4.2.tar.gz", "has_sig": false, "md5_digest": "14c876b304667d2058a3a8074ede899a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1554, "upload_time": "2015-06-15T16:28:04", "url": "https://files.pythonhosted.org/packages/6e/29/7d011716857597b2cdea68ae1d0b20e04f4daaa4693d0d503b35b2d0633c/haversine-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "f31a7ec74950d1f809c9359f6aa516f7", "sha256": "44d8b7f246e0dc318fcd27763d3ecfb30814858c8241b995ee7bfc6b70c411c8" }, "downloads": -1, "filename": "haversine-0.4.3.tar.gz", "has_sig": false, "md5_digest": "f31a7ec74950d1f809c9359f6aa516f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1552, "upload_time": "2015-10-19T07:25:49", "url": "https://files.pythonhosted.org/packages/39/fe/2f4fbd8dbfc0668b20af0a49ac96d4e7a7c8e6e726585a016b1dd9b571b6/haversine-0.4.3.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "ce89e681625ae7af0f92ab1d70e16dfa", "sha256": "d0e86fce74299ee2de8c9badaf15a6ac6d0cbcad1da2805cc8c29f4e60b42e27" }, "downloads": -1, "filename": "haversine-0.4.4.tar.gz", "has_sig": false, "md5_digest": "ce89e681625ae7af0f92ab1d70e16dfa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1550, "upload_time": "2015-10-19T07:30:56", "url": "https://files.pythonhosted.org/packages/46/4b/54bc1119fd6af66f575fee6af0eb7f4201bc29a99415a0324dc6add0eeeb/haversine-0.4.4.tar.gz" } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "555c853c2bd88fcad335dc910d176af4", "sha256": "56a12298851a455fb80a8d7e8c7c5548b623d5d1bffc9eba16e7855d9eec5c3c" }, "downloads": -1, "filename": "haversine-0.4.5.tar.gz", "has_sig": false, "md5_digest": "555c853c2bd88fcad335dc910d176af4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1550, "upload_time": "2016-01-26T07:56:34", "url": "https://files.pythonhosted.org/packages/57/b4/3b1f5ca78876ad00cbb2a2bf7bcebfe4751c00ddabc47005b59f33835646/haversine-0.4.5.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "de04c3bf3ebd2e4ce18afbd10c678ec7", "sha256": "29fbceec1fcf295040f495f685e52a23a9101515045bfa49c26e379c46030858" }, "downloads": -1, "filename": "haversine-0.5.0.tar.gz", "has_sig": false, "md5_digest": "de04c3bf3ebd2e4ce18afbd10c678ec7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1596, "upload_time": "2018-10-10T19:48:58", "url": "https://files.pythonhosted.org/packages/16/a2/451babc8a156c10fe7d0ebd42ce034589810c6b546965beea859b9bd5030/haversine-0.5.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "184ce404c5393bb252b1b76c254af832", "sha256": "5af366bea6755ad42ba9495be58f24f55f32fa4ba6f2d0a2642211958e829603" }, "downloads": -1, "filename": "haversine-1.0.0.tar.gz", "has_sig": false, "md5_digest": "184ce404c5393bb252b1b76c254af832", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2128, "upload_time": "2018-10-10T21:08:20", "url": "https://files.pythonhosted.org/packages/5e/db/f550b7c4f7683e7c5687b459b2db8c589a4b96f7e8d360f197d381b84727/haversine-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "60e0befe7a25a012ffd7025ac848c5e9", "sha256": "14458b233831b680c7508c5ee373a4f51986dcb0c8b412a504104ee86f1ed6f7" }, "downloads": -1, "filename": "haversine-1.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "60e0befe7a25a012ffd7025ac848c5e9", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 3853, "upload_time": "2018-10-10T21:20:51", "url": "https://files.pythonhosted.org/packages/af/46/86f3adc0957de8a6adfc5cd3e4587835e47bd202486c4ffc19a146ac4c8a/haversine-1.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b89e31fb98f169893666533a324383be", "sha256": "6e13332a9bcab2e902f5c7d2fd3085959a32ede673bbfa8aa5aad1e0aaf686ee" }, "downloads": -1, "filename": "haversine-1.0.1.tar.gz", "has_sig": false, "md5_digest": "b89e31fb98f169893666533a324383be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2166, "upload_time": "2018-10-10T21:18:01", "url": "https://files.pythonhosted.org/packages/ed/59/50f041ea977dbb015925ee2ac95516eb3c4567f495e46844ef5d2ba7437c/haversine-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "789c0f9181a20f66e1eca7cbbd686189", "sha256": "d29739072c8f8b98aa8c3c13a35520f212bbdf4f17927d4a6cc878d559698fbe" }, "downloads": -1, "filename": "haversine-1.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "789c0f9181a20f66e1eca7cbbd686189", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 3328, "upload_time": "2018-10-13T14:18:33", "url": "https://files.pythonhosted.org/packages/93/17/8ec6e973b1b89fe70a0583e1dcf56a64da746107e74f7727d0bfc612e7c1/haversine-1.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3a787a7787b22a734b3b1c9db8ae748b", "sha256": "63b9ceb3d2992314fe74948f57afd7d0fb623663ca32f2973565156aa34b9c52" }, "downloads": -1, "filename": "haversine-1.0.2.tar.gz", "has_sig": false, "md5_digest": "3a787a7787b22a734b3b1c9db8ae748b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2207, "upload_time": "2018-11-02T12:19:49", "url": "https://files.pythonhosted.org/packages/92/1c/de387b6399070587970fe2007f8b1064d7f948cbb78c07fb61c65cbff560/haversine-1.0.2.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "423df80091f80b139e54f9f8d07e4057", "sha256": "1cff54bc5fc04a42e53a55d08199865fbdd6f8e7c8874e66193e7e4d8227735b" }, "downloads": -1, "filename": "haversine-2.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "423df80091f80b139e54f9f8d07e4057", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 3722, "upload_time": "2018-11-27T05:50:49", "url": "https://files.pythonhosted.org/packages/ea/c4/69f06be7f039b250837c7ed8f1e8fe8ca0f21a3533c3e896d1424b74ffef/haversine-2.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "263cedad58665dd30fa98aa45fa4d5a4", "sha256": "145b5941d9438fbea0ce67cbc1b786a94c8618bfde07272a6a568464e7f73cd9" }, "downloads": -1, "filename": "haversine-2.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "263cedad58665dd30fa98aa45fa4d5a4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3724, "upload_time": "2018-11-27T06:10:10", "url": "https://files.pythonhosted.org/packages/5b/5d/20ba253eedf6795b8ffca2615cea4d2bba0938e4c1fe019b7815aee2a154/haversine-2.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "246380b223c4070e87229b22588f5e28", "sha256": "c40cd6359c91d9516d279144c1af968b069e9e87aebc957d4fa56c113678cca6" }, "downloads": -1, "filename": "haversine-2.0.0.tar.gz", "has_sig": false, "md5_digest": "246380b223c4070e87229b22588f5e28", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2444, "upload_time": "2018-11-27T05:50:50", "url": "https://files.pythonhosted.org/packages/a6/47/cc01408df40819c8b7526519ebcc3fa7b3392f53c4b51173fc90220eebe9/haversine-2.0.0.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "cbbb8d8d0468f463ddaa401628d66959", "sha256": "ed3756c1ff6a72cd24a1af4a5f32465184506c4a30c040702555080be1aca8ce" }, "downloads": -1, "filename": "haversine-2.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cbbb8d8d0468f463ddaa401628d66959", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4290, "upload_time": "2019-05-07T08:44:46", "url": "https://files.pythonhosted.org/packages/58/ba/deee1c08d73da075ff296229f9672c46ed3ac804dd772c02db52299d3e52/haversine-2.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "76bb99ed66f03946cc6661447d121805", "sha256": "e70673bbebfdea217261fd78d63a5b736aa909076aacdf201d435ed23a38df71" }, "downloads": -1, "filename": "haversine-2.1.0.tar.gz", "has_sig": false, "md5_digest": "76bb99ed66f03946cc6661447d121805", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3133, "upload_time": "2019-05-07T08:48:22", "url": "https://files.pythonhosted.org/packages/6c/08/367e7bdd6eb6fd49eb37755c49cbd4156ff87afdcb7eaff6fe0de167c367/haversine-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "f28c972d753a51c21b5a4344f6f97ea6", "sha256": "53c4769b4b45edfbff6a4149989b4b31724d928317cddeb8da680db4a77d1f54" }, "downloads": -1, "filename": "haversine-2.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f28c972d753a51c21b5a4344f6f97ea6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4494, "upload_time": "2019-05-09T09:49:55", "url": "https://files.pythonhosted.org/packages/e3/72/1a7b859168b618384133f53f23fa54965c5f79d749b50ec1b66fd6a62759/haversine-2.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7873520df81cecb7f3ee5034efb52c3e", "sha256": "60cf0c8c3ba3692c37d0b5fa2d307f74b19cf67bd1dd5f21cb4c1d637a82a615" }, "downloads": -1, "filename": "haversine-2.1.1.tar.gz", "has_sig": false, "md5_digest": "7873520df81cecb7f3ee5034efb52c3e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3102, "upload_time": "2019-05-09T09:49:56", "url": "https://files.pythonhosted.org/packages/ad/18/9d504f2dc872ed7b5c1f8389bc5c8c069d180489f12209fa91d34fdc1516/haversine-2.1.1.tar.gz" } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "9a05862376de28049246852348c9a9b1", "sha256": "17c1d30a36ab8b81c2b890322846478624aa2bc23b80eaa879518812b6b5e24a" }, "downloads": -1, "filename": "haversine-2.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9a05862376de28049246852348c9a9b1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4496, "upload_time": "2019-07-19T19:54:25", "url": "https://files.pythonhosted.org/packages/d7/26/78d4fadc73b7e4c3543f9d5401892cb9a3f4202be789984826033922ec5a/haversine-2.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6f0d66bff2e0558ecd90a08cc6b62090", "sha256": "d88d4218c52a5e91fbbdf286943d00595312e6183dd4b42248a39c7625782d8c" }, "downloads": -1, "filename": "haversine-2.1.2.tar.gz", "has_sig": false, "md5_digest": "6f0d66bff2e0558ecd90a08cc6b62090", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3111, "upload_time": "2019-07-19T19:54:27", "url": "https://files.pythonhosted.org/packages/68/63/185226b1f050ee584d3569b155d7502aa5d1b89d7a1ae23be1987126dde4/haversine-2.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9a05862376de28049246852348c9a9b1", "sha256": "17c1d30a36ab8b81c2b890322846478624aa2bc23b80eaa879518812b6b5e24a" }, "downloads": -1, "filename": "haversine-2.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9a05862376de28049246852348c9a9b1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4496, "upload_time": "2019-07-19T19:54:25", "url": "https://files.pythonhosted.org/packages/d7/26/78d4fadc73b7e4c3543f9d5401892cb9a3f4202be789984826033922ec5a/haversine-2.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6f0d66bff2e0558ecd90a08cc6b62090", "sha256": "d88d4218c52a5e91fbbdf286943d00595312e6183dd4b42248a39c7625782d8c" }, "downloads": -1, "filename": "haversine-2.1.2.tar.gz", "has_sig": false, "md5_digest": "6f0d66bff2e0558ecd90a08cc6b62090", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3111, "upload_time": "2019-07-19T19:54:27", "url": "https://files.pythonhosted.org/packages/68/63/185226b1f050ee584d3569b155d7502aa5d1b89d7a1ae23be1987126dde4/haversine-2.1.2.tar.gz" } ] }