Metadata-Version: 2.4
Name: sylriekit
Version: 0.27.9
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: tiktoken
Requires-Dist: webviewpy
Requires-Dist: python-telegram-bot
Requires-Dist: maturin
Requires-Dist: pyinstaller
Requires-Dist: numpy
Requires-Dist: scikit-learn
Requires-Dist: joblib
Requires-Dist: pandas
Dynamic: license-file

## Sylriekit
A personal kitchen sink toolset I made for myself to speed up the creation of some random personal projects.

**Warning**: This is a personal project and may contain bugs or incomplete features. It is mainly coded for convenience over optimization. Use at your own risk.

---
## Tools
### ConfigLoader
 - A lightweight configuration manager that merges default values with optional external config data.
### Diff
 - Multi-source text diff tool with configurable output formats including JSON, Git, and HTML.
### Files
 - A cross-platform file and directory utility with path shortcut syntax.
### FnPak
 - Function endpoint packager that stores one-argument Python functions as `/endpoint/` handlers inside Base65k-compressed `.fn.pak` documents.
### Learn
 - Automatic machine-learning regression module that searches ~12,000 model + hyperparameter + scaler + polynomial-feature combinations (30 sklearn models across 7 families) and keeps the best one. Supports numeric, boolean, and string/enum columns, CSV loading, train/test split scoring, a fully-trained `_ut` prediction model, and continuous background optimization via `auto_optimize`.
### Logging
 - Structured log manager with named JSON log files, automatic size-capping (oldest entries removed first), convenience level methods (debug/info/warning/error/critical), an `auto_log` decorator that captures function arguments, return values, timing, and exception tracebacks, and filtered retrieval by level or count.
### LLM
 - Multi-provider LLM client with tool calling, streaming, chat management, and threaded background processing.
### PyIndex
 - Python source code indexer that parses `.py` files using AST analysis and returns structured data about classes, functions, imports, and cross-file symbol usage with configurable levels of detail.
### ReLib
 - A chainable regex builder and text extraction utility.
### Rust
 - Compile Rust code into importable Python modules via PyO3 and maturin.
### Shell
 - Persistent interactive shell handler for running commands, interacting with REPLs, and managing long-lived shell sessions.
### SMS
 - Multi-provider SMS client (TextBelt and Twilio) with single/batch sending, fire-and-forget async sends, whitelist/blacklist filtering, message length capping, and per-second rate limiting.
### StartUp
 - Cross-platform startup manager for registering scripts to run at login via Task Scheduler, systemd, launchd, XDG autostart, Startup folder, or crontab.
### Static Helpers
 - Stateless helper classes under `sylriekit.Helpers.Static`, currently including `Base65k` for high-Unicode text/byte encoding and decoding, and `JHtml` for bidirectional conversion between HTML strings and a structured JSON node tree.
### Telegram
 - Telegram Bot API wrapper with background polling, message caching, rate limiting, and media support.
### ToExecutable
 - Compile Python scripts into standalone executables via PyInstaller with configurable bundling options.
### TTS
 - Multi-provider text-to-speech client with voice management, playback queues, and audio file support.
### Window
 - HTML-based GUI application powered by webview that renders local HTML/CSS/JS files with configurable size, title, icon, and debug mode.
---

### Change Log:
**0.27.9**:
- Removed FakeTerminal, FancyTerminal, JMD, Database, Shell, and Redis tools (no longer needed).
- Removed unused pip dependencies: `redis`, `cryptography`, `bcrypt`, `boto3`, `moto[dynamodb]`.
- Removed the JHL tool (no longer useful).
- Removed the API tool (no longer useful).
- Converted JHtml from a public tool into an internal static helper under `sylriekit.Helpers.Static.JHtml`.
- Cleaned up Window tool: removed JHL compilation and API integration; simplified to a pure webview wrapper.
- Updated Window documentation and tests to reflect the above changes.

**0.27.8**:
- Added FnPak, a function endpoint packager for storing one-argument Python functions as executable `/endpoint/` handlers in Base65k-compressed `.fn.pak` documents.
- Added FnPak tests and documentation, including README, function reference, and LLM usage notes.

**0.27.7**:
- Added conversion between JSON and JMD inside the JMD tool.
- Removed the Learn tool
- Removed the Website tool

**Previous change log entries are visible in the description of older versions**
