From f1197d203bbe2d04321c831ff968e2305b00d85c Mon Sep 17 00:00:00 2001 From: ninemine <1371605831@qq.com> Date: Tue, 9 Sep 2025 09:55:22 +0800 Subject: [PATCH] Update README.md --- README.md | 254 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 254 insertions(+) diff --git a/README.md b/README.md index e69de29..a507ccd 100644 --- a/README.md +++ b/README.md @@ -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月*