https://github.com/sap/python-pyodata
Enterprise-ready Python OData client
https://github.com/sap/python-pyodata
odata open-source python
Last synced: 8 months ago
JSON representation
Enterprise-ready Python OData client
- Host: GitHub
- URL: https://github.com/sap/python-pyodata
- Owner: SAP
- License: apache-2.0
- Created: 2018-11-19T21:13:30.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2025-03-24T14:07:05.000Z (10 months ago)
- Last Synced: 2025-04-06T13:05:55.857Z (9 months ago)
- Topics: odata, open-source, python
- Language: Python
- Size: 530 KB
- Stars: 231
- Watchers: 9
- Forks: 95
- Open Issues: 36
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README


[](https://badge.fury.io/py/pyodata)
[](https://codecov.io/gh/SAP/python-pyodata)
[](https://api.reuse.software/info/github.com/SAP/python-pyodata)
# 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.
## Supported features
- OData V2
## Requirements
- [Python >= 3.9](https://www.python.org/downloads/)
## Download and Installation
Install and update using pip:
```bash
pip install -U pyodata
```
## Configuration
You can start building your OData projects straight away after installing the
Python module without any additional configuration steps needed.
## Limitations
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](https://github.com/SAP/python-pyodata/issues)
## Usage
The only thing you need to do is to import the _pyodata_ Python module and
provide an object implementing interface compatible with [Session Object](https://2.python-requests.org/en/master/user/advanced/#session-objects)
for the library [Requests](https://2.python-requests.org/en/master/).
```python
import requests
import pyodata
SERVICE_URL = 'http://services.odata.org/V2/Northwind/Northwind.svc/'
# Create instance of OData client
client = pyodata.Client(SERVICE_URL, requests.Session())
```
Find more sophisticated examples in [The User Guide](docs/usage/README.md).
## Contributing
Please, go through [the Contributing guideline](CONTRIBUTING.md).
### Authoring a patch
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@github.com:yourname/PyOData`
* `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.
## License
Copyright (c) 2025 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](LICENSE)