Skip to main content

Support Aria2 rpc client and manage server with async/await

Project description

提供aria2异步客户端的包

本模块提供与aria2异步通信的客户端与管理aria2进程的服务端

pypi地址

使用方法:

示例如下

import aioaria2
import asyncio
from pprint import pprint
async def main():
    async with aioaria2.Aria2HttpClient("id", "http://192.168.0.107:6800/jsonrpc", "normal",
                                        token="admin") as client:
        pprint(await client.getVersion())
asyncio.run(main())

相关ip地址应该换成自己的

client对象的相关方法见aria2手册

import aioaria2
import asyncio
from pprint import pprint
async def main():
    async with aioaria2.Aria2HttpClient("id", "http://192.168.0.107:6800/jsonrpc", "normal",
                                        token="admin") as client:
        pprint(await client.addUri(["http://www.demo.com"])) #即可下载
asyncio.run(main())
运行该协程函数即可,方法对应aria2jsonrpc的方法
对于服务端,每一个实例对应一个aria2进程
import aioaria2
import asyncio
async def main():
    server = aioaria2.AsyncAria2Server(r"128aria2c.exe",
                                       r"--conf-path=aria2.conf", "--rpc-secret=admin", daemon=True)
    await server.start()
    await server.wait()
asyncio.run(main())

即可启动一个aria2进程

参考选项及设置

todolist

  • 异步http通信
  • 异步websocket通信
  • 修复server类的bug
  • 单元测试

jsonrpc 本模块在其之上构建,提供了异步支持,以级websocket支持

windows用户应该加上以下设置

asyncio.set_event_loop_policy(asyncio.WindowsProactorEventLoopPolicy())
asyncio.set_event_loop(asyncio.ProactorEventLoop())

Notice

在最终v1.0发布之前不建议直接setup安装

v1.2更新

新增Aria2WebsocketTrigger类,可以监听websocket消息, 使用on*方法注册自定义回调函数,既可以是同步也可以是异步的

如下

@trigger.onDownloadStart
async def onDownloadStart(trigger, future):
    print("下载开始{0}".format(future.result()))

title

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

aioaria2-1.2.2.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

aioaria2-1.2.2-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file aioaria2-1.2.2.tar.gz.

File metadata

  • Download URL: aioaria2-1.2.2.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.7

File hashes

Hashes for aioaria2-1.2.2.tar.gz
Algorithm Hash digest
SHA256 503f501221659d44749a5f0368534ab25e6e1c144c2b9750757e009bb71b3b7b
MD5 ee05826d20912b926c603c3a49264550
BLAKE2b-256 e92265f41d28e6b61e6f8494cb90713da192a1c938ae2bba86da0bae682e798d

See more details on using hashes here.

File details

Details for the file aioaria2-1.2.2-py3-none-any.whl.

File metadata

  • Download URL: aioaria2-1.2.2-py3-none-any.whl
  • Upload date:
  • Size: 15.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.7

File hashes

Hashes for aioaria2-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7c33ead6c938cc5c6e47d310464661697c1065401b7eee5f6210acd9a0fdebf7
MD5 b0fef46014b05d2e069ae4140c7eb5dc
BLAKE2b-256 b45d05ad086f164c06d2901323a1b390023d417b74bc5d344f844aa62cbb1e86

See more details on using hashes here.

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