OData Python库可用吗?

52

我想知道是否有任何可用于生成和消耗OData的Python库?不同语言都有实现:

http://www.odata.org/libraries/

但是我迄今为止找不到Python的实现。顺便说一下,我的意思不是指IronPython。该库应该可以在Python中使用。


我也很有兴趣找到一个相关的库。 - Joel Martinez
为什么要设置悬赏,当问题已经得到解答?在你的问题上设置悬赏并不能让一个虚构的库出现并咬你的脚 :) - Jeff LaFay
6个回答

16

我是http://code.google.com/p/odata-py/库的作者。

目前它还处于早期阶段,但它提供了最基本的功能(创建、读取、更新)。如果您发现了错误或想要做出贡献,请不要犹豫留言;)


11
通过简短地浏览源代码,odata-py似乎只能与Google App Engine一起使用。您是否打算在某个时候摆脱这种依赖关系? - joar

7
我之前开始了一个自己的OData 4.0消费者项目。它基于“requests”库,是纯Python编写的。由于我只实现了工作所需的功能,因此它非常简洁。请在我的github上查看。
它的工作方式如下:
from odata import ODataService
url = 'http://services.odata.org/V4/Northwind/Northwind.svc/'
Service = ODataService(url, reflect_entities=True)
Product = Service.entities['Product']

query = Service.query(Product)
query = query.filter(Product.ProductName.startswith('Queso'))
query = query.order_by(Product.UnitPrice.desc())
for product in query:
    print(product.ProductName)

可以通过以下命令进行安装:pip install git+https://github.com/tuomur/python-odata.git - yvesva

7

2

1
请检查这个链接。

http://www.odata.org/libraries/

ODataPy (Python)
ODataPy是一个开源的Python库,实现了开放数据协议(OData)。它支持OData协议版本4.0。它是基于使用语言绑定的ODataCpp构建的。它正在开发中,目前仅服务于OData的客户端和客户端代理生成(代码生成)方面的部分。

V4 客户端 GitHub ODataStore for CoreData (iOS)
ODataStore for CoreData是一个iOS静态库和Mac OS X框架,用于使用苹果的CoreData框架与V3 OData服务。未来将支持V4 OData服务。开发语言是Objective-C。

V3 两者 链接 Pyslet Python Package (Python)
Pyslet是一个用于学习教育和培训标准的Python包。它实现了许多标准,包括具有客户端和服务器功能的OData v2。

V2 两者 链接 OData4ObjC
这个库使iOS应用程序开发人员可以轻松地与任何符合OData规范的Web服务中的数据进行交互。它支持元数据感知的客户端端代码生成和完整的CRUD查询。如果有人通过OData公开数据模型,OData4ObjC可以轻松地将该模型放到您的iOS设备上。

V1-3 客户端 GitHub


1

我在了解OData的介绍后也进行了搜索,但不幸的是目前似乎还没有相关的库。我会继续关注这个问题,相信很快就会有人推出。

2016年更新

OData Libraries 列出了两个支持OData的Python库。pyslet 似乎是最活跃的一个,因为它在过去几个月中有提交并发布了几个版本。我还没有尝试过它们,所以无法确定它们是否有效。


2016年的同时期,没有出现任何新的事物,对吧? - Red Pill
谢谢,我会去看一下。我回到了2.7版本。有点难过:“一旦Pyslet在Python 3下工作,我将开始更新现有的OData包以支持OData版本3和4。” - Red Pill

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接