Update README.md

This commit is contained in:
2025-09-09 09:55:22 +08:00
parent f3f3cc8c54
commit f1197d203b

254
README.md
View File

@@ -0,0 +1,254 @@
# Convention-Python
Convention-Python基于 Convention-Template 规范实现的一套完整的开发工具集。
## 主要内容
### 辅助 (Config.py)
- **内置依赖**: 提供辅助函数与辅助类型
### 架构 (Architecture.py)
- **依赖注入容器**: 支持类型注册、依赖解析和生命周期管理
- **信号系统**: 提供发布-订阅模式的消息通信机制
- **时间线管理**: 支持基于条件的任务队列和执行流程控制
- **单例模式**: 内置单例模型支持
### 异步 (Asynchrony.py)
- **线程管理**: 提供线程实例、原子操作、锁机制
- **并发控制**: 支持线程安全的数据结构和操作
- **异步工具**: 简化异步编程的工具函数
### 配置 (GlobalConfig.py)
- **类型系统**: 强大的类型检查和转换系统
- **调试支持**: 内置调试模式和彩色输出
- **平台兼容**: 跨平台路径和环境管理
- **全局配置**: 统一的配置管理机制
### 文件 (File.py)
- **ToolFile 类**: 强大的文件操作封装
- 支持多种文件格式 (JSON, CSV, Excel, 图像, 音频, Word文档等)
- 文件压缩和解压缩 (ZIP, TAR)
- 文件加密和解密
- 哈希值计算和验证
- 文件监控和备份
- 权限管理
- **批量处理**: 支持文件批量操作和处理
### 序列化 (EasySave.py)
- **序列化支持**: JSON 和二进制格式的序列化
- **反射集成**: 基于反射的对象序列化和反序列化
- **备份机制**: 自动备份和恢复功能
- **字段过滤**: 支持自定义字段选择和忽略规则
### 反射 (Reflection.py)
- **类型管理**: 完整的类型信息管理和缓存
- **成员访问**: 字段和方法的动态访问
- **类型转换**: 灵活的类型转换和验证
- **泛型支持**: 支持泛型类型的处理
### 视觉 (Visual)
#### 可视化 (Visual/Core.py)
- **图表生成**: 支持多种图表类型 (折线图、柱状图、散点图、饼图等)
- **数据处理**: 数据清洗、标准化、归一化
- **样式定制**: 丰富的图表样式和主题选项
#### 图像处理 (Visual/OpenCV.py)
- **ImageObject 类**: 完整的图像处理功能
- **图像增强**: 支持 30+ 种图像增强算法
- **格式转换**: 支持多种图像格式转换
- **批量处理**: 支持图像批量处理和增强
#### 词云生成 (Visual/WordCloud.py)
- **词云创建**: 支持中英文词云生成
- **样式定制**: 丰富的样式和布局选项
### 字符串工具 (String.py)
- **字符串处理**: 长度限制、填充、编码转换
- **中文分词**: 集成 jieba 分词支持
## 安装说明
### 环境要求
- Python >= 3.12
- 操作系统: Windows, Linux, macOS
### 依赖包
运行时自动报告需要被引入的包
调用Config中ReleaseFailed2Requirements函数生成requirements.txt文件
### 安装方式
1. **从源码安装**:
```bash
git clone https://github.com/NINEMINEsigma/Convention-Python.git
cd Convention-Python
pip install -e .
```
2. **直接安装**:
```bash
pip install .
```
3. **打包安装**
```bash
pip install build
python -m build
pip install dist/convention.tar.gz
```
## 🚀 使用示例
### 架构模式示例
```python
from Convention.Runtime import Architecture
# 注册服务
class DatabaseService:
def query(self, sql): return "result"
db_service = DatabaseService()
Architecture.Register(DatabaseService, db_service, lambda: print("DB服务初始化"))
# 获取服务
service = Architecture.Get(DatabaseService)
result = service.query("SELECT * FROM users")
```
### 文件操作示例
```python
from Convention.Runtime import ToolFile
# 创建文件对象
file = ToolFile("data.json")
# 保存和加载 JSON 数据
data = {"name": "张三", "age": 25}
file.SaveAsJson(data)
loaded_data = file.LoadAsJson()
# 文件压缩
compressed = file.Compress("backup.zip")
# 计算哈希值
hash_value = file.calculate_hash("sha256")
```
### 数据序列化示例
```python
from Convention.Runtime import EasySave
from pydantic import BaseModel
class User(BaseModel):
name: str
age: int
email: str
# 保存数据
user = User(name="李四", age=30, email="lisi@example.com")
EasySave.Write(user, "user.json")
# 读取数据
loaded_user = EasySave.Read(User, "user.json")
```
### 数据可视化示例
```python
from Convention.Runtime.Visual import Core
import pandas as pd
# 创建数据可视化生成器
df = pd.read_csv("sales_data.csv")
generator = Core.data_visual_generator("sales_data.csv")
# 绘制图表
generator.plot_line("month", "sales", title="月度销售趋势")
generator.plot_bar("product", "revenue", title="产品收入对比")
generator.plot_pie("category", title="类别分布")
```
### 图像处理示例
```python
from Convention.Runtime.Visual.OpenCV import ImageObject
from Convention.Runtime.Visual.Core import ImageAugmentConfig, ResizeAugmentConfig
# 加载图像
image = ImageObject("input.jpg")
# 图像增强配置
config = ImageAugmentConfig(
resize=ResizeAugmentConfig(width=800, height=600),
lighting=LightingAugmentConfig(lighting=20),
contrast=ContrastAugmentConfig(contrast=1.2)
)
# 批量增强
results = config.augment_from_dir_to("input_dir", "output_dir")
```
## 打包指令
### 构建分发包
```bash
# 清理之前的构建文件
python setup.py clean --all
rm -rf build/ dist/ *.egg-info/
# 构建源码包和轮子包
python setup.py sdist bdist_wheel
# 或使用 build 工具 (推荐)
pip install build
python -m build
```
### 安装本地包
```bash
# 开发模式安装 (可编辑安装)
pip install -e .
# 普通安装
pip install .
```
### 上传到 PyPI
```bash
# 安装上传工具
pip install twine
# 检查包
twine check dist/*
# 上传到测试 PyPI
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
# 上传到正式 PyPI
twine upload dist/*
```
### 创建可执行文件
```bash
# 使用 PyInstaller
pip install pyinstaller
pyinstaller --onefile --name convention-tool your_main_script.py
```
## 📄 许可证
本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。
## 👨‍💻 作者
**LiuBai** - [NINEMINEsigma](https://github.com/NINEMINEsigma)
## 🔗 相关链接
- [Convention-Template](https://github.com/NINEMINEsigma/Convention-Template) - 项目模板规范
- [GitHub Issues](https://github.com/NINEMINEsigma/Convention-Python/issues) - 问题反馈
- [GitHub Releases](https://github.com/NINEMINEsigma/Convention-Python/releases) - 版本发布
*最后更新: 2025年9月*