pywlf 提供一系列命令式工具函数,涵盖日志、文件、日期、图片、邮件等常见开发场景。
Utils
| 模块 | 说明 |
|---|---|
| log | 彩色控制台日志(log_info / log_warn / log_error / log_exception) |
| file | 文件目录操作:编码检测与转换、json/xlsx 读写、md5、目录管理等 |
| img | 图片处理:png/jpg/gif 等格式转 webp(支持动图、透明通道) |
| date | 日期时间操作:时间戳互转、日期平移、日/月/年范围计算等 |
| core | 通用方法:uid 生成、数值分段、耗时统计装饰器等 |
| const | 常量枚举:系统类型、日期格式等 |
| 邮件发送(EmailSender,支持附件) | |
| res | API 统一返回体(ApiResponse / Result,基于 pydantic 泛型) |
| ai | 大模型调用:流式多轮对话(ai_chat)、图片理解(ai_image),统一走 OpenAI 兼容协议 |
Installation
pip install pywlf
# 或使用 uv
uv add pywlf
Quickuse
# 彩色日志
from pywlf.log import log_info, log_warn
log_info('this is a test!')
# 图片转 webp(转换成功后删除源文件)
from pywlf.img import to_webp
to_webp('D:/pics/logo.png') # 单文件
to_webp('D:/pics', quality=90) # 递归处理整个目录(含子目录)
# 统一返回体
from pywlf.res import Result
return Result.success({'id': 1})
# 大模型调用(以小米 MiMo 为例,多模态统一走 chat/completions)
from pywlf.ai import OpenAICompatClient, ChatSession
client = OpenAICompatClient(base_url='https://api.xiaomimimo.com/v1', api_key='xxx', model='mimo-v2.5')
# 图片理解
print(client.ai_image('D:/pics/a.png', '图里是什么'))
# 流式多轮对话
session = ChatSession(client, system='你是助手', max_turns=20, auto_date=True)
session.chat('介绍下你自己')
Development
本项目使用 uv 管理依赖与打包:
uv sync # 安装依赖(自动创建 .venv)
uv run mt.py # 在项目环境中运行脚本
bash upload.sh # 一键发布 PyPI:版本号+1 → uv build → uv publish
更多常用命令见 wlf.sh(命令速查手册)。
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pywlf-0.0.14.tar.gz
(17.4 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
pywlf-0.0.14-py3-none-any.whl
(20.4 kB
view details)
File details
Details for the file pywlf-0.0.14.tar.gz.
File metadata
- Download URL: pywlf-0.0.14.tar.gz
- Upload date:
- Size: 17.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0aaa4e85b3d784377bfd5e8540fcd1197b83762380a4c9288ef4af337771ddeb
|
|
| MD5 |
f271cb1b287f92c6471233ec95f7ee2c
|
|
| BLAKE2b-256 |
056caa3e9599f9b370b3d83c8f70218a60460242e7d987f18923c62ad5df4cab
|
File details
Details for the file pywlf-0.0.14-py3-none-any.whl.
File metadata
- Download URL: pywlf-0.0.14-py3-none-any.whl
- Upload date:
- Size: 20.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f6e4adf238ac9f8b913991bd2a1d83ba3195083724b532d53cdab5a1c0739d8e
|
|
| MD5 |
dd9fd376b5d8aaabe45dd425c8692e3b
|
|
| BLAKE2b-256 |
6cb611885fd4fcdf19bbad5ab4298dad0f654b4d2535a34f839e46284ca33023
|