Metadata-Version: 2.4
Name: lanyora
Version: 0.5.1
Summary: Lanyora Python Toolkit
Home-page: https://github.com/Lanyora/lanyora
Author: Lanyora
Author-email: Lanyora@qq.com
Project-URL: Bug Reports, https://github.com/Lanyora/lanyora
Project-URL: Source, https://github.com/Lanyora/lanyora
Keywords: cloud,decorators,utilities,tools
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
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: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: home-page
Dynamic: keywords
Dynamic: license-file
Dynamic: project-url
Dynamic: requires-python

# Lanyora

一个用于快速开发 Python 工具的轻量级工具库。

Lanyora 提供了一系列常用工具、装饰器以及 YoraGUI 框架，帮助开发者快速将命令行脚本封装为可视化桌面工具。

---

## 安装

```bash
pip install lanyora
```

---

## 核心模块

### YoraGUI

YoraGUI 是 Lanyora 的核心组件。

它可以将普通 Python 函数快速封装为图形界面，无需编写大量 Tkinter 代码。

适用于：

* 数据处理工具
* Excel 自动化工具
* 测试辅助工具
* 文件转换工具
* 个人效率工具

---

### 示例：10 行代码创建 GUI

```python
from lanyora.yoragui import YoraGUI

gui = YoraGUI(title="Hello YoraGUI")

@gui.button("点击我")
def hello(app):
    app.alert("Hello World!")

gui.run()
```

---

### 配置管理

```python
gui.define_ctx(
    "username",
    "Lanyu",
    label="用户名"
)

gui.define_ctx(
    "output_dir",
    "",
    label="输出目录",
    value_type=ContextValueType.DIRECTORY
)
```

自动生成设置界面，无需手动创建表单。

---

### 支持功能

* 按钮自动注册
* 分组按钮面板
* 配置管理系统
* 文件选择器
* 目录选择器
* 下拉选择框
* 日志输出窗口
* 表格展示
* 文本展示
* 异步任务执行
* UI线程安全调用

---

## 其他工具

### 装饰器

```python
from lanyora import timer

@timer
def my_function():
    pass
```

支持：

* timer
* retry
* timeout（规划中）

---

### 工具函数

```python
from lanyora import random_password
```

提供：

* 随机密码生成
* 浏览器快速打开
* 控制台提示工具

---

## 项目结构

```text
lanyora
├─ decorators
├─ utils
├─ ev
└─ yoragui
```

---

## 版本历史

### [0.5.0] - 2026-06

#### Added
- `open_web(url)` — 从 GUI 打开浏览器链接（线程安全）
- `set_background(image_path)` — 空视图背景图片（支持 Pillow 缩放）
- 对话框 `initialdir` 参数

#### Fixed
- 异步任务中对话框崩溃（线程安全调度器）
- `PrintCapture` 缺少 `isatty()` 等方法
- tqdm 改为可选依赖

### [0.4.0] - 2026-06

第二代 YoraGUI 重构版本。

#### Added

* ContextManager 重构
* ButtonPanel 独立组件
* Widget 模块拆分
* FILE 类型配置项
* DIRECTORY 类型配置项
* 异步任务支持
* UI事件队列机制
* 表格组件优化

#### Changed

* YoraGUI 从单文件架构升级为模块化架构
* 配置系统全面重构
* 示例代码迁移至独立测试文件

---

### [0.3.0] - 2026-05

#### Added

* 初版 YoraGUI
* CLI 脚本快速 GUI 化支持

---

### [0.2.0] - 2026-03

#### Added

* ev 模块
* 基础倒排索引实现

---

## 许可证

MIT License
