Skip to main content

A personal Python toolbox of utilities.

Project description

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

pip install sylriekit

Tool Reference

Tool Type Description
Database Normal One table API over three backends (SQLite, pyturso/Turso, Supabase) with auto-created schema, CRUD, filters, and raw SQL.
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.
Compiler Static Compile scripts with Nuitka as a one-file executable, bundled/external-data executable, or standalone folder.

Change Log

0.43.0

  • Database: new multi-backend database tool with a single table API across SQLite, pyturso (the SQLite-compatible Turso engine), and Supabase (PostgREST); declare columns once (tuple specs or a DatabaseTable subclass) for auto-created schema, then use uniform all/select/get/insert/update/delete/search with an op.value filter grammar, JSON columns, and raw query/execute (Supabase via the Management API) — pyturso is now a dependency

0.42.1

  • LLM: added opt-in prompt caching via use_prompt_caching(), supports_prompt_caching(), and get_last_usage() (plus PROMPT_CACHING/PROMPT_CACHE_TTL config keys); Anthropic and OpenRouter/Kilocode receive native cache_control breakpoints on the tools/system prefix and last message, while other providers cache server-side automatically — also works with ThreadedLLM

0.42.0

  • Compiler: build methods now accept extra_flags and target_dir, and every build disables Nuitka's self-execution deployment guard so a compiled CLI with its own -c flag no longer aborts at runtime
  • Background: start() now accepts an env= override plus a new ENV config key, and strips inherited NUITKA_ONEFILE_* markers so a compiled one-file app can detach another one-file binary without it dying silently
  • StaticUtils: Files.read() gained strict= (raise instead of None on an unreadable/corrupt file), new Files.parse() parses a YAML/JSON/TOML/CSV string in memory, new Files.append() appends text, and Files.write() is now atomic
  • ThreadedLLM: added an on_error() callback and now passes the request id to handlers that accept a second argument, so replies and failures can be matched to the originating send
  • Archive: create() gained a root_name option to set a fixed top-level folder (or "" to drop the common root)
  • PythonMeta: function/method entries now include an is_dunder flag to distinguish dunders from ordinary leading-underscore names

0.41.0

  • Compiler: new Nuitka wrapper for one-file, bundled/external-data, and standalone-folder builds; Scapy and Nuitka are now required dependencies

0.40.0

  • LLM: added chainable LLMPrompt image/audio/video inputs, persistent text/multimodal system prompts, provider-specific formatting, and model capability validation; also works with ThreadedLLM

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 uses 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

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sylriekit-0.43.0.tar.gz (42.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sylriekit-0.43.0-py3-none-any.whl (50.4 kB view details)

Uploaded Python 3

File details

Details for the file sylriekit-0.43.0.tar.gz.

File metadata

  • Download URL: sylriekit-0.43.0.tar.gz
  • Upload date:
  • Size: 42.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for sylriekit-0.43.0.tar.gz
Algorithm Hash digest
SHA256 492d00cddaf9be645a831f7d1cd3fe42d568647ddc1b5b89978f7f0658e21731
MD5 11f162b8e6dc0dcedd26b0d96d5f5ec0
BLAKE2b-256 ce7187519336393fa6b47b41deceb974235d79e7e40015907e5aff77e07d1e13

See more details on using hashes here.

File details

Details for the file sylriekit-0.43.0-py3-none-any.whl.

File metadata

  • Download URL: sylriekit-0.43.0-py3-none-any.whl
  • Upload date:
  • Size: 50.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for sylriekit-0.43.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f271d8f45064a3b2e46ddc2f6e5dc78d68522a01e0b29d073bc29e77d6d397f1
MD5 38e6a968c2b7c174854e42baf71a415d
BLAKE2b-256 bcc455b2f00664d3193dfb819dc3a32751ac198d74c770b2c8a9292be96d049e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page