Skip to main content

ks33requests

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

概述

一个很简单的、适用于 金山云 对象存储(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:

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

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)

Source distribution for ks33requests 0.1.3
File Size Uploaded
ks33requests-0.1.3.tar.gz 63.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ks33requests 0.1.3
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page