From d206d4c9d861c3fdfc1c13306d03027490b9d8d7 Mon Sep 17 00:00:00 2001 From: yami Date: Fri, 26 Aug 2016 20:08:03 +0800 Subject: [PATCH] bump version to 2.2.0 --- CHANGELOG.rst | 113 ++++++++++---------- README.rst | 264 +++++++++++++++++++++++------------------------ oss2/__init__.py | 2 +- 3 files changed, 194 insertions(+), 185 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 8f20d74d..fd53887e 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,52 +1,61 @@ -OSS SDK for Python 版本记录 -=========================== - -Python SDK的版本号遵循 `Semantic Versioning `_ 规则。 - -Version 2.1.1 -------------- - -- 修复:issue #28。 -- 修复:正确的设置连接池大小。 - - -Version 2.1.0 -------------- - -- 增加:可以通过 `oss2.defaults.connection_pool_size` 来设置连接池的最大连接数。 -- 增加:可以通过 `oss2.resumable_upload` 函数的 `num_threads` 参数指定并发的线程数,来进行并发上传。 -- 增加:提供断点下载函数 `oss2.resumable_download` 。 -- 修复:保存断点信息的文件名应该由“规则化”的本地文件名生成;当断点信息文件格式不是json时,删除断点信息文件。 -- 修复:修复一些文档的Bug。 - -Version 2.0.6 -------------- - -- 增加:可以通过新增的 `StsAuth` 类,进行STS临时授权 -- 增加:加入Travis CI的支持 -- 改变:对unit test进行了初步的梳理; - -Version 2.0.5 -------------- - -- 改变:缺省的connect timeout由10秒改为60秒。为了兼容老的requests库(版本低于2.4.0),目前connect timeout和read timeout是同一个值,为了避免 -CopyObject、UploadPartCopy因read timeout超时,故把这个超时时间设长。 -- 增加:把 `security-token` 加入到子资源中,参与签名。 -- 修复:用户可以通过设置oss2.defaults里的变量值,直接修改缺省参数 - -Version 2.0.4 -------------- - -- 改变:增加了unittest目录,原先的tests作为functional test;Tox默认是跑unittest -- 修复:按照依赖明确排除requests 2.9.0。因为 `Issue 2844 `_ 导致不能传输UTF-8数据。 -- 修复:Object名以'/'开头时,oss server应该报InvalidObjectName,而不是报SignatureDoesNotMatch。原因是URL中对'/'也要做URL编码。 -- 修复:MANIFEST.in中改正README.rst等 - - - -Version 2.0.3 -------------- - -- 重新设计Python SDK,不再基于原有的官方0.x.x版本开发。 -- 只支持Python2.6及以上版本,支持Python 3。 -- 基于requests库 +OSS SDK for Python 版本记录 +=========================== + +Python SDK的版本号遵循 `Semantic Versioning `_ 规则。 + +Version 2.2.0 +------------- + +- 依赖:增加新的依赖: `crcmod` +- 增加:上传、下载增加了CRC64校验,缺省打开 +- 增加:`RTMP` 直播推流相关接口 +- 增加:`bucket.get_object_meta()` 接口,用来更为快速的获取文件基本信息 +- 修复:`bucket.object_exists()` 接口采用 `bucket.get_object_meta()` 来实现,避免因镜像回源造成的 issue #39 + +Version 2.1.1 +------------- + +- 修复:issue #28。 +- 修复:正确的设置连接池大小。 + + +Version 2.1.0 +------------- + +- 增加:可以通过 `oss2.defaults.connection_pool_size` 来设置连接池的最大连接数。 +- 增加:可以通过 `oss2.resumable_upload` 函数的 `num_threads` 参数指定并发的线程数,来进行并发上传。 +- 增加:提供断点下载函数 `oss2.resumable_download` 。 +- 修复:保存断点信息的文件名应该由“规则化”的本地文件名生成;当断点信息文件格式不是json时,删除断点信息文件。 +- 修复:修复一些文档的Bug。 + +Version 2.0.6 +------------- + +- 增加:可以通过新增的 `StsAuth` 类,进行STS临时授权 +- 增加:加入Travis CI的支持 +- 改变:对unit test进行了初步的梳理; + +Version 2.0.5 +------------- + +- 改变:缺省的connect timeout由10秒改为60秒。为了兼容老的requests库(版本低于2.4.0),目前connect timeout和read timeout是同一个值,为了避免 +CopyObject、UploadPartCopy因read timeout超时,故把这个超时时间设长。 +- 增加:把 `security-token` 加入到子资源中,参与签名。 +- 修复:用户可以通过设置oss2.defaults里的变量值,直接修改缺省参数 + +Version 2.0.4 +------------- + +- 改变:增加了unittest目录,原先的tests作为functional test;Tox默认是跑unittest +- 修复:按照依赖明确排除requests 2.9.0。因为 `Issue 2844 `_ 导致不能传输UTF-8数据。 +- 修复:Object名以'/'开头时,oss server应该报InvalidObjectName,而不是报SignatureDoesNotMatch。原因是URL中对'/'也要做URL编码。 +- 修复:MANIFEST.in中改正README.rst等 + + + +Version 2.0.3 +------------- + +- 重新设计Python SDK,不再基于原有的官方0.x.x版本开发。 +- 只支持Python2.6及以上版本,支持Python 3。 +- 基于requests库 diff --git a/README.rst b/README.rst index e38fb4cb..de3861bc 100644 --- a/README.rst +++ b/README.rst @@ -1,132 +1,132 @@ -Aliyun OSS SDK for Python -========================== - -.. image:: https://badge.fury.io/py/oss2.svg - :target: https://badge.fury.io/py/oss2 -.. image:: https://travis-ci.org/aliyun/aliyun-oss-python-sdk.svg?branch=master - :target: https://travis-ci.org/aliyun/aliyun-oss-python-sdk -.. image:: https://coveralls.io/repos/github/aliyun/aliyun-oss-python-sdk/badge.svg?branch=master - :target: https://coveralls.io/github/aliyun/aliyun-oss-python-sdk?branch=master - -概述 ----- - -阿里云对象存储Python SDK 2.x版本。该版本不和上一个版本(0.x版本)兼容,包的名称为oss2,以避免和先前的版本冲突。 - - -该版本的SDK依赖于第三方HTTP库 `requests `_ ,请按照下述安装方法进行安装。 - -.. note:: - - 该版本不包含osscmd命令行工具 - -运行环境 --------- - -Python 2.6,2.7,3.3,3.4,3.5 - -.. note:: - - 请不要使用Python 3.3.0、3.3.1,参考 `Python Issue 16658 `_ - -安装方法 --------- - -通过pip安装官方发布的版本(以Linux系统为例): - -.. code-block:: bash - - $ pip install oss2 - -也可以直接安装解压后的安装包: - -.. code-block:: bash - - $ sudo python setup.py install - - -快速使用 --------- - -.. code-block:: python - - # -*- coding: utf-8 -*- - - import oss2 - - endpoint = 'http://oss-cn-hangzhou.aliyuncs.com' # 假设你的Bucket处于杭州区域 - - auth = oss2.Auth('<你的AccessKeyId>', '<你的AccessKeySecret>') - bucket = oss2.Bucket(auth, endpoint, '<你的Bucket名>') - - # Bucket中的文件名(key)为story.txt - key = 'story.txt' - - # 上传 - bucket.put_object(key, 'Ali Baba is a happy youth.') - - # 下载 - bucket.get_object(key).read() - - # 删除 - bucket.delete_object(key) - - # 遍历Bucket里所有文件 - for object_info in oss2.ObjectIterator(bucket): - print(object_info.key) - -更多例子请参考examples目录下的代码。 - -出错处理 --------- - -除非特别说明,一旦出错,Python SDK的接口就会抛出异常(见oss2.exceptions子模块)。参考下面的例子: - -.. code-block:: python - - try: - result = bucket.get_object(key) - print(result.read()) - except oss2.exceptions.NoSuchKey as e: - print('{0} not found: http_status={1}, request_id={2}'.format(key, e.status, e.request_id)) - -测试 ----- - -首先通过环境变量来设置测试所需的AccessKeyId、AccessKeySecret、Endpoint以及Bucket信息(**请不要使用生产环境的Bucket**)。 -以Linux系统为例: - -.. code-block:: bash - - $ export OSS_TEST_ACCESS_KEY_ID= - $ export OSS_TEST_ACCESS_KEY_SECRET= - $ export OSS_TEST_ENDPOINT= - $ export OSS_TEST_BUCKET= - - $ export OSS_TEST_STS_ID= - $ export OSS_TEST_STS_KEY= - $ export OSS_TEST_STS_ARN= - - -然后通过以下方式运行测试: - -.. code-block:: bash - - $ nosetests # 请先安装nose - -更多使用 --------- -- `更多例子 `_ -- `Python SDK API文档 `_ -- `官网Python SDK文档 `_ - -联系我们 --------- -- `阿里云OSS官方网站 `_ -- `阿里云OSS官方论坛 `_ -- `阿里云OSS官方文档中心 `_ -- 阿里云官方技术支持:`提交工单 `_ - -代码许可 --------- -MIT许可证,参见LICENSE文件。 +Aliyun OSS SDK for Python +========================== + +.. image:: https://badge.fury.io/py/oss2.svg + :target: https://badge.fury.io/py/oss2 +.. image:: https://travis-ci.org/aliyun/aliyun-oss-python-sdk.svg?branch=master + :target: https://travis-ci.org/aliyun/aliyun-oss-python-sdk +.. image:: https://coveralls.io/repos/github/aliyun/aliyun-oss-python-sdk/badge.svg?branch=master + :target: https://coveralls.io/github/aliyun/aliyun-oss-python-sdk?branch=master + +概述 +---- + +阿里云对象存储Python SDK 2.x版本。该版本不和上一个版本(0.x版本)兼容,包的名称为oss2,以避免和先前的版本冲突。 + + +该版本的SDK依赖于第三方HTTP库 `requests `_ 以及 `crcmod`。 请按照下述安装方法进行安装。 + +.. note:: + + 该版本不包含 `osscmd` 命令行工具 + +运行环境 +-------- + +Python 2.6,2.7,3.3,3.4,3.5 + +.. note:: + + 请不要使用Python 3.3.0、3.3.1,参考 `Python Issue 16658 `_ + +安装方法 +-------- + +通过pip安装官方发布的版本(以Linux系统为例): + +.. code-block:: bash + + $ pip install oss2 + +也可以直接安装解压后的安装包: + +.. code-block:: bash + + $ sudo python setup.py install + + +快速使用 +-------- + +.. code-block:: python + + # -*- coding: utf-8 -*- + + import oss2 + + endpoint = 'http://oss-cn-hangzhou.aliyuncs.com' # 假设你的Bucket处于杭州区域 + + auth = oss2.Auth('<你的AccessKeyId>', '<你的AccessKeySecret>') + bucket = oss2.Bucket(auth, endpoint, '<你的Bucket名>') + + # Bucket中的文件名(key)为story.txt + key = 'story.txt' + + # 上传 + bucket.put_object(key, 'Ali Baba is a happy youth.') + + # 下载 + bucket.get_object(key).read() + + # 删除 + bucket.delete_object(key) + + # 遍历Bucket里所有文件 + for object_info in oss2.ObjectIterator(bucket): + print(object_info.key) + +更多例子请参考examples目录下的代码。 + +出错处理 +-------- + +除非特别说明,一旦出错,Python SDK的接口就会抛出异常(见oss2.exceptions子模块)。参考下面的例子: + +.. code-block:: python + + try: + result = bucket.get_object(key) + print(result.read()) + except oss2.exceptions.NoSuchKey as e: + print('{0} not found: http_status={1}, request_id={2}'.format(key, e.status, e.request_id)) + +测试 +---- + +首先通过环境变量来设置测试所需的AccessKeyId、AccessKeySecret、Endpoint以及Bucket信息(**请不要使用生产环境的Bucket**)。 +以Linux系统为例: + +.. code-block:: bash + + $ export OSS_TEST_ACCESS_KEY_ID= + $ export OSS_TEST_ACCESS_KEY_SECRET= + $ export OSS_TEST_ENDPOINT= + $ export OSS_TEST_BUCKET= + + $ export OSS_TEST_STS_ID= + $ export OSS_TEST_STS_KEY= + $ export OSS_TEST_STS_ARN= + + +然后通过以下方式运行测试: + +.. code-block:: bash + + $ nosetests # 请先安装nose + +更多使用 +-------- +- `更多例子 `_ +- `Python SDK API文档 `_ +- `官网Python SDK文档 `_ + +联系我们 +-------- +- `阿里云OSS官方网站 `_ +- `阿里云OSS官方论坛 `_ +- `阿里云OSS官方文档中心 `_ +- 阿里云官方技术支持:`提交工单 `_ + +代码许可 +-------- +MIT许可证,参见LICENSE文件。 diff --git a/oss2/__init__.py b/oss2/__init__.py index f9b30db1..25cf5d31 100644 --- a/oss2/__init__.py +++ b/oss2/__init__.py @@ -1,4 +1,4 @@ -__version__ = '2.1.1' +__version__ = '2.2.0' from . import models, exceptions