{ "info": { "author": "Sergio Correia", "author_email": "sergio.correia@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: BSD License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: Implementation :: CPython" ], "description": "\n# `tupu` - Fast geodesic distances in Python\n\nThis is a **personal project** centered around geodesic distances.\nIts goal is to be able to quickly compute, for every coordinate in a list:\n\n- Distances to a given point (e.g. distances from each point to NYC)\n- Nearest neighbors: distances to the closest point in another list (e.g. distances from each point to a city), and the identity of such point\n- Number of neighbors: number of points of another list within a certain distance or buffer.\n\n\n## Dev Install\n\nAfter cloning the repo and opening the panflute folder:\n\n`python setup.py install`\n: installs the package locally\n\n`python setup.py develop`\n: installs locally with a symlink so changes are automatically updated\n\n\n## Usage\n\nFrom Python:\n\n```python\nimport tupu\n# TODO...\n```\n\nFrom the command line:\n\n```bash\ntupu some_cities.csv?id=uid --output=augmented.tsv --distance=dist_ny,40.7143,-74.0060\n```\n\n(See also [examples/README.md])\n\n\n## Dependencies:\n\n- [`rtree`](http://toblerity.org/rtree/) (wrapper around [`libspatialindex`](https://libspatialindex.org/)). Windows binaries [here](https://www.lfd.uci.edu/~gohlke/pythonlibs/#rtree)\n- [`pyproj`](https://github.com/pyproj4/pyproj) (wrapper around [`proj4`](https://proj4.org/))\n\n\n## Why \"tupu\"?\n\nTupu was one of the Inca measures of distance, equivalent to about 130 cm.\nI would have preferred to use \"topo\", but it's already a quite popular name on Github, and has other meanings.\n\n![Gordon McEwan, \"The Incas: New Perspectives\", p.179](docs/incas_new_perspective_mcewan_p179.png)\n[Gordon McEwan, \"The Incas: New Perspectives\", p.179](https://books.google.com/books?id=J3WZuTINl2QC&pg=PA179)\n\n![Text](examples/incidence_of_travel_moore_p208.png)\n\n[Jerry D. Moore, \"Incidence of Travel: Recent Journeys in Ancient South America\", p.208](https://books.google.com/books?id=B_kmDgAAQBAJ&pg=PA208&lpg=PA208)\n\n\n\n\n\n## Why not geopandas, etc.?\n\nEarlier tests deemed them too slow/complicated, but there might be workarounds. EG:\n\nhttps://stackoverflow.com/questions/54804073/how-can-i-accelerate-a-geopandas-spatial-join/54804074#54804074\n\n\n## Limitations\n\n- Not parallelized, although that should be trivial\n- Not Cython, although most of the heavy load is already in C.\n- Only deals with points, not with lines/polygons\n- Currently only stores distance to closest city (although allowing more is trivial)\n- Currently does not compute number of points within a given distance (although allowing more is trivial)\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/sergiocorreia/tupu", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "tupu", "package_url": "https://pypi.org/project/tupu/", "platform": "", "project_url": "https://pypi.org/project/tupu/", "project_urls": { "Homepage": "https://github.com/sergiocorreia/tupu" }, "release_url": "https://pypi.org/project/tupu/0.1.0/", "requires_dist": [ "pyproj", "rtree" ], "requires_python": ">=3.7.0", "summary": "Fast geodesic distances between sets", "version": "0.1.0" }, "last_serial": 5049459, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "ef581073b2854d17d4d43196684d11f0", "sha256": "54334e46fd57b791c1ced6d19d705c3e9b4e1295afbc48dd2de23a1550939bed" }, "downloads": -1, "filename": "tupu-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ef581073b2854d17d4d43196684d11f0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7.0", "size": 9495, "upload_time": "2019-04-02T12:22:12", "url": "https://files.pythonhosted.org/packages/91/54/94632329ae6bb3f064cf43aacea0a372f17be256f61a7bab883529821691/tupu-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3148fd303e0038c3681bedd6493b54ca", "sha256": "074e469604d7ce4684493c5557a87d52d69b881420a52c11ceb57b96f1d12cca" }, "downloads": -1, "filename": "tupu-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3148fd303e0038c3681bedd6493b54ca", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7.0", "size": 9494, "upload_time": "2019-04-02T12:22:14", "url": "https://files.pythonhosted.org/packages/0d/ff/5025601c8ea0301d43c0347417c9863a23446381840c59f561f216e8aa8a/tupu-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bb5197a3ca4f7f0834b38ed383927a79", "sha256": "eaf634cd3697e2b053311b522589fa1982b4795f7e7570c0c2d3834732308134" }, "downloads": -1, "filename": "tupu-0.1.0.tar.gz", "has_sig": false, "md5_digest": "bb5197a3ca4f7f0834b38ed383927a79", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 8448, "upload_time": "2019-04-02T12:22:15", "url": "https://files.pythonhosted.org/packages/76/f8/36c0cc7994f93a75c53ada950176b69563049eb46225db88cc5a0552048f/tupu-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ef581073b2854d17d4d43196684d11f0", "sha256": "54334e46fd57b791c1ced6d19d705c3e9b4e1295afbc48dd2de23a1550939bed" }, "downloads": -1, "filename": "tupu-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ef581073b2854d17d4d43196684d11f0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7.0", "size": 9495, "upload_time": "2019-04-02T12:22:12", "url": "https://files.pythonhosted.org/packages/91/54/94632329ae6bb3f064cf43aacea0a372f17be256f61a7bab883529821691/tupu-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3148fd303e0038c3681bedd6493b54ca", "sha256": "074e469604d7ce4684493c5557a87d52d69b881420a52c11ceb57b96f1d12cca" }, "downloads": -1, "filename": "tupu-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3148fd303e0038c3681bedd6493b54ca", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7.0", "size": 9494, "upload_time": "2019-04-02T12:22:14", "url": "https://files.pythonhosted.org/packages/0d/ff/5025601c8ea0301d43c0347417c9863a23446381840c59f561f216e8aa8a/tupu-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bb5197a3ca4f7f0834b38ed383927a79", "sha256": "eaf634cd3697e2b053311b522589fa1982b4795f7e7570c0c2d3834732308134" }, "downloads": -1, "filename": "tupu-0.1.0.tar.gz", "has_sig": false, "md5_digest": "bb5197a3ca4f7f0834b38ed383927a79", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 8448, "upload_time": "2019-04-02T12:22:15", "url": "https://files.pythonhosted.org/packages/76/f8/36c0cc7994f93a75c53ada950176b69563049eb46225db88cc5a0552048f/tupu-0.1.0.tar.gz" } ] }