Skip to content
forked from JZQT/aioqiniu

基于asyncio和aiohttp的七牛云Python异步客户端。

License

Notifications You must be signed in to change notification settings

HunDunDM/aioqiniu

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aioqiniu

aioqiniu是基于asyncioaiohttp的七牛云Python异步客户端库。

Install

$ sudo pip3 install aioqiniu

Requirements

  • Python >= 3.5
  • qiniu
  • aiohttp

Getting started

使用样例:获取文件元信息

import asyncio

import aioqiniu

async def main():
    client = aioqiniu.QiniuClient("MY_ACCESS_KEY", "MY_SECRET_KEY")
    stat = await client.get_file_stat("BUCKET_NAME", "FILE_NAME")
    print(stat)

if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())

Documentation

直接在Python中通过help来查看aioqiniu的API文档。

更多API细节可查看注释中提供的七牛官方文档地址。

Tests

本项目使用pytest做单元测试,运行测试需要安装以下依赖

  • pytest
  • pytest-asyncio
  • pytest-incremental

运行下面的命令安装运行测试所需的依赖

$ sudo pip3 install pytest pytest-asyncio pytest-incremental

在该项目根目录下执行以下命令来运行测试

$ pytest

注意:部分测试需要设置环境变量QINIU_ACCESS_KEYQINIU_SECRET_KEY才会运行

Changelog

  • v1.3.0(未发布)

    • QiniuClient的初始化参数client更改为httpclient
    • QiniuClientupload_dataupload_file方法添加mimetype参数
    • 添加新模块aioqiniu.exceptions,包含异常类HTTPError,作为与七牛服务器交互产生的HTTP错误异常类
  • v1.2.0(2017-05-10)

    • aioqiniu.utils模块添加计算七牛etag相关的工具函数

      • get_stream_etag

        从一个流中读取数据并计算七牛etag

      • get_data_etag

        从字节码数据中计算七牛etag

      • get_file_etag

        从本地文件中读取数据计算七牛etag

    • QiniuClient添加从原始数据中计算token的一些相关方法,用于替代qiniu.Auth的相关功能

      • get_token

        根据原始数据生成token,同qiniu.Auth.token

      • get_token_with_data

        根据原始数据生成含已编码原始数据的token,同qiniu.Auth.token_with_data

    • 添加生成私有资源url的方法QiniuClient.get_private_download_url

  • v1.1.0(2017-05-05)

    • APIQiniuClient.get_encoded_entry_uri转移到新模块aioqiniu.utils中作为一个函数来使用

    • 添加批量操作的APIQiniuClient.batch

    • 添加直传本地文件的APIQiniuClient.upload_file

    • 更改QiniuClient.upload_data方法的参数名,使API调用更加方便

      • upload_token -> token
      • upload_host -> host
    • 更换QiniuClient.upload_dataAPI的datatoken的参数位置,调用更符合直觉,现在是这样调用

      await qiniuclient.upload_data(data, token, ...)
  • v1.0.0(2017-05-03)

    基于asyncioaiohttp的七牛云Python异步客户端库。

    支持以下API:

    • 查询、创建和删除空间
    • 查询空间绑定的域名列表
    • 查找、上传和删除文件
    • 拷贝、移动和重命名文件
    • 修改文件MIME类型信息
    • 设置文件的生命周期
    • 镜像回源预取
    • 第三方资源抓取
    • 其它主要是内部使用的API(非协程API,主要是生成token以及相关的数据格式)

About

基于asyncio和aiohttp的七牛云Python异步客户端。

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%