Skip to main content

适用于金山云对象存储(KS3)的简单 Python3 客户端

Project description

ks33requests

PyPI PyPI - License Documentation Status CircleCI codecov PyPI - Format PyPI - Status PyPI - Python Version PyPI - Implementation

概述

一个很简单的、适用于 金山云 对象存储(KS3)的 Python3 客户端。

金山云 官方提供了 KS3Python 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:
    • 修订 condapip 的定义文件中的几处错误
    • 修订几处文档错误

0.1.2.1

📅 Date : 2019-06-25

  • Change:
    • 构造 Client 时,如果不指定密钥对,将从环境变量 KSYUN_ACCESS_KEYKSYUN_SECRET_KEY 获得
    • Client.send() 增加 encoding 参数,用于对文本数据上传的支持
  • Fix:
    • 几个有关文本数据上传 bug
  • New:

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 中进行开发工作。

  • 如果使用标准库:

    使用标准库的 venvpip 直接新建名为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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ks33requests-0.1.3.tar.gz (63.2 kB view hashes)

Uploaded Source

Built Distribution

ks33requests-0.1.3-py3-none-any.whl (48.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page