OData Python库可用?

我想知道是否有任何OData Python库可用于生产和消费OData? 有不同的语言实现: http : //www.odata.org/libraries/

但到目前为止我找不到Python。 顺便说一句,我不是指IronPython。 该库应该只在Python中可用。

我最近添加了一些OData模块到我为一个名为Pyslet的电子学习项目维护的Python包中。 该项目在Github上托pipe: https : //github.com/swl10/pyslet

我写了一篇介绍性的博客文章,展示了OData消费者function: http : //swl10.blogspot.co.uk/2014/02/a-dictionary-like-python-interface-for.html

我也想知道这个,所以我给他们发一封电子邮件。 作为回应,他们提到他们的常见问题,其中指出:

问:是否有客户端库使用可用于我的OData Feed?

平台?

答:通过WCF数据服务以及AJAX,PHP,Java和iPhone,OData客户端库可用于一系列平台,包括.NET和Silverlight。

所以,答案是: no 🙁

以下是一个针对Google App Engine的版本: http : //code.google.com/p/odata-py/

我一直在试验这个规范,并为Python写了一个简单的服务器MyOhData: https ://bitbucket.org/dowski/myohdata/src

我刚开始我自己的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) 

在获得OData的介绍之后,我看起来还不错,看起来好像还没有一个不幸。 我会留意一个人,因为我确信会出现。

2016年更新

OData库列出了两个支持OData的python库。 由于pyslet在过去几个月和几个版本中已经提交,所以它是最活跃的。 我没有尝试过其中任何一个,所以我不能说如果他们工作得很好。

请检查这个链接

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

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

适用于CoreData的V4 Client GitHub ODataStore(iOS)
CoreData的ODataStore是一个iOS静态库和一个Mac OS X框架,可以使用V3 OData服务和Apple的CoreData Framework。 未来将支持V4 OData服务。 开发语言是Objective-C。

V3链接Pyslet Python包(Python)
Pyslet是学习教育和培训标准的Python包。 它实现了许多标准,包括具有客户端和服务器function的OData v2。

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

V1-3客户端GitHub