{ "info": { "author": "Llu\u00eds Esquerda", "author_email": "eskerda@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "python-citybikes\n================\n.. image:: https://travis-ci.org/eskerda/python-citybikes.svg?branch=master\n :target: https://travis-ci.org/eskerda/python-citybikes\n\n`python-citybikes` is a python client for the `Citybikes API`_.\n\nAbout Citybikes\n---------------\nCitybikes_ is a project about making bike sharing data available to both users\nand developers. It has a nice and easy to use API, but this package might be\nuseful to projects consuming the API.\n\n``python-citybikes`` must not be confused with `pybikes`_:\n\n- `pybikes`_ is a set of tools to access bike sharing data directly from the providers. It's the library powering the project and the API. If a network is not supported or does not correctly work, it's there where the issue or the contribution must be sent.\n- `python-citybikes` is a python wrapper around the `Citybikes API`_.\n\n.. _Citybikes: https://citybik.es\n.. _Citybikes API: https://api.citybik.es\n.. _pybikes: https://github.com/eskerda/pybikes\n\n\nInstallation\n------------\n\n.. code-block::\n\n $ pip install python-citybikes\n\nUsage\n-----\nFirst instantiate a client\n\n.. code-block::\n\n >>>> import citybikes\n >>>> client = citybikes.Client()\n\nGet the full list of networks\n\n.. code-block::\n\n >>>> networks = list(client.networks)\n >>>> len(networks)\n 458\n >>>> networks[0]\n {'name': 'Opole Bike', 'href': '/v2/networks/opole-bike', 'location': {'lat\n itude': 50.6645, 'city': 'Opole', 'country': 'PL', 'longitude': 17.9276}, '\n id': 'opole-bike', 'company': ['Nextbike GmbH']}\n\nGet stations from a network\n\n.. code-block::\n\n >>>> len(networks[0].stations)\n 16\n >>>> list(networks[0].stations)[0]\n {'timestamp': '2016-11-22T16:05:44.318000Z', 'id': 'd8c9f66260759aeb27445b2\n cddf2d6b9', 'name': 'P\u0119tla Autobusowa - Dambonia', 'free_bikes': 7, 'empty_\n slots': 3, 'latitude': 50.661775266224, 'extra': {'bike_uids': ['60128', '6\n 0108', '60063', '60062', '60052', '60037', '60190'], 'number': '6011', 'slo\n ts': 10, 'uid': '132115'}, 'longitude': 17.888891100884}\n\nInstantiate a network by id directly\n\n.. code-block::\n\n >>>> bicing = citybikes.Network(client, uid='bicing')\n >>>> bicing['name']\n 'Bicing'\n >>>> len(bicing.stations)\n 465\n\nGet a network ordered by distance to lat, lng\n\n.. code-block::\n\n >>>> # Lets get the nearest network to NY lat, lng\n >>>> net, dist = next(iter(client.networks.near(40.7128, -74.0059)))\n >>>> net\n {'href': '/v2/networks/citi-bike-nyc', 'id': 'citi-bike-nyc', 'gbfs_href': \n 'https://gbfs.citibikenyc.com/gbfs/gbfs.json', 'location': {'latitude': 40.\n 7143528, 'country': 'US', 'longitude': -74.00597309999999, 'city': 'New Yor\n k, NY'}, 'company': ['NYC Bike Share, LLC', 'Motivate International, Inc.',\n 'PBSC Urban Solutions'], 'name': 'Citi Bike'}\n\nGet stations from a network ordered by distance to lat, lng\n\n.. code-block::\n\n >>>> # Now, get stations ordered by distance to Manhattan center\n >>>> sts = net.stations.near(40.7831, -73.9712)\n >>>> for s, dist in sts[:5]:\n ... print(s['name'])\n ...\n W 82 St & Central Park West\n Central Park West & W 85 St\n W 84 St & Columbus Ave\n Central Park West & W 76 St\n W 89 St & Columbus Ave\n\n\n\nHistory\n=======\n0.1.4 (2019-07-26)\n------------------\n* Fix python 2 compatibility\n\n0.1.3 (2017-02-13)\n------------------\n* Add JSON Encoder for resources\n\n0.1.1 (2016-11-22)\n------------------\n* Improve docs\n* near helpers also return relative distance\n\n0.1.0 (2016-11-17)\n------------------\n* First release\n* Can navigate the Citybikes API\n* Requests for resources are done only once\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/eskerda/python-citybikes", "keywords": "Citybikes api.citybik.es bike sharing", "license": "", "maintainer": "", "maintainer_email": "", "name": "python-citybikes", "package_url": "https://pypi.org/project/python-citybikes/", "platform": "", "project_url": "https://pypi.org/project/python-citybikes/", "project_urls": { "Homepage": "https://github.com/eskerda/python-citybikes" }, "release_url": "https://pypi.org/project/python-citybikes/0.1.4/", "requires_dist": [ "requests", "six" ], "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "summary": "Client interface for the Citybikes API", "version": "0.1.4" }, "last_serial": 5589108, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "0f246c691ef98632a10b3b770ca80eed", "sha256": "1f8078421d7a8315f4cb177f4dbf9e415703b123d7cc40287c0fbf23c35234d7" }, "downloads": -1, "filename": "python_citybikes-0.1.0-py2.7.egg", "has_sig": false, "md5_digest": "0f246c691ef98632a10b3b770ca80eed", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 7317, "upload_time": "2016-11-22T15:42:00", "url": "https://files.pythonhosted.org/packages/b5/93/c2888de7f5091d3ced84d5292a7dd9db426a227dfc501b24b3f2cac3125e/python_citybikes-0.1.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "7b8da13531a619d734b110d477252c7b", "sha256": "cc779bf6bf7564e23ed288b0f7aba12915e232003fcd3a9329d8fcbdbb53149d" }, "downloads": -1, "filename": "python_citybikes-0.1.0-py3.5.egg", "has_sig": false, "md5_digest": "7b8da13531a619d734b110d477252c7b", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 7689, "upload_time": "2016-11-22T15:42:02", "url": "https://files.pythonhosted.org/packages/b8/9d/5afa03022ec87a1ec5c95357fc5b1eb95dee6403e5e0891780351b78d691/python_citybikes-0.1.0-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "d3764bae8879b0669eb71e24ac626e99", "sha256": "6698fec74830c325acdb11aca083fce5593f2b179741f12c7909bd32c6f34ec1" }, "downloads": -1, "filename": "python_citybikes-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d3764bae8879b0669eb71e24ac626e99", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4803, "upload_time": "2016-11-22T15:41:56", "url": "https://files.pythonhosted.org/packages/09/cb/265a6e096cf38913d7da681763343c622cccb07e7debb5aacee80809dbec/python_citybikes-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "75d194bef79d0f6b25b5dd36b7ea7fcf", "sha256": "2f1924af5355942703d68b17a147b116d3322fbd4a7be0ee16fafd971a368c94" }, "downloads": -1, "filename": "python-citybikes-0.1.0.tar.gz", "has_sig": false, "md5_digest": "75d194bef79d0f6b25b5dd36b7ea7fcf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2907, "upload_time": "2016-11-22T15:42:04", "url": "https://files.pythonhosted.org/packages/c1/6c/8fac81ce662825e84384ab9e20748fbed5b47e9b69e65324aa36add295b9/python-citybikes-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "40fcb1d61f614fa9c7126ac70250d585", "sha256": "778b0a3a1f661182c4698972c4f90c16ff39fbeedc01b0da908484f99ecc117e" }, "downloads": -1, "filename": "python_citybikes-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "40fcb1d61f614fa9c7126ac70250d585", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7254, "upload_time": "2016-11-22T16:45:19", "url": "https://files.pythonhosted.org/packages/51/6e/35c13070db3134492f0538b1f45ceab5f6f427a49aae5c4c0f1e682f0224/python_citybikes-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4532c590e07cd673a7989cbb4a704ae2", "sha256": "61b21de52aae85ba9536d4f922a952b6f3f8c34071a1f4a83a6162c2ab2c36d7" }, "downloads": -1, "filename": "python-citybikes-0.1.1.tar.gz", "has_sig": false, "md5_digest": "4532c590e07cd673a7989cbb4a704ae2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4393, "upload_time": "2016-11-22T16:45:21", "url": "https://files.pythonhosted.org/packages/89/af/2e99d0fd09d1c65ab530c9faab3d3914be62945cad9a24da8b30f04d2396/python-citybikes-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "b817a06fdaaaba92dc4328a34cc079dc", "sha256": "4119282172a6cc6926a7e31ecba470415f3336c47f88eaa3ef38c42a55cc0c81" }, "downloads": -1, "filename": "python_citybikes-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b817a06fdaaaba92dc4328a34cc079dc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7326, "upload_time": "2016-11-23T10:52:41", "url": "https://files.pythonhosted.org/packages/e6/41/c541a28dc1f54a8955ea8ef4160903cc7954217a730c802f1b582a29a6d9/python_citybikes-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7df3f6ab146d820cbadd8693fa16a8af", "sha256": "b348f6f805c1735363ca83bffdec21ecfceaf0b3c773a31ad2d7097794f18ed6" }, "downloads": -1, "filename": "python-citybikes-0.1.2.tar.gz", "has_sig": false, "md5_digest": "7df3f6ab146d820cbadd8693fa16a8af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4539, "upload_time": "2016-11-23T10:52:44", "url": "https://files.pythonhosted.org/packages/17/2f/5215ea3e38a31226078d940fa9a7438ccad17895b6485859359203ca5806/python-citybikes-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "2bc31ac58fa5749899f034c322bcc41e", "sha256": "8dd0f0f5fe479dd8125982b30cb4d5ba26c666510b2a332d2f09478e4157afea" }, "downloads": -1, "filename": "python_citybikes-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2bc31ac58fa5749899f034c322bcc41e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7418, "upload_time": "2017-02-13T00:54:19", "url": "https://files.pythonhosted.org/packages/18/b8/a1d32c37621298148d192c4be94f3d04ed5ae48b096530c0577dd2a602fd/python_citybikes-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "177464189467d535e6e65cf19363df97", "sha256": "d1a10f8f7ac5a32fc4318348be5a2b99b185d80de5671b24b7b10c9c377eaf8f" }, "downloads": -1, "filename": "python-citybikes-0.1.3.tar.gz", "has_sig": false, "md5_digest": "177464189467d535e6e65cf19363df97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4595, "upload_time": "2017-02-13T00:54:20", "url": "https://files.pythonhosted.org/packages/3d/95/d83c8d7a726ac69123dfc5fcdc593ee7ae922b0d813de60fa6227fe186da/python-citybikes-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "e70223dc25eca6eabcabaaa53bb483f5", "sha256": "b62d92d1daa325105920dcf9eeb2add05181d01756d91227d2ad56e1f172801c" }, "downloads": -1, "filename": "python_citybikes-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e70223dc25eca6eabcabaaa53bb483f5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 5191, "upload_time": "2019-07-26T13:40:51", "url": "https://files.pythonhosted.org/packages/d6/aa/d5cd24bf7ccfe8220e00cdd49f56763c7e36711cd12364e5c0974f35d3f6/python_citybikes-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "27cbe5610f5660d69390f85d0a245378", "sha256": "3ab2db070e7bc02ce030f21caa91b9603eccc3d9df94c0b331c5d250af629ca4" }, "downloads": -1, "filename": "python-citybikes-0.1.4.tar.gz", "has_sig": false, "md5_digest": "27cbe5610f5660d69390f85d0a245378", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 4775, "upload_time": "2019-07-26T13:40:52", "url": "https://files.pythonhosted.org/packages/71/a0/f85185b4e7ba01aa30f67c442d5308e851a8b043dc0b43085b401afdf624/python-citybikes-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e70223dc25eca6eabcabaaa53bb483f5", "sha256": "b62d92d1daa325105920dcf9eeb2add05181d01756d91227d2ad56e1f172801c" }, "downloads": -1, "filename": "python_citybikes-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e70223dc25eca6eabcabaaa53bb483f5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 5191, "upload_time": "2019-07-26T13:40:51", "url": "https://files.pythonhosted.org/packages/d6/aa/d5cd24bf7ccfe8220e00cdd49f56763c7e36711cd12364e5c0974f35d3f6/python_citybikes-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "27cbe5610f5660d69390f85d0a245378", "sha256": "3ab2db070e7bc02ce030f21caa91b9603eccc3d9df94c0b331c5d250af629ca4" }, "downloads": -1, "filename": "python-citybikes-0.1.4.tar.gz", "has_sig": false, "md5_digest": "27cbe5610f5660d69390f85d0a245378", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 4775, "upload_time": "2019-07-26T13:40:52", "url": "https://files.pythonhosted.org/packages/71/a0/f85185b4e7ba01aa30f67c442d5308e851a8b043dc0b43085b401afdf624/python-citybikes-0.1.4.tar.gz" } ] }