Python 3图书馆与费城自行车共享API的合作
indego的Python项目详细描述
Indego自行车共享Python库
关于
我试图为费城indego自行车共享api创建一个可重用的python库!我对python不是很熟悉,但是尝试通过创建这个来学习。
我写这个类似于my existing Indego PHP library。
如果你觉得这个图书馆很有趣,那就去看看the City of Philadelphia GitHub!
安装
这个库的安装应该和运行一样简单:
pip install indego
兼容性
请注意,此库仅与Python3+兼容。不支持Python2。
示例
当与提供的Indego
类结合时,以下代码将生成示例输出:
from indego import Indego
# Instantiate the Indego class
indego = Indego()
# Retrieve and print "university" stations
uni_stations = indego.get_stations('university')
print(uni_stations)
# Show how many stations were returned above
uni_count = len(uni_stations)
print(uni_count, 'stations returned')
输出:
$ python3 university_example.py
{3008: {'addressStreet': '1076 Berks Street', 'addressCity': 'Philadelphia', 'addressState': 'PA', 'addressZipCode': '19122', 'bikesAvailable': 3, 'closeTime': '03:55:00', 'docksAvailable': 16, 'eventEnd': None, 'eventStart': None, 'isEventBased': False, 'isVirtual': False, 'isVisible': False, 'kioskId': 3008, 'kioskPublicStatus': 'Active', 'kioskStatus': 'FullService', 'name': 'Temple University Station', 'notes': None, 'openTime': '04:00:00', 'publicText': '', 'timeZone': 'Eastern Standard Time', 'totalDocks': 19, 'trikesAvailable': 0, 'kioskConnectionStatus': 'Active', 'kioskType': 1, 'latitude': 39.98078, 'longitude': -75.15055, 'hasGeofence': False, 'classicBikesAvailable': 3, 'smartBikesAvailable': 0, 'electricBikesAvailable': 0, 'isArchived': False}, 3020: {'addressStreet': '3051 South St.', 'addressCity': 'Philadelphia', 'addressState': 'PA', 'addressZipCode': '19147', 'bikesAvailable': 11, 'closeTime': '03:55:00', 'docksAvailable': 24, 'eventEnd': None, 'eventStart': None, 'isEventBased': False, 'isVirtual': False, 'isVisible': False, 'kioskId': 3020, 'kioskPublicStatus': 'Active', 'kioskStatus': 'FullService', 'name': 'University City Station', 'notes': None, 'openTime': '04:00:00', 'publicText': '', 'timeZone': 'Eastern Standard Time', 'totalDocks': 35, 'trikesAvailable': 0, 'kioskConnectionStatus': 'Active', 'kioskType': 1, 'latitude': 39.94922, 'longitude': -75.19036, 'hasGeofence': False, 'classicBikesAvailable': 11, 'smartBikesAvailable': 0, 'electricBikesAvailable': 0, 'isArchived': False}}
2 stations returned
为get_stations()
提供一个参数/过滤器来限制工作站的选择,只会限制Indego
类中的结果。api端点本身总是返回所有站点。
不幸的是,对于正在使用的api,似乎没有大量的文档,也没有任何可用的参数来限制从api检索的站点。
不带任何参数调用get_stations()
将返回所有(当前,132)站的列表。
更多信息
- The actual Philadelphia Indego Bike Share API, a GeoJSON file
- OpenDataPhilly description of the API
- Interesting article visualizing Indego usage