All Projects → tuomur → python-odata

tuomur / python-odata

Licence: MIT license
A simple library for read/write access to OData services

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to python-odata

light-odata
OData(V2/V4) Client for javascript/typescript
Stars: ✭ 25 (-66.22%)
Mutual labels:  odata, odata-client
odata-v4-ng
OData service for Angular
Stars: ✭ 27 (-63.51%)
Mutual labels:  odata
awesome-sql-builder
A small library for building SQL queries in a better way than regular string concatenation.
Stars: ✭ 44 (-40.54%)
Mutual labels:  odata
Unchase.Odata.Connectedservice
📜 A Visual Studio extension for connecting to OData services with generating client-side C# proxy-classes
Stars: ✭ 39 (-47.3%)
Mutual labels:  odata-client
aspnet-api-versioning
Provides a set of libraries which add service API versioning to ASP.NET Web API, OData with ASP.NET Web API, and ASP.NET Core.
Stars: ✭ 2,396 (+3137.84%)
Mutual labels:  odata
Beef
Business Entity Execution Framework
Stars: ✭ 95 (+28.38%)
Mutual labels:  odata
ui5-cap-event-app
Showcase of SAP Cloud Application Programming Model and OData V4 with draft mode in a freestyle SAPUI5 app and an SAP Fiori elements app.
Stars: ✭ 70 (-5.41%)
Mutual labels:  odata
slickgrid-universal
Slickgrid-Universal is a monorepo which includes all Editors, Filters, Extensions, Services and is Framework Agnostic to take full advantage of SlickGrid core lib.
Stars: ✭ 29 (-60.81%)
Mutual labels:  odata
Unchase.OpenAPI.Connectedservice
📜 Visual Studio extension to generate OpenAPI (Swagger) web service reference.
Stars: ✭ 69 (-6.76%)
Mutual labels:  odata
Reports.JS
Stimulsoft Reports.JS is a reporting tool for Node.js and JavaScript applications.
Stars: ✭ 33 (-55.41%)
Mutual labels:  odata
becquerel
Gateway server that provides an OData interface to BigQuery and Elasticsearch
Stars: ✭ 17 (-77.03%)
Mutual labels:  odata
odata-v4-server
With JayStack OData v4 Server you can build your own data endpoints without the hassle of implementing any protocol-level code. This framework binds OData v4 requests to your annotated controller functions, and compiles OData v4 compatible response. Clients can access services through OData-compliant HTTP requests. We recommend the JayData libra…
Stars: ✭ 68 (-8.11%)
Mutual labels:  odata
Beetle.js
🪲 Javascript ORM, manage your data easily.
Stars: ✭ 53 (-28.38%)
Mutual labels:  odata
service-fabric-queryable
Enable query support for your stateful services in Service Fabric via the OData protocol.
Stars: ✭ 42 (-43.24%)
Mutual labels:  odata
lodata
The OData v4.01 Producer for Laravel
Stars: ✭ 40 (-45.95%)
Mutual labels:  odata
angular-odata-es5
OData Service for Angular.io (es5 version)
Stars: ✭ 45 (-39.19%)
Mutual labels:  odata
odata-client
Java client generator for a service described by OData CSDL 4.0 metadata. Includes Microsoft Graph clients (v1.0 and Beta), Graph Explorer client, Analytics for DevOps, Dynamics CRM clients
Stars: ✭ 23 (-68.92%)
Mutual labels:  odata
Gridify
Easy and optimized way to apply Filtering, Sorting, and Pagination using text-based data.
Stars: ✭ 372 (+402.7%)
Mutual labels:  odata
Samples-ASP.NET-MVC-CSharp
ASP.NET MVC C# samples for Stimulsoft Reports.Web reporting tool.
Stars: ✭ 31 (-58.11%)
Mutual labels:  odata
LINQPadOData4
OData v4 LINQPad dynamic driver
Stars: ✭ 23 (-68.92%)
Mutual labels:  odata

python-odata

A simple library for read/write access to OData services.

  • Supports OData version 4.0
  • Requires JSON format support from the service
  • Should work on both Python 2.x and 3.x

Documentation

Available on readthedocs.org

Dependencies

  • requests >= 2.0
  • python-dateutil

Demo

Reading data from the Northwind service.

from odata import ODataService
url = 'http://services.odata.org/V4/Northwind/Northwind.svc/'
Service = ODataService(url, reflect_entities=True)
Supplier = Service.entities['Supplier']

query = Service.query(Supplier)
query = query.limit(2)
query = query.order_by(Supplier.CompanyName.asc())

for supplier in query:
    print('Company:', supplier.CompanyName)

    for product in supplier.Products:
        print('- Product:', product.ProductName)

Writing changes. Note that the real Northwind service is read-only and the data modifications do not work against it.

import datetime

Order = Service.entities['Order']
Employee = Service.entities['Employee']

empl = Service.query(Employee).first()

query = Service.query(Order)
query = query.filter(Order.ShipCity == 'Berlin')

for order in query:
    order.ShippedDate = datetime.datetime.utcnow() 
    order.Employee = empl
    Service.save(order)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].