Metadata-Version: 2.4
Name: sylriekit
Version: 0.27.0
Summary: A personal Python toolbox of utilities.
Author: Kasterfly
License: MIT License
        
        Copyright (c) 2025 Kasterfly
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests
Requires-Dist: tiktoken
Requires-Dist: redis
Requires-Dist: cryptography
Requires-Dist: uvicorn
Requires-Dist: starlette
Requires-Dist: webviewpy
Requires-Dist: python-telegram-bot
Requires-Dist: maturin
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
### API
 - Simple API server and client with optional end-to-end encryption, sessions, rate limiting, and fingerprinting.
### ConfigLoader
 - A lightweight configuration manager that merges default values with optional external config data.
### Files
 - A cross-platform file and directory utility with path shortcut syntax.
### JHL
 - Compiles HTML files by running `.jhl` scripts linked to or embedded in them, allowing for dynamic content generation.
### JHtml
 - Bidirectional converter between HTML strings and a structured JSON node tree.
### LLM
 - Multi-provider LLM client with tool calling, streaming, chat management, and threaded background processing.
### Redis
 - Redis client with session storage, rate limiting, function caching, and auto-start.
### ReLib
 - A chainable regex builder and text extraction utility.
### Rust
 - Compile Rust code into importable Python modules via PyO3 and maturin.
### Telegram
 - Telegram Bot API wrapper with background polling, message caching, rate limiting, and media support.
### TTS
 - Multi-provider text-to-speech client with voice management, playback queues, and audio file support.
### Window
 - HTML-based GUI application powered by webview with optional API hooks and JHL compilation.
---

### Change Log:
**0.27.0**:
 - Added API tool: a simple API server and client with end-to-end encryption, sessions, rate limiting, and fingerprinting.
 - Added LLM tool: a multi-provider LLM client supporting tool calling, streaming, and chat management.
 - Added Redis tool: a Redis client with session storage, rate limiting, function caching, and auto-start.
 - Added Rust tool: compile Rust code into importable Python modules via PyO3 and maturin.
 - Added Telegram tool: a Telegram Bot API wrapper with background polling and media support.
 - Added TTS tool: a multi-provider text-to-speech client with voice management and playback queues.
 - Added Window tool: an HTML-based GUI application powered by webview with API hooks and JHL compilation.

**0.26.0**:
 - Deleted all tools and reworked the entire system to be more modular and instance-based, allowing for better organization and easier maintenance. Each tool is now an instance of a class, and they can be easily imported and used in different projects without relying on static classes.
 - Added a new tool called ConfigLoader, which is responsible for loading configuration settings for all tools.
 - Added a new tool called ReLib, which provides a collection of common regular expression patterns for easy use in various projects.
 - Removed a lot of the features of the File tool.
 - Added a new tool called JHtml and JHL which are used to convert HTML to JSON and back, as well as a build-time interpreted language for JHtml.

**0.25.9**:
 - Reworked the JHtml entirely, now it is one-way JSON to HTML and not reversible from pure HTML. It also has a built-in interpreted language (jhl) that allows build-time scripts.

**0.25.8**:
 - Updated the logging of the MCP tool.

**0.25.7**:
 - Added support so that private functions (starting with underscore) will not showup to the js bridge endpoint anymore in the Website, InlinePython, or Window tools.

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