ODPS Python SDK and data analysis framework
Project Links
Meta
Author: Wu Wei
Maintainer: Wenjun Si
Classifiers
Operating System
- OS Independent
Programming Language
- Python
- Python :: 2
- Python :: 2.7
- Python :: 3
- Python :: 3.4
- Python :: 3.5
- Python :: 3.6
- Python :: 3.7
- Python :: 3.8
- Python :: 3.9
- Python :: 3.10
- Python :: 3.11
- Python :: Implementation :: CPython
- Python :: Implementation :: PyPy
Topic
- Software Development :: Libraries
Elegent way to access ODPS API. Documentation
Installation
The quick way:
pip install pyodps[full]
If you don’t need to use Jupyter, just type
pip install pyodps
The dependencies will be installed automatically.
Or from source code (not recommended for production use):
$ virtualenv pyodps_env
$ source pyodps_env/bin/activate
$ pip install git+https://github.com/aliyun/aliyun-odps-python-sdk.git
Dependencies
Python (>=2.7), including Python 3+, pypy, Python 3.7 recommended
setuptools (>=3.0)
Run Tests
install pytest
copy conf/test.conf.template to odps/tests/test.conf, and fill it with your account
run pytest odps
Usage
>>> import os
>>> from odps import ODPS
>>> # Make sure environment variable CLOUD_ACCESS_KEY_ID already set to Access Key ID of user
>>> # while environment variable CLOUD_ACCESS_KEY_SECRET set to Access Key Secret of user.
>>> # Not recommended to hardcode Access Key ID or Access Key Secret in your code.
>>> o = ODPS(
>>> os.getenv('CLOUD_ACCESS_KEY_ID'),
>>> os.getenv('CLOUD_ACCESS_KEY_SECRET'),
>>> project='**your-project**',
>>> endpoint='**your-endpoint**',
>>> )
>>> dual = o.get_table('dual')
>>> dual.name
'dual'
>>> dual.table_schema
odps.Schema {
c_int_a bigint
c_int_b bigint
c_double_a double
c_double_b double
c_string_a string
c_string_b string
c_bool_a boolean
c_bool_b boolean
c_datetime_a datetime
c_datetime_b datetime
}
>>> dual.creation_time
datetime.datetime(2014, 6, 6, 13, 28, 24)
>>> dual.is_virtual_view
False
>>> dual.size
448
>>> dual.table_schema.columns
[<column c_int_a, type bigint>,
<column c_int_b, type bigint>,
<column c_double_a, type double>,
<column c_double_b, type double>,
<column c_string_a, type string>,
<column c_string_b, type string>,
<column c_bool_a, type boolean>,
<column c_bool_b, type boolean>,
<column c_datetime_a, type datetime>,
<column c_datetime_b, type datetime>]
Command-line and IPython enhancement
In [1]: %load_ext odps In [2]: %enter Out[2]: <odps.inter.Room at 0x10fe0e450> In [3]: %sql select * from pyodps_iris limit 5 |==========================================| 1 / 1 (100.00%) 2s Out[3]: sepallength sepalwidth petallength petalwidth name 0 5.1 3.5 1.4 0.2 Iris-setosa 1 4.9 3.0 1.4 0.2 Iris-setosa 2 4.7 3.2 1.3 0.2 Iris-setosa 3 4.6 3.1 1.5 0.2 Iris-setosa 4 5.0 3.6 1.4 0.2 Iris-setosa
Python UDF Debugging Tool
#file: plus.py
from odps.udf import annotate
@annotate('bigint,bigint->bigint')
class Plus(object):
def evaluate(self, a, b):
return a + b
$ cat plus.input 1,1 3,2 $ pyou plus.Plus < plus.input 2 5
Contributing
For a development install, clone the repository and then install from source:
git clone https://github.com/aliyun/aliyun-odps-python-sdk.git cd pyodps pip install -r requirements.txt -e .
License
Licensed under the Apache License 2.0
0.12.5
Sep 17, 2025
0.12.4.1
Jul 30, 2025
0.12.4
Jul 03, 2025
0.12.3
May 09, 2025
0.12.2.2
Apr 18, 2025
0.12.2.1
Mar 20, 2025
0.12.2
Jan 03, 2025
0.12.1.1
Dec 05, 2024
0.12.1
Nov 22, 2024
0.12.0
Oct 03, 2024
0.11.6.5
Aug 26, 2024
0.11.6.4
Aug 16, 2024
0.11.6.3
Jul 31, 2024
0.11.6.2
Jul 24, 2024
0.11.6.1
May 13, 2024
0.11.6
Apr 17, 2024
0.11.5.post0
Jan 08, 2024
0.11.5
Jan 05, 2024
0.11.5b2
Nov 20, 2023
0.11.5b1
Nov 10, 2023
0.11.4.1
Jun 29, 2023
0.11.4.post0
May 19, 2023
0.11.4
May 18, 2023
0.11.3.1
Mar 30, 2023
0.11.3
Mar 10, 2023
0.11.3b1
Jan 17, 2023
0.11.2.4
Feb 03, 2023
0.11.2.3
Dec 23, 2022
0.11.2.2
Sep 15, 2022
0.11.2.1
Aug 22, 2022
0.11.2
Aug 17, 2022
0.11.1
Jul 05, 2022
0.11.0
Mar 17, 2022
0.10.7.1
Dec 13, 2021
0.10.7
Apr 08, 2021
0.10.6
Mar 08, 2021
0.10.5
Feb 23, 2021
0.10.4
Jan 04, 2021
0.10.3
Dec 21, 2020
0.10.2
Nov 05, 2020
0.10.1.1
Jun 03, 2024
0.10.1
Oct 28, 2020
0.10.0
Sep 16, 2020
0.9.5
Sep 06, 2020
0.9.3.2
Aug 22, 2020
0.9.3.1
Jul 06, 2020
0.9.3
Jul 06, 2020
0.9.1
May 08, 2020
0.9.0.1
Apr 26, 2020
0.8.6
Jun 03, 2024
0.8.5.1
Nov 24, 2022
0.8.5
Apr 09, 2020
0.8.4
Feb 18, 2020
0.8.3
Aug 15, 2019
0.8.2
Jul 01, 2019
0.8.1
Apr 17, 2019
0.8.0
Dec 25, 2018
0.7.20.1
Nov 12, 2018
0.7.20
Oct 29, 2018
0.7.19
Aug 14, 2018
0.7.18
Jul 03, 2018
0.7.17
May 24, 2018
0.7.16
Mar 26, 2018
0.7.15
Feb 05, 2018
0.7.14
Jan 02, 2018
0.7.13
Dec 20, 2017
0.7.12.1
Nov 16, 2017
0.7.12
Nov 10, 2017
0.7.11
Sep 30, 2017
0.7.10
Aug 25, 2017
0.7.9
Aug 04, 2017
0.7.8
Jul 21, 2017
0.7.7.2
Jul 10, 2017
0.7.7
Jun 30, 2017
0.7.6
Jun 16, 2017
0.7.5.1
Jun 02, 2017
0.7.5
Jun 02, 2017
0.7.4
May 15, 2017
0.7.3
Apr 28, 2017
0.7.2
Apr 07, 2017
0.7.1
Mar 24, 2017
0.7.0
Mar 10, 2017
0.6.10
Jun 20, 2018
0.6.9
Jan 25, 2017
0.6.8
Jan 05, 2017
0.6.7
Dec 23, 2016
0.6.6
Dec 10, 2016
0.6.5
Nov 11, 2016
0.6.4
Oct 20, 2016
0.6.3
Sep 28, 2016
0.6.2
Sep 23, 2016
0.6.1
Sep 02, 2016
0.6.0
Aug 26, 2016
0.5.9
Jun 19, 2018
0.5.8
Aug 21, 2016
0.5.7
Aug 12, 2016
0.5.6
Jul 08, 2016
0.5.5
Jul 05, 2016
0.5.4
Jun 13, 2016
0.5.3
Jun 03, 2016
0.5.2
May 26, 2016
0.5.1
May 20, 2016
0.5.0
May 20, 2016
0.4.8
May 04, 2016
0.4.7
Apr 21, 2016
0.4.6
Apr 21, 2016
0.4.5
Apr 19, 2016
0.4.4
Apr 18, 2016
0.4.3
Apr 06, 2016
0.4.2
Apr 05, 2016
0.4.1
Apr 04, 2016
0.4.0
Mar 19, 2016
0.3.12
Feb 25, 2016
0.3.11
Feb 19, 2016
0.3.10
Feb 19, 2016
0.3.9
Feb 17, 2016
0.3.8
Feb 16, 2016
0.3.7
Feb 15, 2016
0.3.6
Feb 13, 2016
0.3.5
Feb 05, 2016
0.3.4
Feb 05, 2016
0.3.3
Feb 02, 2016
0.3.2
Feb 02, 2016
0.3.1
Feb 02, 2016
0.3.0
Feb 01, 2016
0.2.10
Dec 16, 2015
0.2.9
Dec 10, 2015
0.2.8
Dec 07, 2015
0.2.7
Dec 02, 2015
0.2.6
Nov 30, 2015
0.2.5
Nov 30, 2015
0.2.4
Nov 30, 2015
0.2.3
Nov 22, 2015
0.2.2
Nov 20, 2015
0.2.1
Nov 20, 2015
0.2.0
Nov 13, 2015
Wheel compatibility matrix
Files in release
pyodps-0.12.5-cp27-cp27m-macosx_10_9_x86_64.whl (2.0MiB)
pyodps-0.12.5-cp27-cp27m-manylinux1_x86_64.whl (4.1MiB)
pyodps-0.12.5-cp27-cp27mu-manylinux1_x86_64.whl (4.1MiB)
pyodps-0.12.5-cp310-cp310-macosx_10_9_universal2.whl (2.7MiB)
pyodps-0.12.5-cp310-cp310-macosx_10_9_x86_64.whl (2.0MiB)
pyodps-0.12.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.6MiB)
pyodps-0.12.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.6MiB)
pyodps-0.12.5-cp310-cp310-win32.whl (1.9MiB)
pyodps-0.12.5-cp310-cp310-win_amd64.whl (2.0MiB)
pyodps-0.12.5-cp311-cp311-macosx_10_9_universal2.whl (2.7MiB)
pyodps-0.12.5-cp311-cp311-macosx_10_9_x86_64.whl (2.1MiB)
pyodps-0.12.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.1MiB)
pyodps-0.12.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.1MiB)
pyodps-0.12.5-cp311-cp311-win32.whl (1.9MiB)
pyodps-0.12.5-cp311-cp311-win_amd64.whl (2.0MiB)
pyodps-0.12.5-cp312-cp312-macosx_10_9_universal2.whl (2.7MiB)
pyodps-0.12.5-cp312-cp312-macosx_10_9_x86_64.whl (2.0MiB)
pyodps-0.12.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.0MiB)
pyodps-0.12.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.1MiB)
pyodps-0.12.5-cp312-cp312-win32.whl (1.9MiB)
pyodps-0.12.5-cp312-cp312-win_amd64.whl (1.9MiB)
pyodps-0.12.5-cp35-cp35m-manylinux1_x86_64.whl (4.3MiB)
pyodps-0.12.5-cp35-cp35m-win32.whl (1.9MiB)
pyodps-0.12.5-cp35-cp35m-win_amd64.whl (2.0MiB)
pyodps-0.12.5-cp36-cp36m-macosx_10_9_x86_64.whl (2.0MiB)
pyodps-0.12.5-cp36-cp36m-manylinux1_x86_64.whl (4.4MiB)
pyodps-0.12.5-cp36-cp36m-win32.whl (1.9MiB)
pyodps-0.12.5-cp36-cp36m-win_amd64.whl (2.0MiB)
pyodps-0.12.5-cp37-cp37m-macosx_10_9_x86_64.whl (2.0MiB)
pyodps-0.12.5-cp37-cp37m-manylinux1_x86_64.whl (4.6MiB)
pyodps-0.12.5-cp37-cp37m-manylinux2014_aarch64.whl (5.3MiB)
pyodps-0.12.5-cp37-cp37m-win32.whl (1.9MiB)
pyodps-0.12.5-cp37-cp37m-win_amd64.whl (2.0MiB)
pyodps-0.12.5-cp38-cp38-macosx_10_9_x86_64.whl (2.0MiB)
pyodps-0.12.5-cp38-cp38-manylinux1_x86_64.whl (4.8MiB)
pyodps-0.12.5-cp38-cp38-manylinux2014_aarch64.whl (6.0MiB)
pyodps-0.12.5-cp38-cp38-win32.whl (1.9MiB)
pyodps-0.12.5-cp38-cp38-win_amd64.whl (2.0MiB)
pyodps-0.12.5-cp39-cp39-macosx_10_9_universal2.whl (2.7MiB)
pyodps-0.12.5-cp39-cp39-macosx_10_9_x86_64.whl (2.0MiB)
pyodps-0.12.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.6MiB)
pyodps-0.12.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.7MiB)
pyodps-0.12.5-cp39-cp39-win32.whl (1.9MiB)
pyodps-0.12.5-cp39-cp39-win_amd64.whl (2.0MiB)
pyodps-0.12.5.tar.gz (1.1MiB)