Yanked
This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Reason given by maintainers: migrats to another package
luvmagiToolKits
luvmagiToolKits is a modular Python toolkit.
The current public release includes:
json_diff: compare two JSON-serializable documents and write JSON or Markdown reportsdecotextual: a decorator-driven helper layer for building small Textual-based tool panels quicklywbs: WBS-oriented helpers that depend on thewbsextra
Installation
Install the lightweight base package:
pip install luvmagitoolkits
The base install is intended for dependency-light modules such as json_diff.
Install the Textual TUI helpers:
pip install "luvmagitoolkits[tui]"
Install the WBS helpers:
pip install "luvmagitoolkits[wbs]"
Install every optional dependency:
pip install "luvmagitoolkits[all]"
Upgrade the package:
pip install -U luvmagitoolkits
What json_diff Provides
- Structured diffs for dictionaries, lists, and nested JSON-like payloads.
- Configurable array matching by key, inferred key, hash, or index.
- JSON and Markdown output writers with explicit
encodingparameters.
What decotextual Provides
- A class decorator to register tools into a navigable tree.
- A method decorator to define labels, descriptions, and placeholders.
- A simple
Linear(...)helper for select-style choices. - A ready-to-run Textual application launcher with
run_tui().
run_tui() requires the tui extra.
Quick Start
from pathlib import Path
from luvmagitoolkits.decotextual import Linear, register_tool, run_tui, tool_method
@register_tool(category="File Tools", tool_name="File Utilities")
class FileTool:
@tool_method(
name="Read File",
description="Read a file and return the first N lines",
placeholders={
"file_path": "Full path, e.g. ./demo.txt",
"tags": "One tag per line, or comma-separated",
},
)
def read_file(self, file_path: Path, line_count: int = 20, tags: list | None = None):
print(f"Reading {file_path} - first {line_count} lines")
if tags:
print(f"Tags: {tags}")
return "Done"
@tool_method(
name="Batch Rename",
description="Batch rename files in a directory",
placeholders={"directory": "Target directory path"},
)
def batch_rename(
self,
directory: Path,
prefix: str = "file_",
mode: Linear = Linear("Sequential", "Timestamp", "MD5"),
):
print(f"Scanning: {directory}")
print(f"Prefix: {prefix}, Mode: {mode}")
return "Rename complete"
if __name__ == "__main__":
run_tui()
Release Status
- Package version:
0.1.1 - Stability: alpha
- Recommended audience: early adopters and internal experimentation
Roadmap
- Expand the
decotextualexamples and tests. - Add module-specific documentation under
docs/. - Gradually fill in the database, dataframe, excel, image, and utils modules.
Project Links
- Repository: https://github.com/luvmagi/luvmagiToolKits
- Issues: https://github.com/luvmagi/luvmagiToolKits/issues
- Release guide: docs/pypi-release.md
Metadata
Release files for luvmagitoolkits 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| luvmagitoolkits-0.1.2.tar.gz | 22.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| luvmagitoolkits-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 57.2 kB
Release files / luvmagitoolkits-0.1.2.tar.gz
| Download URL | luvmagitoolkits-0.1.2.tar.gz |
|---|---|
| Size | 22.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aa6f89f04e8d07e4125d4e49dadbb1d6b22f6deffba82a789d8519f63aefd3a7
|
|
BLAKE2b-256 checksum How to use checksums |
48a343bffcdfeb756afa3f327ee0412641de0b0e6fced7480d49815a20821e53
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Release files / luvmagitoolkits-0.1.2-py3-none-any.whl
| Download URL | luvmagitoolkits-0.1.2-py3-none-any.whl |
|---|---|
| Size | 35.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9f043dad703b15f1f2d9825a68a614bbadc831dfabc527603231f854441fc1bd
|
|
BLAKE2b-256 checksum How to use checksums |
e33b11a5f9ee6e4a94b8ab443a39e935a39b8aa8bce5d4325232453aad6d4742
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|