媒体云cliff api客户端库
mediacloud-cliff的Python项目详细描述
这是一个用于Media Cloud CLIFF-CLAVIN geocoder的简单python客户机。
用法
如果你只是想用这个库和悬崖服务器对话 在某个地方运行,首先安装它
pip install mediacloud-cliff
然后实例化并像这样使用:
fromcliff.apiimportCliffmy_cliff=Cliff('http://myserver.com:8080')my_cliff.parse_text("This is about Einstien at the IIT in New Delhi.")
这将返回如下结果:
{"results":{"organizations":[{"count":1,"name":"IIT"}],"places":{"focus":{"cities":[{"id":1261481,"lon":77.22445,"name":"New Delhi","score":1,"countryGeoNameId":"1269750","countryCode":"IN","featureCode":"PPLC","featureClass":"P","stateCode":"07","lat":28.63576,"stateGeoNameId":"1273293","population":317797}],"states":[{"id":1273293,"lon":77.1,"name":"National Capital Territory of Delhi","score":1,"countryGeoNameId":"1269750","countryCode":"IN","featureCode":"ADM1","featureClass":"A","stateCode":"07","lat":28.6667,"stateGeoNameId":"1273293","population":16787941}],"countries":[{"id":1269750,"lon":79,"name":"Republic of India","score":1,"countryGeoNameId":"1269750","countryCode":"IN","featureCode":"PCLI","featureClass":"A","stateCode":"00","lat":22,"stateGeoNameId":"","population":1173108018}]},"mentions":[{"id":1261481,"lon":77.22445,"source":{"charIndex":37,"string":"New Delhi"},"name":"New Delhi","countryGeoNameId":"1269750","countryCode":"IN","featureCode":"PPLC","featureClass":"P","stateCode":"07","confidence":1,"lat":28.63576,"stateGeoNameId":"1273293","population":317797}]},"people":[{"count":1,"name":"Einstien"}]},"status":"ok","milliseconds":22,"version":"2.4.2"}
您也可以从悬崖内的geonames数据库获取信息:
fromcliff.apiimportCliffmy_cliff=Cliff('http://myserver.com:8080')my_cliff.geonames_lookup(4943351)
这样会得到如下结果:
{"results":{"id":4943351,"lon":-71.09172,"name":"Massachusetts Institute of Technology","countryGeoNameId":"6252001","countryCode":"US","featureCode":"SCH","featureClass":"S","parent":{"id":4943909,"lon":-71.39184,"name":"Middlesex County","countryGeoNameId":"6252001","countryCode":"US","featureCode":"ADM2","featureClass":"A","parent":{"id":6254926,"lon":-71.10832,"name":"Massachusetts","countryGeoNameId":"6252001","countryCode":"US","featureCode":"ADM1","featureClass":"A","parent":{"id":6252001,"lon":-98.5,"name":"United States","countryGeoNameId":"6252001","countryCode":"US","featureCode":"PCLI","featureClass":"A","stateCode":"00","lat":39.76,"stateGeoNameId":"","population":310232863},"stateCode":"MA","lat":42.36565,"stateGeoNameId":"6254926","population":6433422},"stateCode":"MA","lat":42.48555,"stateGeoNameId":"6254926","population":1503085},"stateCode":"MA","lat":42.35954,"stateGeoNameId":"6254926","population":0},"status":"ok","version":"2.4.2"}
开发
如果您想在这个api客户机上工作,那么首先克隆the source repo from GitHub 并安装依赖项
pip install -r requirements.pip
然后将settings.config.sample复制到settings.config并放入 cliff服务器的url和端口。现在你应该可以 发展!
分布
- 运行python test.py以确保所有测试通过
- 更新cliff/__init__.py 中的版本号
- 在自述文件的版本历史部分做一个简短的注释 关于更改
- 运行python setup.py sdist在本地测试版本
- 然后运行python setup.py sdist upload -r pypitest以释放 pypi测试服务器的测试版本
- 运行pip install -ihttps://testpypi.python.org/pypi mediacloud 然后与python一起使用,以确保测试版本 作品。
- 当你准备好推动pypi运行时 python setup.py sdist upload -r pypi
- 在某处运行pip install mediacloud-cliff,然后尝试 一定要成功。
版本历史记录
- v2.1.0:升级到cliff v2.4.2
- v2.0.2:更新自述文件中的示例
- v2.0.1:使用url而不是主机/端口初始化
- v2.0.0:移动到mediacloud命名,带下划线的方法名, 删除不推荐的NLP终结点
- v1.4.0:升级到cliff v2.4.1,添加对extractcontent的支持 终点
- v1.3.1:python3的更新
- v1.3.0:python3的更新,支持客户端文本 替换
- v1.2.0:指向cliff v2.3.0(更新斯坦福纳有新的 插件架构)
- v1.1.0:指向cliff v2.2.0(将祖先添加到 geonamesLookuphelper)
- v1.0.2:pypi的第一个版本