Metadata-Version: 2.4
Name: bitool
Version: 0.1.8
Summary: Bitool - Rust + Python 混合架构工具集
Project-URL: Homepage, https://gitee.com/gooker_young/bitool
Project-URL: Issues, https://gitee.com/gooker_young/bitool/issues
Author-email: gooker_young <gooker_young@qq.com>
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Rust
Requires-Python: >=3.8
Requires-Dist: psutil>=7.2.2
Requires-Dist: pymupdf>=1.24.11
Requires-Dist: rich>=14.3.4
Requires-Dist: tomli-w>=1.0.0
Requires-Dist: tomli>=2.4.1
Requires-Dist: typing-extensions>=4.13.2
Provides-Extra: app
Requires-Dist: cairosvg>=2.7.1; extra == 'app'
Requires-Dist: defusedxml>=0.7.1; extra == 'app'
Requires-Dist: flask>=3.0.0; extra == 'app'
Requires-Dist: matplotlib>=3.7.5; extra == 'app'
Requires-Dist: numpy>=1.24.4; extra == 'app'
Requires-Dist: openpyxl>=3.1.5; extra == 'app'
Requires-Dist: pillow>=10.4.0; extra == 'app'
Requires-Dist: psutil>=7.2.2; extra == 'app'
Requires-Dist: pymupdf>=1.24.11; extra == 'app'
Requires-Dist: pypdf>=5.9.0; extra == 'app'
Requires-Dist: pyside2-stubs>=5.15.2.1.2; (python_version < '3.10') and extra == 'app'
Requires-Dist: pyside2>=5.15.2.1; (python_version < '3.10') and extra == 'app'
Requires-Dist: pyside6>=6.6.3.1; (python_version >= '3.10') and extra == 'app'
Requires-Dist: pytesseract>=0.3.13; extra == 'app'
Requires-Dist: python-docx>=1.1.2; extra == 'app'
Requires-Dist: python-pptx>=1.0.2; extra == 'app'
Requires-Dist: pywin32>=311; (sys_platform == 'win32') and extra == 'app'
Requires-Dist: rarfile>=4.2; extra == 'app'
Requires-Dist: scipy>=1.10.1; extra == 'app'
Provides-Extra: build
Requires-Dist: maturin<2.0,>=1.0; extra == 'build'
Requires-Dist: pip>=25.0.1; extra == 'build'
Requires-Dist: prek>=0.3.3; extra == 'build'
Requires-Dist: ruff>=0.15.1; extra == 'build'
Requires-Dist: setuptools>=75.3.4; extra == 'build'
Requires-Dist: tox-uv>=1.13.1; extra == 'build'
Requires-Dist: tox>=4.24.1; extra == 'build'
Requires-Dist: wheel>=0.45.1; extra == 'build'
Provides-Extra: core
Provides-Extra: docs
Requires-Dist: sphinx-autobuild>=2021.3.14; extra == 'docs'
Requires-Dist: sphinx-rtd-theme>=1.5.2; extra == 'docs'
Provides-Extra: test
Requires-Dist: bandit>=1.7.10; extra == 'test'
Requires-Dist: pytest-asyncio>=0.24.0; extra == 'test'
Requires-Dist: pytest-benchmark>=4.0.0; extra == 'test'
Requires-Dist: pytest-cov>=5.0.0; extra == 'test'
Requires-Dist: pytest-html>=4.1.1; extra == 'test'
Requires-Dist: pytest-mock>=3.14.0; extra == 'test'
Requires-Dist: pytest-qt>=4.4.0; extra == 'test'
Requires-Dist: pytest-timeout>=2.4.0; extra == 'test'
Requires-Dist: pytest-xdist>=3.6.1; extra == 'test'
Requires-Dist: pytest>=8.3.4; extra == 'test'
Provides-Extra: typecheck
Requires-Dist: ty>=0.0.24; extra == 'typecheck'
Description-Content-Type: text/markdown

# Bitool

基于 Maturin 的 Rust + Python 混合架构工具集，将性能瓶颈和共性部分使用 Rust 实现，接口和逻辑部分使用 Python 实现。

## 特性

- **高性能**：核心计算和 I/O 操作使用 Rust 实现
- **易用性**：Python 提供简洁的 API 接口
- **可扩展**：插件系统支持功能扩展
- **跨平台**：支持 Windows、Linux、macOS

## 安装

```bash
pip install bitool
```

## 开发

### 快速开始（推荐）

```bash
# 安装开发环境（自动构建 Rust + Python 双包）
pymake ia

# 验证安装
pymake t
```

### 常用命令

```bash
# 构建所有包（Rust + Python）
pymake ba

# 代码格式化与检查
pymake lint

# 运行测试
pymake t

# 清理所有构建产物
pymake ca

# 查看完整帮助
pymake help
```

### 手动构建（可选）

```bash
# 构建 Rust 核心模块
cd bitool-core && maturin develop

# 构建 Python 主包
cd .. && pip install -e .

# 构建发布包
cd bitool-core && maturin build -r
cd .. && python -m build
```

> 📖 详细文档：[PyMake 使用指南](docs/PYMAKE_GUIDE.md) | [双包构建指南](docs/DUAL_PACKAGE_BUILD.md)

## 项目结构

```bash
bitool/
├── bitool-core/            # Rust 核心模块
│   ├── src/                # Rust 源代码
│   │   ├── core/           # 核心功能模块
│   │   ├── plugins/        # 插件系统核心
│   │   └── python/         # Python 绑定
│   ├── Cargo.toml          # Rust 依赖配置
│   └── pyproject.toml      # Maturin 构建配置
├── src/
│   ├── bitool/             # Python 主包 (src layout)
│   │   ├── apps/           # 应用程序 (alarmclock, pypack)
│   │   ├── cmd/            # 命令系统
│   │   ├── core/           # 核心业务逻辑 (config, logger, env)
│   │   ├── gui/            # GUI 组件和主题
│   │   ├── models/         # 数据模型
│   │   ├── skills/         # CLI 工具集
│   │   ├── utils/          # 工具模块 (executor, profiler, task)
│   │   ├── __init__.py     # 包初始化
│   │   ├── consts.py       # 常量定义
│   │   └── types.py        # 类型定义
│   └── tests/              # 测试代码
│       ├── apps/           # 应用测试
│       ├── cmd/            # 命令系统测试
│       ├── core/           # 核心模块测试
│       ├── skills/         # 技能工具测试
│       └── utils/          # 工具模块测试
├── docs/                   # 项目文档
├── pyproject.toml          # Python 包配置
└── README.md               # 项目说明
```

## 使用示例

```python
from bitool import FileOps, TextProcessor

# 文件操作
file_ops = FileOps()
files = file_ops.scan_directory("/path/to/dir")

# 文本处理
processor = TextProcessor()
result = processor.regex_search(pattern, text)
```

## 许可证

MIT License
