增强型构建系统包装器 - 美观的构建界面和实时监控
Project description
Pretty Build - 增强型构建系统包装器
一个功能强大的构建系统包装器,为 Ninja、Make 和 CMake 提供美观的实时界面、性能监控、智能缓存和插件系统。
✨ 主要功能
🎨 美观的用户界面
- 响应式网格布局,自适应终端大小
- 实时进度显示和构建状态
- 彩色输出和错误高亮
- 内存使用情况可视化
⚡ 性能优化
- 智能构建缓存系统
- 实时性能监控
- 并行构建支持
- 增量构建检测
🔌 插件系统
- 可扩展的插件架构
- 内置日志插件
- 自定义构建流程钩子
- 消息处理管道
🔔 通知系统
- 跨平台系统通知
- 构建完成提醒
- 错误和警告通知
- 可配置的通知设置
⌨️ 交互式控制
- 实时键盘快捷键
- 暂停/恢复构建
- 动态配置调整
- 性能监控界面
🚀 快速开始
安装依赖
pip install -r requirements.txt
基本使用
# 自动检测构建系统并构建
python pretty_build.py
# 指定构建系统
python pretty_build.py --build-system ninja
# 清理构建
python pretty_build.py --clean
# 重新构建
python pretty_build.py --rebuild
# 设置并行任务数
python pretty_build.py --jobs 8
# 启用详细输出
python pretty_build.py --verbose
⌨️ 键盘快捷键
在构建过程中,您可以使用以下快捷键:
| 快捷键 | 功能 |
|---|---|
P |
暂停/恢复构建 |
Q |
退出构建 |
C |
打开配置界面 |
H |
显示帮助信息 |
F |
性能监控界面 |
G |
插件管理界面 |
X |
缓存管理 |
N |
通知设置 |
🔧 配置选项
命令行参数
python pretty_build.py --help
配置文件
程序会自动创建和使用 .pretty_build.conf 配置文件,包含以下选项:
- 构建设置: 并行任务数、构建类型、优化级别
- 缓存设置: 启用缓存、缓存目录、缓存大小限制
- 通知设置: 系统通知、声音提醒
- 性能监控: CPU/内存监控、性能报告
- 插件配置: 启用的插件列表
🔌 插件开发
创建自定义插件
from pretty_build import BuildPlugin, MessageType
class MyPlugin(BuildPlugin):
def __init__(self):
super().__init__("my_plugin", "1.0.0")
def initialize(self, config, console):
# 插件初始化逻辑
return True
def on_build_start(self, build_state):
# 构建开始时的处理
pass
def on_build_end(self, build_state, return_code):
# 构建结束时的处理
pass
def process_message(self, message, msg_type):
# 处理构建消息
return message
注册插件
plugin_manager.register_plugin(MyPlugin())
📊 性能监控
实时监控以下指标:
- CPU 使用率
- 内存使用量
- 构建时间
- 编译文件数
- 错误和警告统计
🗂️ 智能缓存
- 基于文件哈希的智能缓存
- 自动检测文件变更
- 增量构建支持
- 缓存统计和管理
🔔 通知系统
支持以下通知类型:
- 构建成功/失败
- 错误和警告
- 性能警报
- 自定义通知
🛠️ 支持的构建系统
- Ninja: 快速并行构建
- GNU Make: 传统 Makefile 支持
- CMake: 跨平台构建系统
📋 系统要求
- Python 3.8+
- Windows/Linux/macOS
- 终端支持 ANSI 颜色
🤝 贡献
欢迎提交 Issue 和 Pull Request!
📄 许可证
MIT License - 详见 LICENSE 文件
🔗 相关链接
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
pretty-build-1.2.8.tar.gz
(62.7 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
File details
Details for the file pretty-build-1.2.8.tar.gz.
File metadata
- Download URL: pretty-build-1.2.8.tar.gz
- Upload date:
- Size: 62.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c2becbd25a173ed33e1a7711d0d1c49b563b5fc1ca5454d6e4717775a1cb7f4
|
|
| MD5 |
26e3b40eaac69ac09734589fb06e9f5a
|
|
| BLAKE2b-256 |
fb4501b06823c7bf883c909d07aba5922c79217ddef39b9796d240458c361ede
|
File details
Details for the file pretty_build-1.2.8-py3-none-any.whl.
File metadata
- Download URL: pretty_build-1.2.8-py3-none-any.whl
- Upload date:
- Size: 53.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1e9c62e8af1f71db671d0fc2353996720ebd9de3948dfa31445857c5de330a0
|
|
| MD5 |
db152e18170e61801293499c56e9350d
|
|
| BLAKE2b-256 |
a3d75d817b9224b03abe8c36195557b710a85885d938a8900f0b810668cbc21c
|