适用于金山云对象存储(KS3)的简单 Python3 客户端
Project description
ks33requests
概述
一个很简单的、适用于 金山云 对象存储(KS3)的 Python3 客户端。
金山云 官方提供了 KS3 的 Python SDK,但在我启动这个项目(2019-06-10)时,仅提供 Python2 SDK。
考虑到 Python2 已经接近其生命周期的终点,我制作了这个简单的 Python3 KS3 客户端用于相关项目。
安装
-
pip 安装
pip install ks33requests
-
源代码安装
python setuptools.py install
-
Pipenv 安装
pipenv install ks33requests
如何使用
参见 notebooks 中的笔记
CHANGELOG
0.1.3
📅 Date : 2019-06-26
- New:
get_content_md5()
: 获取 KS3 样式的 MD5 BASE64 校验值
- Fix:
- 修订
conda
与pip
的定义文件中的几处错误 - 修订几处文档错误
- 修订
0.1.2.1
📅 Date : 2019-06-25
- Change:
- 构造
Client
时,如果不指定密钥对,将从环境变量KSYUN_ACCESS_KEY
与KSYUN_SECRET_KEY
获得 Client.send()
增加encoding
参数,用于对文本数据上传的支持
- 构造
- Fix:
- 几个有关文本数据上传 bug
- New:
- 几个测试用例
- Sphinx Docs
- Circle CI
- Code coverage
0.1
📅 Date : 2019-06-12
这实际上还是一个 Alpha 版本,但是为了在项目中顺利使用,且给它一个稳定的版本编号。
CONTRIBUTING
ℹ 注意:
这个项目需要 Python
3.5
及以上版本。
复刻项目代码
复刻项目代码到工作目录,然后切换到项目的目录:
cd path/to/your/workspace/directory/
git clone https://github.com/tanbro/ks33requests.git
cd ks33requests
准备开发环境
强烈建议在 virtual environment 中进行开发工作。
-
如果使用标准库:
使用标准库的 venv 与 pip 直接新建名为
venv
的虚拟环境目录,将本项目以“开发模式”安装到这个环境,并安装开发工作所要使用的包:path/of/your/python -m venv venv venv/bin/python setup.py develop venv/bin/python -m pip install -r requires/dev.txt
-
如果使用 Pipenv:
使用 Pipenv 命令直接安装:
pipenv install --dev
-
如果使用 conda
使用 conda 从配置文件新建一个专用于这个项目的、名为
ks33requests-dev
的环境,然后激活它,将本项目以“开发模式”安装到这个环境:conda env create -f environment.yml conda activate ks33requests-dev python setup.py develop
XML Schema
金山云 KS3 的 WebAPI 数据结构有许多与S3兼容。 所以,这个项目直接使用考虑来自 http://s3.amazonaws.com/doc/2006-03-01/AmazonS3.xsd 的 Schema。
我们使用 generateDS 工具,从xsd
文件生成 Python 类型定义:
mkdir -p schemas
wget http://s3.amazonaws.com/doc/2006-03-01/AmazonS3.xsd -P schemas
generateDS.py -f -o s3_api.py -s s3_sub.py --super=s3_api schemas/AmazonS3.xsd
生成的源代码文件复制到名称空间 ks33requests.schemas
中,小幅修改 s3_sub.py
即可使用。
运行测试用例
python setup.py test
测试用例很少,陆续补充中...
Docs
如果模块有增减,需要删除原来的 Sphinx-Docs API 自动文档并重新生成:
rm -rf docs/ks3requests.rst docs/api
sphinx-apidoc -e -f -o docs/api src/ks33requests src/ks33requests/schemas/s3_*.py
AUTHORS
-
Liu Xue Yan (liu_xue_yan@foxmail.com)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ks33requests-0.1.3.tar.gz
.
File metadata
- Download URL: ks33requests-0.1.3.tar.gz
- Upload date:
- Size: 63.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09daee9ad38424e542f2b046130b39d066f04a6b1fc7be082c246ee7807e1070 |
|
MD5 | 3e6ea2074271b037ec923c6bf3f6b169 |
|
BLAKE2b-256 | b620c2821f8b88bddde3c88088312aa45e5af6fc48c1f9b51a900414e5eb420d |
File details
Details for the file ks33requests-0.1.3-py3-none-any.whl
.
File metadata
- Download URL: ks33requests-0.1.3-py3-none-any.whl
- Upload date:
- Size: 48.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3261033317f46a7e8d21b2e033b331d00da5cacb8f2fbc25be5f83b10dcfc14f |
|
MD5 | 09affe60aadf43044d1a4cc686c6bafa |
|
BLAKE2b-256 | ced49d52d6dbbb2418d3f029319c6bb235ee34cae2625c84dacd3e5d0d99a7dc |