skillfed

pyodps

ODPS Python SDK and data analysis framework

pyodps v0.13.1 5.8M downloads/30d#2,033 on PyPI448
Permissive license Apache License 2.0 Active released

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 pyodps

uv

uv add pyodps

poetry

poetry add pyodps

Installing 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

Operating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Free Threading :: 1 - UnstableProgramming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software Development :: Libraries

Tags

aliyun odps python clientodps data processing sdkaliyun data warehouse pythonodps table query apidistributed data processing pythonodps sql executionaliyun cloud data sdk
aliyun-clouddata-warehousedistributed-computing

More Libraries packages