Skip to main content

Enterprise ready Python OData client

Project description

Build Status PyPI version codecov

Python OData Client - pyodata

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.


Download and Installation

Install and update using pip:

pip install -U pyodata


You can start building your OData projects straight away after installing the Python module without any additional configuration steps needed.


There have been no limitations discovered yet.

Known Issues

There are no known issues at this time.

How to obtain support

We accept bug reports, feature requests, questions and comments via GitHub issues


The only thing you need to do is to import the pyodata Python module and provide an object implementing interface compatible with Session Object for the library Requests.

import requests
import pyodata


# Create instance of OData client
client = pyodata.Client(SERVICE_URL, requests.Session())

Find more sophisticated examples in The User Guide.


Before contributing, please, make yourself familiar with git. You can try git online. Things would be easier for all of us if you do your changes on a branch. Use a single commit for every logical reviewable change, without unrelated modifications (that will help us if need to revert a particular commit). Please avoid adding commits fixing your previous commits, do amend or rebase instead.

Every commit must have either comprehensive commit message saying what is being changed and why or a link (an issue number on Github) to a bug report where this information is available. It is also useful to include notes about negative decisions - i.e. why you decided to not do particular things. Please bare in mind that other developers might not understand what the original problem was.

Full example

Here's an example workflow for a project PyOData hosted on Github Your username is yourname and you're submitting a basic bugfix or feature.

  • Hit 'fork' on Github, creating e.g. yourname/PyOData.
  • git clone
  • git checkout -b foo_the_bars to create new local branch named foo_the_bars
  • Hack, hack, hack
  • Run python3 -m pytest or make check
  • git status
  • git add
  • git commit -s -m "Foo the bars"
  • git push -u origin HEAD to create foo_the_bars branch in your fork
  • Visit your fork at Github and click handy "Pull request" button.
  • In the description field, write down issue number (if submitting code fixing an existing issue) or describe the issue + your fix (if submitting a wholly new bugfix).
  • Hit 'submit'! And please be patient - the maintainers will get to you when they can.


Copyright (c) 2019 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pyodata, version 1.2.3
Filename, size & hash File type Python version Upload date
pyodata-1.2.3-py3-none-any.whl (34.6 kB) View hashes Wheel py3
pyodata-1.2.3.tar.gz (35.4 kB) View hashes Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page