Libraries
Below we have collected a list of OData libraries in a variety of languages, which will continue to grow along with the OData ecosystem. If you'd like to add/update information on an OData library, please do!
Name | Description | OData Version(s) Supported | For Server/Client | Download From |
---|---|---|---|---|
ASP.NET Web API OData | ASP.NET Web API OData is a framework that makes it easy to build OData services that reach a broad range of clients, including browsers and mobile devices. ASP.NET Web API OData is an ideal platform for building OData applications on the .NET Framework. |
V4 | Server | nugetgallery | >
OData Client for .NET | LINQ-enabled client API for issuing OData queries and consuming OData JSON payloads. It’s the V4 version of the former WCF Data Services Client for OData v1-3. |
V4 | Client | nuget gallery | >
DynamicODataToSQL | Library to convert OData query directly to SQL query without IQueryable or entity framework. It is useful when the data model is dynamic and hence entity framework or any other ORM with IQueryable support cannot be used. |
V4 | Server | nugetgallery | >
ODataHttpClient | A thin OData client library for JSON payload. |
V3-V4 | Client | nugetgallery | >
OData.QueryBuilder | Library for creating complex OData queries (OData version 4.01) based on data models with linq syntax. |
V4 | Client | nugetgallery | >
RESTier | RESTier is a RESTful API development framework for building standardized, OData V4 based REST services on .NET. It can be seen as a middle-ware on top of Web API OData. RESTier can provide convenience to bootstrap an OData service and add business logic like what WCF Data Services does as well as flexibility and easy customization like what Web API OData does. |
V4 | Server | nuget gallery | >
Model Builder | APIs to create an OData Edm (Entity Data Model) using C# types, attributes and conventions. |
V1 | Server | nugetgallery | >
ASP.NET Core OData | ASP.NET Core OData is a framework that makes it easy to build OData services that reach a broad range of clients, including browsers and mobile devices. ASP.NET Core OData is an ideal platform for building OData applications leveraging .NET 5 and the design changes made in newer versions of AspNetCore such as endpoint routing. |
V4 | Server | nugetgallery | >
OData2Poco | A code generation tool for generating plain-old CLR objects (POCO) from OData feeds. Code generation can be controlled by setting many options. OData2Poco is available in two flavours: OData2Poco.CommandLine (a.k.a o2pgen) and OData2Poco class library. |
V1-V4 | Client | nugetgallery nugetgallery | >
Edmlib | Classes to represent, construct, parse, serialize and validate entity data models. |
V4 | Both | nugetgallery | >
Microsoft.Spatial | Contains classes and methods that facilitate geography and geometry spatial operations. It’s the V4 version of the former System. Spatial for OData v1-3. |
V4 | Both | nugetgallery | >
ODataLib | Classes to serialize, deserialize and validate OData JSON payloads. |
V4 | Both | nugetgallery | >
OData Connected Service | The OData Connected Service tool lets app developers connect their applications to OData Services and generate the client proxy files for the services. |
V4 | Client | Visual Studio Gallery | >
Simple.OData.Client for OData V1-4 | A multiplatform OData client library supporting .NET 4.x, Windows Store, Windows Phone 8, Silverlight 5, iOS and Android. |
V1-V4 | Both | nugetgallery | >
WCF Data Services Server for OData V1-3 | Fully-featured server API for responding to OData queries and consuming/producing OData payloads. |
V1-V3 | Server | nugetgallery | >
EdmLib for OData V1-3 | Classes to represent, construct, parse, serialize and validate entity data models. |
V1-V3 | Both | nugetgallery | >
ODataLib for OData V1-3 | Classes to serialize, deserialize and validate OData JSON payloads. |
V1-V3 | Both | nugetgallery | >
System.Spatial for OData V1-3 | Contains classes and methods that facilitate geography and geometry spatial operations. |
V1-V3 | Both | nugetgallery | >
WCF Data Services Client for OData V1-3 | LINQ-enabled client API for issuing OData queries and consuming OData payloads. |
V1-V3 | Client | nugetgallery | >
AdaptiveLINQ | The AdaptiveLINQ .QueryByCube() extension method applying to any IQueryable collection helps you to build an analysis engine querybale using the OData protocol. |
V1-V4 | Both | AdaptiveLINQ | >
Linq to QueryString | Linq to Querystring is an expression parser for .NET that aims to provide a lightweight subset of the OData URI Specification. We focus only on the query aspect of the specification which is one of the most useful and flexible elements of OData. |
Server | nugetgallery | >
Name | Description | Support OData version(s) | For server/client | Download from |
---|---|---|---|---|
SDL OData Frameworks | Open source Scala / Java based SDL OData Framework that aligns with the v4 specifications. Simply annotate your model, provide a datasource and run. |
V4 | Both | SDL Github |
Apache Olingo | Apache Olingo is a Java library that implements the Open Data Protocol (OData). |
V2 and V4 | Both | Apache Olingo |
Oiyokan | Oiyokan is an OData v4 server (provider) SDK for RDB. You can use Oiyokan to turn RDBMS into OData v4 services using JDBC driver. Based on Apache Olingo / Spring Boot. |
V4 | Server | GitHub |
odata4j | odata4j is a Java framework that implements the OData protocol for both consumers (client-side) and producers (server-side) |
V1-V3 | Both | odata4j.org |
Jello Framework | Jello is a Java application framework optimized for Google App Engine including a powerful OData engine, comprehensive Data Authorization model, and out-of-the-box UI views. |
V2 | Both | jello-framework.com |
Name | Description | Support OData version(s) | For server/client | Download from |
---|---|---|---|---|
ODataJS | The Apache Olingo OData Client for JavaScript (ODataJS) is a library written in JavaScript that enables browser based front end applications to easily use the OData protocol for communication with application servers. |
V4 | Client | Apache Olingo Site ,  nuget gallery |
odata2ts | Flexible generator to produce TypeScript types for the request and response models of your OData service or a full-fledged, domain-savvy OData client with configurable HTTP client (e.g. Axios). The OData client features a type-safe and fluent query builder, type-safe CRUD, bound or unbound operations and much more. |
V2-V4 | Client | Documentation ,  Github |
odata2openapi | This node module converts an existing OData metadata document to OpenAPI format (formerly known as swagger). The OpenAPI format includes JSONSchema descriptions of the objects described by the OData service. |
V4 | Both | GitHub ,  NPM |
odata-library | Javascript library for processing OData protocol and developing OData clients. |
V2, V4 | Client | GitHub ,  NPM |
jinqu-odata | jinqu-odata lets you write lazily evaluated LINQ queries against an OData source. It’s written in TypeScript and based on jinqu: The Ultimate JavaScript LINQ API. You can use functions and lambdas, JS parser will convert them into OData parameters. |
V4 | Client | NPM ,  GitHub |
Kendo UI | The @progress/kendo-data-query npm package is a helper package that lets developers handle data operations like sorting, filtering, grouping, and aggregating data via OData. The package exports functions which help you perform in-memory data operations. It also serializes the data descriptors according to the OData v4 URI specification. A part of Kendo UI |
V4 | Client | telerik.com ,  NPM |
JayStack | Build your own OData v4 backend services on Node.js! JayStack OData v4 Server binds OData v4 requests to your annotated controller functions, and compiles OData v4 compatible responses, enabling you to build OData v4 services without the hassle of implementing protocol-level code. |
V4 | Server | jaydata.org |
datajs | datajs is a new cross-browser JavaScript library that enables data-centric web applications by leveraging modern protocols such as JSON and OData and HTML5-enabled browser features. |
V1-V3 | Client | CodePlex ,  nuget gallery |
breeze-odata4 | breeze-odata4 is a fully compatible breeze client adapter TypeScript library that enables integrating breeze.js with the latest OData V4 services. |
V4 | Client | NPM ,  GitHub |
OpenUI5 | OpenUI5 is a JavaScript library maintained by SAP SE that is designed for building interactive business applications. It supports data binding using OData protocol. |
V2, V4 | Client | openui5.org |
Breeze.js | Breeze is a JavaScript library that helps you manage data in rich client applications. breeze-odata4 now supports the latest OData V4 standard. |
V1-V3, V4 | Client | breeze.com |
Syncfusion | @syncfusion/ej2-data is a data management package to perform data operations in client application. It can interact well with oData services using various adaptors such |
V3-V4 | Client | syncfusion.com ,  NPM ,  GitHub |
JayData | JayData is a unified data access library for JavaScript to work with online and offline data APIs like WebSQL, IndexedDB, Facebook or OData. |
V4 | Client | jaydata.org |
DevExtreme | DevExtreme is cross-platform HTML 5/JS tools for next-generation mobile and web development. |
V1-V4 | Both | js.devexpress.com |
node-odata | Create awesome REST APIs abide by OData Protocol v4. Its purpose is to easier to creating APIs, make you more focus on business logic. Currently only works with MongoDB. |
V4 | Server | GitHub |
o.js | o.js is a client side Odata Javascript library to simplify the request of data. The main goal is to build a standalone, lightweight and easy to understand Odata lib. |
V3-V4 | Client | NPM ,  GitHub |
Name | Description | Support OData version(s) | For server/client | Download from |
---|---|---|---|---|
pyodata (Python) | Python OData client which provides comfortable Python agnostic way for communication with OData services. The goal of this Python module is to hide all OData protocol implementation details |
V2 | Client | GitHub ,  PyPI |
FrOData | Provides a simple idiomatic Ruby interface for working with OData V4 APIs. |
V4 | Client | Github |
odata-v4-ng | This project is a client side OData V4 typescript library for Angular2+. The goal is to create an easy to understand fluent API for querying, creating, updating and deleting OData resources in Angular2+. |
V4 | Client | GitHub ,  NPM |
ODataStore for CoreData (iOS) | The ODataStore for CoreData is an iOS static library and a Mac OS X Framework to use V3 OData services with the CoreData Framework from Apple. V4 OData services will be supported in the future. The development language is Objective-C. |
V3 | Both | Link |
angular-odata | Client side OData V4 typescript library for Angular. |
V4 | Client | GitHub ,  NPM |
ODataSwift (Swift) | ODataSwift is simple utility swift wrapper to generate OData Query V4 that works on iOS and OS X. Makes using ODataSwift builder pattern APIs extremely easy and much more palatable to use in Swift |
V4 | Client | GitHub |
OData4ObjC | This library makes it easy for iOS app developers to interact with data in any OData-compliant web service. It supports metadata-aware client-side code generation and full CRUD with query. If someone exposes a data model via OData, OData4ObjC makes it easy to get that model onto your iOS device. |
V1-3 | Client | GitHub |
Lodata | Lodata is a fully-featured OData v4.01 producer for the Laravel web application framework. Lodata supports automatic discovery of Eloquent models to enable any Laravel application to easily provide OData feeds. |
V4 | Server | GitHub ,  Packagist |
OData Client for PHP | A fluent library for calling OData REST services inspired by and based on the Laravel Query Builder. This library is currently in preview. Please continue to provide feedback as we iterate towards a production-supported library. |
V4 | Client | GitHub |
ODataPy (Python) | ODataPy is an open-source Python library that implements the Open Data Protocol (OData). It supports the OData protocol version 4.0. It is built on top of ODataCpp using language binding. It is under development and currently serves only parts of client and client side proxy generation (code gen) aspects of OData. |
V4 | Client | GitHub |
OData Client Library for Tcl/Tk | OData Client Library for Tcl/Tk |
V4 | Client | Link |
Pyslet Python Package (Python) | Pyslet is a Python package for Standards in Learning Education and Training. It implements a number of standards including OData v2 with both client and server capabilities. |
V2 | Both | Link |
Name | Description | Support OData version(s) | For server/client | Download from |
---|---|---|---|---|
ODataCpp-Server | ODataCpp-Server is a server library that helps you build OData V4 service with C++. |
V4 | Server | GitHub |
ODataCpp-Client | ODataCpp-Client serves as client and client side proxy generation (code gen) aspects of OData. |
V4 | Client | GitHub |