pyodps
ODPS Python SDK and data analysis framework
What it is and what it does
pyodps is a Python SDK for Aliyun's ODPS (Open Data Processing Service), a cloud-based distributed data warehouse. It provides programmatic access to ODPS clusters, allowing you to query tables, execute SQL, retrieve schemas, and manage data processing jobs directly from Python code. The package wraps the ODPS REST API and handles authentication, serialization, and result marshaling through its runtime dependencies requests and pyarrow.
The SDK is designed for data engineers and analysts working with Aliyun's cloud infrastructure. It includes support for IPython/Jupyter integration via magic commands, a Python UDF debugging tool for custom functions, and both synchronous and asynchronous execution modes. The package supports Python versions from 3.7 onward and is actively maintained.
Use it for:
- Query and retrieve data from ODPS tables programmatically within Python data analysis workflows.
- Execute SQL statements against ODPS clusters and process results in Python data structures.
- Develop and debug Python UDFs (User Defined Functions) for use in ODPS SQL queries.
- Automate ETL pipelines that read from or write to Aliyun ODPS data warehouses.
- Integrate ODPS data access into Jupyter notebooks using IPython magic commands for interactive exploration.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
pyodps is a Python SDK for accessing Aliyun ODPS clusters, providing APIs to query tables, execute SQL, and manage data processing jobs through a REST interface.
Yes, if you work with Aliyun ODPS. The package is actively maintained, has no known vulnerabilities, supports modern Python versions, and carries a permissive Apache License 2.0. Install friction is moderate due to compiled wheels, but pre-built binaries are available for common platforms. Not relevant for non-Aliyun cloud environments.
Install
pyodps on PyPI
pip
pip install pyodpsuv
uv add pyodpspoetry
poetry add pyodpsInstalling pyodps
Before you install
Medium install friction due to compiled wheels for multiple Python versions and architectures. Active maintenance with a recent release (2026-08-14) and ongoing repository activity; supports Python 3.7 through 3.14, including PyPy.
License in practice
Licensed under Apache License 2.0 (permissive), allowing free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
Quickstart
pip install pyodps
import os
from pyodps import ODPS
o = ODPS(
os.getenv('CLOUD_ACCESS_KEY_ID'),
os.getenv('CLOUD_ACCESS_KEY_SECRET'),
project='your-project',
endpoint='your-endpoint'
)
table = o.get_table('dual')
print(table.name)
Requires CLOUD_ACCESS_KEY_ID and CLOUD_ACCESS_KEY_SECRET environment variables set with valid Aliyun credentials; access to an ODPS endpoint is also required.
Verify before relying
- Whether pyarrow is required for all workflows or only for specific data operations.
- Performance characteristics and scalability limits for large table operations.
- Compatibility details with different ODPS service versions or regions.
Package facts
| License | Apache License 2.0 (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 2 — requests, pyarrow |
| Maintenance | actively maintained — 0 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 5,819,474/month — #2,033 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyodps-0.13.1-cp310-cp310-macosx_10_9_x86_64.whl; pyodps-0.13.1-cp310-cp310-macosx_11_0_arm64.whl; pyodps-0.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; pyodps-0.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pyodps-0.13.1-cp310-cp310-win32.whl; pyodps-0.13.1-cp310-cp310-win_amd64.whl; pyodps-0.13.1-cp311-cp311-macosx_10_9_x86_64.whl; pyodps-0.13.1-cp311-cp311-macosx_11_0_arm64.whl; pyodps-0.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; pyodps-0.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pyodps-0.13.1-cp311-cp311-win32.whl; pyodps-0.13.1-cp311-cp311-win_amd64.whl; pyodps-0.13.1-cp312-cp312-macosx_10_9_x86_64.whl; pyodps-0.13.1-cp312-cp312-macosx_11_0_arm64.whl; pyodps-0.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; pyodps-0.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pyodps-0.13.1-cp312-cp312-win32.whl; pyodps-0.13.1-cp312-cp312-win_amd64.whl; pyodps-0.13.1-cp313-cp313-macosx_10_13_x86_64.whl; pyodps-0.13.1-cp313-cp313-macosx_11_0_arm64.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
tablestorePython SDK for Aliyun Tablestore (OTS), a…
permissive · top 15,000 on PyPI
ipyparallelManages clusters of IPython processes for…
permissive · top 15,000 on PyPI
apache-airflow-providers-alibabaIntegrates Alibaba Cloud services (OSS, ADB,…
permissive · top 15,000 on PyPI
alibabacloud-gateway-ossProvides a gateway implementation for Alibaba…
permissive · top 15,000 on PyPI
aiooss2Aiooss2 provides an async client for Aliyun OSS…
permissive · top 15,000 on PyPI
dmpythondmPython is a native Python driver for…
permissive · top 15,000 on PyPI
alibabacloud-gpdb20160503Provides a Python SDK for interacting with…
permissive · top 15,000 on PyPI
alibabacloud-oss20190517Provides a Python SDK for interacting with…
permissive · top 15,000 on PyPI
oss2Python SDK for uploading, downloading, and…
permissive · top 5,000 on PyPI
aliyun-log-python-sdkPython SDK for Alibaba Cloud Log Service that…
permissive · top 15,000 on PyPI