飞牛fnOS的Python SDK。
Project description
pyfnos
飞牛fnOS的Python SDK。
注意:这个SDK非官方提供。
项目信息
- 源代码仓库: https://github.com/Timandes/pyfnos
- 问题追踪: GitHub Issues
上手
import asyncio
import argparse
def on_message_handler(message):
"""消息回调处理函数"""
print(f"收到消息: {message}")
async def main():
# 解析命令行参数
parser = argparse.ArgumentParser(description='Fnos客户端')
parser.add_argument('--user', type=str, required=True, help='用户名')
parser.add_argument('--password', type=str, required=True, help='密码')
parser.add_argument('-e', '--endpoint', type=str, default='your-custom-endpoint.com:5666', help='服务器地址 (默认: your-custom-endpoint.com:5666)')
args = parser.parse_args()
client = FnosClient()
# 设置消息回调
client.on_message(on_message_handler)
# 连接到服务器(必须指定endpoint)
await client.connect(args.endpoint)
# 等待连接建立
await asyncio.sleep(3)
# 登录
result = await client.login(args.user, args.password)
print("登录结果:", result)
# 发送请求
await client.request_payload("user.info", {})
print("已发送请求,等待响应...")
# 等待一段时间以接收响应
await asyncio.sleep(5)
# 演示重连功能
await client.close() # 先关闭连接
print("连接已关闭,尝试重连...")
await client.connect(args.endpoint) # 重新连接
await asyncio.sleep(3) # 等待连接建立
result = await client.login(args.user, args.password) # 重新登录
print("重连登录结果:", result)
# 关闭连接
await client.close()
# 运行异步主函数
if __name__ == "__main__":
asyncio.run(main())
参考
| 类名 | 方法名 | 简介 |
|---|---|---|
| FnosClient | __init__ |
初始化客户端 |
| FnosClient | connect |
连接到WebSocket服务器(必填参数:endpoint) |
| FnosClient | login |
用户登录方法 |
| FnosClient | get_decrypted_secret |
获取解密后的secret |
| FnosClient | on_message |
设置消息回调函数 |
| FnosClient | request |
发送请求 |
| FnosClient | request_payload |
以payload为主体发送请求 |
| FnosClient | request_payload_with_response |
以payload为主体发送请求并返回响应 |
| FnosClient | reconnect |
重新连接到服务器 |
| FnosClient | close |
关闭WebSocket连接 |
| Store | __init__ |
初始化Store类 |
| Store | general |
请求存储通用信息 |
| ResourceMonitor | __init__ |
初始化ResourceMonitor类 |
| ResourceMonitor | cpu |
请求CPU资源监控信息 |
| ResourceMonitor | gpu |
请求GPU资源监控信息 |
| ResourceMonitor | memory |
请求内存资源监控信息 |
| SAC | __init__ |
初始化SAC类 |
| SAC | ups_status |
请求UPS状态信息 |
| SystemInfo | __init__ |
初始化SystemInfo类 |
| SystemInfo | get_host_name |
请求主机名信息 |
| SystemInfo | get_trim_version |
请求Trim版本信息 |
| SystemInfo | get_machine_id |
请求机器ID信息 |
| SystemInfo | get_hardware_info |
请求硬件信息 |
| SystemInfo | get_uptime |
请求系统运行时间信息 |
| User | __init__ |
初始化User类 |
| User | getInfo |
获取用户信息 |
| User | listUserGroups |
请求用户和组列表信息 |
| User | groupUsers |
请求用户分组信息 |
| User | isAdmin |
检查当前用户是否为管理员 |
命令行参数
示例程序支持以下命令行参数:
--user: 用户名(必填)--password: 密码(必填)-e, --endpoint: 服务器地址(可选,默认为 your-custom-endpoint.com:5666)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
fnos-0.5.0.tar.gz
(14.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
fnos-0.5.0-py3-none-any.whl
(17.9 kB
view details)
File details
Details for the file fnos-0.5.0.tar.gz.
File metadata
- Download URL: fnos-0.5.0.tar.gz
- Upload date:
- Size: 14.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8698a37723aee775f674a2e24b075f99c826c00c196665bd1a4c67a5cce0db4c
|
|
| MD5 |
22533d2a163a3d21c0390a73f055e9fc
|
|
| BLAKE2b-256 |
20baa9054f0874b06ef9d9d4a389a1b93fe0a7e6ac3d86cf643f156f52dad6da
|
File details
Details for the file fnos-0.5.0-py3-none-any.whl.
File metadata
- Download URL: fnos-0.5.0-py3-none-any.whl
- Upload date:
- Size: 17.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8564a04e14a2150c71b9dba6f9345f98bab600d83423393d8e780831f04868b1
|
|
| MD5 |
7186b966aeed63c689ee5b1c5a258067
|
|
| BLAKE2b-256 |
146536103810ede9135b3571dcd5bb1c90849c6c66716de166b6099c41cda00c
|