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)
Metadata
Release files for ks33requests 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ks33requests-0.1.3.tar.gz | 63.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ks33requests-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 111.2 kB
Release files / ks33requests-0.1.3.tar.gz
| Download URL | ks33requests-0.1.3.tar.gz |
|---|---|
| Size | 63.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
09daee9ad38424e542f2b046130b39d066f04a6b1fc7be082c246ee7807e1070
|
|
BLAKE2b-256 checksum How to use checksums |
b620c2821f8b88bddde3c88088312aa45e5af6fc48c1f9b51a900414e5eb420d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / ks33requests-0.1.3-py3-none-any.whl
| Download URL | ks33requests-0.1.3-py3-none-any.whl |
|---|---|
| Size | 48.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3261033317f46a7e8d21b2e033b331d00da5cacb8f2fbc25be5f83b10dcfc14f
|
|
BLAKE2b-256 checksum How to use checksums |
ced49d52d6dbbb2418d3f029319c6bb235ee34cae2625c84dacd3e5d0d99a7dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|