Metadata-Version: 2.4
Name: sylriekit
Version: 0.31.0
Summary: A personal Python toolbox of utilities.
Author: Kasterfly
License-Expression: MIT
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests
Requires-Dist: webviewpy
Requires-Dist: python-telegram-bot
Requires-Dist: miniaudio
Requires-Dist: pyautogui
Requires-Dist: Pillow
Requires-Dist: PyYAML
Dynamic: license-file

# Sylriekit

A versatile Python utility kit designed to accelerate the development of personal projects. It provides a collection of modular tools for common tasks, ranging from file management and logging to GUI development and LLM integration.

---

## Disclaimer

**Warning**: This is a personal kitchen-sink project. It is mainly coded for convenience and rapid prototyping over peak optimization. Features may be incomplete or experimental. Use at your own risk.

---

## Installation

```bash
pip install sylriekit
```

---

## Tool Reference

| Tool | Type | Description                                                                                          |
| :--- | :--- |:-----------------------------------------------------------------------------------------------------|
| **ConfigLoader** | Normal | Lightweight configuration manager that merges default values with optional external config data.     |
| **Files** | Normal | Cross-platform file/directory utility with path shortcut syntax and advanced resolution.             |
| **Logging** | Normal | Structured JSON log manager with rotation, `auto_log` decorators, and multi-level filtering.         |
| **LLM** | Normal | Multi-provider client (Anthropic, OpenAI, Google, etc.) with tool calling, streaming, and threading. |
| **PyIndex** | Normal | AST-based Python source code indexer for analyzing symbols, imports, and cross-file usage.           |
| **Rust** | Normal | Compile and import Rust modules seamlessly via PyO3 and maturin integration.                         |
| **SMS** | Normal | Multi-provider SMS client (Twilio/TextBelt) with batching, filtering, and rate limiting.             |
| **StartUp** | Normal | Cross-platform manager for registering login-time tasks (Task Scheduler, systemd, launchd, etc.).    |
| **Telegram** | Normal | Telegram Bot API wrapper with background polling, message caching, and rate limiting.                |
| **ToExecutable** | Normal | Simplified wrapper for PyInstaller to compile Python scripts into standalone executables.            |
| **TTS** | Normal | Multi-provider text-to-speech client with voice management and audio playback queues.                |
| **Window** | Normal | HTML-based GUI framework with bidirectional Python-JS linking for exposing classes and methods.      |
| **ComputerControl** | Static | GUI automation helper for mouse movement, clicking, keyboard input, and screenshots.                 |
| **JHtml** | Static | Specialized JSON-based HTML parser and renderer for programmatic manipulation and querying.          |

---

## Change Log
### 0.31.0
- **All tools**: simplification + cleanup pass; UPPER_CASE config keys everywhere; one plain `pytest` now runs the full suite
- **ConfigLoader**: `class_name` is now required (auto-detection removed); `get_defaults()` returns plain values; unparseable string configs raise
- **Files**: unified return conventions (`None`/`False` instead of raising on missing sources); removed the `@iN` shortcut
- **Logging**: removed `LoggingError`; `log()` narrowed to `(message, level, log_name)`
- **StartUp**: `purge()` merged into `remove(name, force=True)`
- **LLM**: removed response cache, presets, MCP stub, and tiktoken; added `MAX_TOKENS`; compat adapters collapsed
- **Window**: removed `register_class`, `layouts.specs` writing, and dead JS paths; pylink JS extracted to a template file
- **Telegram**: removed `send_formatted`; added `RESOLVE_TIMEOUT` config key
- **SMS**: `batch_send` is now sequential (fixes double rate-limiting)
- **TTS**: added one-call `speak()` convenience
- **PyIndex**: folder indexing always returns a list
- **Rust / ToExecutable**: toolchain checks deferred to `compile()`; maturin/pyinstaller installed on demand
- **ComputerControl / JHtml**: now top-level imports (`from sylriekit.JHtml import JHtml`)
- **Packaging**: pruned unused dependencies; added missing `miniaudio`; new development guidelines

### 0.30.2
- **Window**: `EXTRA_PYTHON_FEATURES` polishing

> Previous change log entries are available in the description of older versions.
