Metadata-Version: 2.4
Name: text_discoloration
Version: 3.2.3
Summary: 终端彩色工具 + 安全密钥生成
Home-page: https://github.com/shiroko973/text-discoloration
Author: shiroko
Author-email: 3207774253@qq.com
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: requires-python
Dynamic: summary

# text_discoloration

Colorful terminal output with typewriter effect. Zero dependencies.

## Features

### Color Output
- 8 classic colors: Red, Green, Yellow, Blue, Purple, Cyan, White, Black
- Direct color printing: `color_print_red("Hello")`
- Color typewriter effect: `typewriter_blue("Hello", delay=0.05)`

### Typewriter Effects
- Standard typewriter: `typewriter("text", delay=0.05)`
- Random color typewriter: `random_typewriter("rainbow text")`
- Custom color typewriter: `color_typewriter("text", "green")`

### Status Prompts
- `info("Loading...")` → Blue [INFO]
- `success("Done!")` → Green [SUCCESS]
- `error("Failed")` → Red [ERROR]
- `warn("Check this")` → Yellow [WARNING]

### Utilities
- `slow_print("slow text", delay=0.05)` — Print character by character
- `color_print_red("text")` — Print without typewriter effect

## Installation
```bash
pip install text_discoloration
```

## Update Notice
- Log prompt is disabled by default.
- If you need to enable log prompts, use the example below:
```python
from text_discoloration import set_verbose
set_verbose()
```


# Changelog

## [3.2.0] - 2026-05-23

### Added
- 新增 `download_file()` 下载文件功能
  - 支持进度条显示
  - 支持自定义请求头（伪装）
  - 支持重试机制（默认2次）
  - 支持断点续传（自动处理）
  - 提供友好的错误提示和建议
- 新增 `get_downloads()` 查询 PyPI 模块下载量
  - 支持缓存（60秒内重复查询返回缓存结果）
  - 支持重试机制
- 新增 `ra` 命令行密钥生成工具
  - 支持 `ra -i 32` 指定长度
  - 支持 `ra 1 -i 32` 关闭数字
  - 支持 `ra 2` 关闭小写、`ra 3` 关闭大写、`ra 4` 关闭符号
- 新增文件管理 CLI 命令
  - `tcd file read <file>` 读取文件
  - `tcd file write <file> <content>` 写入文件
  - `tcd file append <file> <content>` 追加内容
  - `tcd file edit <file>` 交互式编辑
  - `tcd file hash <file>` 计算哈希
  - `tcd file b64 <file>` Base64 编码文件
- 新增 `tcd downloads <模块名>` 查询单个模块下载量
- 新增 `tcd downloads-all` 批量查询预设模块下载量
- 新增 `dataclass` 序列化支持
  - `to_json(obj)` dataclass → JSON 字符串
  - `from_json(cls, json_str)` JSON 字符串 → dataclass
  - `to_dict(obj)` dataclass → 字典
  - `from_dict(cls, data)` 字典 → dataclass
  - 支持嵌套 dataclass、datetime、date、Enum、list 等类型

### Changed
- `ra_key()` 函数现支持 `no_lower` 和 `no_upper` 参数（单独控制大小写）
- CLI 命令统一整合，`tcd` 和 `ra` 共享同一个入口
- 下载进度条优化，增加实时速度显示
- 文件管理功能增强，支持更多操作

### Security
- 下载功能默认添加 User-Agent 伪装，避免被部分服务器拒绝
- 网络错误时提供清晰的解决建议（DNS、超时、权限等）

---

## [3.1.0] - 2026-05-22

### Added
- 新增 `disable_log()` 关闭内部日志输出
- 新增 `enable_log()` 开启内部日志输出
- 新增 `_print_error()` / `_print_warn()` 用户可见错误提示
- 新增 `scan_text_file()` 对非 Python 文件的安全扫描
- 新增计划（plan）配置管理支持
- 新增 `skip_incomplete` 配置项，允许语法错误只警告不拦截

### Changed
- 日志系统重构：`_log_enabled` 控制内部日志，`_quiet` 控制用户输出
- `static_scan` 函数优化：语法错误只警告，不直接拦截
- `separator()` 在静默模式下输出普通分隔线
- `progress_bar()` 在静默模式下输出百分比
- `edit_file()` 在静默模式下限制输出行数（最多50行）
- `spinner` 和 `spinner_context` 合并为工厂函数 `_create_spinner`

### Fixed
- 修复 `text_discoloration` 在 Termux 环境下的兼容性问题
- 修复静默模式下 `table()` 忽略 headers 的问题
- 修复 `binary_text` 中 `globals()` 查找颜色函数的问题

---

## [3.0.0] - 2026-05-20

### Added
- 初始稳定版本
- 彩色终端输出
- 打字机特效
- 状态提示（info/success/error/warn）
- 进度条、表格、树形结构
- 文件读写、哈希计算
- Base64 编解码
- 二进制执行（安全沙箱模式）
- 日志记录器（Logger）

---

## [2.0.0] - 2026-05-10

### Added
- 早期版本，基础功能
