tiebameow
Tiebameow 项目通用模块
简介
tiebameow 是在 Tiebameow 项目内使用的通用模块,提供了通用的数据模型、序列化/反序列化工具、日志模块以及辅助函数。
目录
client: 包含增强的aiotieba.Client与httpx客户端。models: 定义了通用数据交换模型和 ORM 数据模型。parser: 提供解析和处理aiotieba数据和审查规则的解析器。renderer: 提供将 DTO 内容或简单文本渲染为图片的功能。schemas: 定义了各种数据片段与审查规则的 Pydantic 模型。serializer: 提供数据交换模型的序列化和反序列化方法。utils: 包含通用日志模块和一些辅助函数和工具类。
安装
推荐使用 uv 进行环境管理和依赖安装。
仅安装基础功能:
uv add tiebameow
如需使用数据库模型,请安装 orm 额外依赖:
uv add tiebameow[orm]
如需使用渲染功能,请安装 renderer 额外依赖和 Playwright 所需浏览器:
uv add tiebameow[renderer]
uv run playwright install chromium-headless-shell
基本用法
更多用法请参阅源码。
Client
Tieba Client
from tiebameow.client import Client
async with Client() as client:
user_info = await client.get_user_info("some_username")
HTTP Client
from tiebameow.client import HTTPXClient
response = await HTTPXClient.get("https://example.com")
Parser
数据转换器
将 aiotieba 对象转换为通用数据交换模型:
from tiebameow.parser import convert_aiotieba_thread
from tiebameow.client import Client
async with Client() as client:
threads = await client.get_threads("some_tieba")
for thread in threads:
converted_thread = convert_aiotieba_thread(thread)
规则引擎解析器
以 DSL 或 CNL 模式解析规则和动作:
from tiebameow.parser import RuleEngineParser
parser = RuleEngineParser()
rule_node = parser.parse_rule("(title contains 'A' AND title contains 'B') OR NOT title contains 'C'")
actions = parser.parse_actions("DO: delete(reason='spam content'), ban(days=1)")
Renderer
from tiebameow.renderer import Renderer
async with Renderer() as renderer:
image_bytes = await renderer.text_to_image("Hello, World!")
开发指南
欢迎贡献代码,请确保遵循项目的编码规范,并在提交前运行 pre-commit hooks:
uv sync --dev
pre-commit install
pre-commit run --all-files
有关详细信息,请参阅 CONTRIBUTING.md 文件。
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
tiebameow-0.4.5.tar.gz
(4.3 MB
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
File details
Details for the file tiebameow-0.4.5.tar.gz.
File metadata
- Download URL: tiebameow-0.4.5.tar.gz
- Upload date:
- Size: 4.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37d21c2f6a013a0c6049bb1ed32052a350ddc205997f21bd95f65397789a6b7d
|
|
| MD5 |
b137bece8d9580ac0479298170eaa65c
|
|
| BLAKE2b-256 |
880a2f593c4b23ff110029cafe8fd37a9aea81848166e1f861af283b3cf9b99c
|
File details
Details for the file tiebameow-0.4.5-py3-none-any.whl.
File metadata
- Download URL: tiebameow-0.4.5-py3-none-any.whl
- Upload date:
- Size: 4.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb2f9b1f7b3aa8608a051f8bcbb0cc2805ba33b9e2115ab945c02253e8caf5bb
|
|
| MD5 |
81765419acbdcf70d0d4740443a91b1b
|
|
| BLAKE2b-256 |
141fa823c9981e65df77caa3f28fae979e016a256687c280ea7ea645fabd4d85
|