Metadata-Version: 2.4
Name: sylriekit
Version: 0.39.0
Summary: A personal Python toolbox of utilities.
Author: Kasterfly
License-Expression: MIT
Requires-Python: >=3.14
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests
Requires-Dist: PyYAML
Requires-Dist: psutil
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                                                                                          |
| :--- | :--- |:-----------------------------------------------------------------------------------------------------|
| **LLM** | Normal | Multi-provider single-chat client (Anthropic, OpenAI, Google, etc.) with tool calling and streaming. |
| **ThreadedLLM** | Normal | `LLM` subclass that runs sends on a background worker thread and delivers results via callbacks.      |
| **Background** | Normal | Launch detached background processes that survive the script exiting, and stop/list them later (even from another run). |
| **Archive** | Normal | Create, extract, inspect, and validate `.tar.zst` archives. |
| **Logging** | Normal | Tiny timestamped file logger with `log()` and an `auto()` function-call decorator. |
| **StaticUtils** | Static | Small static helpers: `Cache.ttl()`, `Timeout.ttl()`, and extension-aware `Files.read()` / `Files.write()`. |
| **Network** | Static | Simple TCP/UDP senders, UDP broadcast, decorator listeners, and public/LAN IP helpers. |
| **NetworkDiagnosis** | Normal | PID-aware connection tracker, new-PID watcher, TCP port scanner, and network event/message recorder. |
| **PythonMeta** | Static | Collect Python project metadata, definitions, imports, line counts, complexity, and syntax errors without executing source. |

---

## Change Log
### 0.39.0
- **PythonMeta**: new static Python project mapper with file/project summaries, source definitions, imports, line metrics, complexity, syntax errors, JSON reports, and virtual-environment exclusions

### 0.38.0
- **NetworkDiagnosis**: new PID-aware network diagnosis tool with `start()`, `stop()`, `add()`, `drop()`, `@OnNewPID()`, `connections()`, `messages()`, `scan()`, and `save()`; packet capture is optional via scapy when enabled

### 0.37.0
- **Network**: new simple network helper with `TCP()`, `UDP()`, `UDP_Broadcast()`, `@listen()`, `GetPublicIP()`, and `GetLANIP()`; packet capture/diagnostics intentionally left for a separate tool

### 0.36.0
- **Archive**: new `.tar.zst` archive tool with `create()`, `extract()`, `contents()`, and `is_archive()`
- **Logging**: re-added as a simplified timestamped file logger with `log()` and `auto()`
- **StaticUtils**: added `Cache.ttl()`, `Timeout.ttl()`, and extension-aware `Files.read()` / `Files.write()`; package now requires Python 3.14+

### 0.35.0
- **Background**: new tool — `start()` launches a detached background process (e.g. a server) that keeps running after your script exits; `stop()`/`stop_all()`/`list()`/`is_running()` manage them via a shared JSON state file, so any later run can stop them

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