Python utilities for dynamic strings, sandboxed files, multiuse-case classes, and ANSI colors
Project description
ltoolboxLib
A Swiss Army knife for Python scripting and automation
ltoolboxLib is a powerful utility library for Python that simplifies file operations, text manipulation, encoding, system tasks, and more, with built-in sandbox mode for safe testing.
Features
- File Operations - Read, write, copy, grep, and manage files (with sandbox support).
- Dynamic Strings -
S()andM()for runtime string interpolation. - Encoding/Decoding - Secure
encode()/decode()with shadow keys. - System Utilities - Cross-platform notifications, clipboard access, and public IP fetching.
- ANSI Styling - RGB colors and text formatting for terminals.
- Sandbox Mode - Virtual filesystem for testing without touching real files.
- Smart Functions - Fuzzy matching, random generators, UUIDs, and more.
- Temporary Variables - Values that expire over time, after use, or permanently transform.
- Debugging Tools - Tracebacks, watches, pauses, and safe evaluations.
- Utility Classes - Including
Toggle,Undo, andLockfor stateful logic and memory control.
Quick Start
1. File Operations (Sandbox Supported)
from ltoolboxLib import *
debug.sandbox(True)
rw_file("test.txt", "Hello, sandbox!")
print(file_exists("test.txt")) # True (in sandbox)
debug.sandbox(False)
rw_file("real_file.txt", "This writes to disk.")
1-B. JSON
data = rwe_json("config.json") # Returns full JSON
rwe_json("config.json", {"a": {"b": 2}}) # Sets entire JSON
print(rwe_json("config.json", E="a/b")) # Returns a nested value (ie. a: {b: 2})
rwe_json("config.json", 42, E="x/y/z") # Sets that nested value (ie. x: {y: {z: 42}})
2. Dynamic Strings (S and M)
user = "Alice"
id_num = 42
greeting = S("User {user} (ID: {id_num}) logged in at {timestamp()}")
m_greeting = M("User {user} (ID: [id_num]) logged in at {timestamp()}")
user = "Bob"
id_num = 99
print(greeting) # User Bob (ID: 99) ...
print(m_greeting) # User Bob (ID: 42) ...
3. Encoding & Security
encoded = encode("Secret Message")
decoded = decode(encoded)
print(decoded.decode())
4. System Utilities
notify("Done!", "Script complete!")
clipboard_copy("Text copied.")
print(censor(get_public_ip(), '-')) # "118.---.---.93"
5. Temporary Variables
t = Temporary("Code: 1337", delay=5, expiry="Expired")
print(t) # "Code: 1337"
time.sleep(5)
print(t) # "Expired"
t2 = Temporary("Limited use", uses=2, expiry="Gone")
print(t2) # "Limited use"
print(t2) # "Limited use"
print(t2) # "Gone"
6. Other Classes
Toggle("A", "B", "C") # Cycles through values
Undo("Initial").set("Change 1").undo() # Reverts
Lock("Secret").lock().set("Still secret") # Cannot overwrite if locked
7. Run the Full Demo
tech_demo() # Try it all in one shot
API Highlights
| Function/Class | Description |
|---|---|
rw_file() |
Read/write files (sandbox-aware). |
S() / M() |
Dynamic and static-evaluated strings. |
encode() / decode() |
Secure encoding with shadow keys. |
notify() |
OS-level notification popup. |
file_grep() |
Regex search across files. |
ansi() |
RGB terminal styling. |
debug.sandbox() |
Toggle sandbox mode. |
Temporary() |
Create time/use-expiring or permanent-transform values. |
Toggle() |
Cycle between given values. |
Undo() |
Versioned string that supports undo/redo/history. |
Lock() |
Prevent changes unless explicitly unlocked. |
DEBUG Features
debug.sandbox(True/False) # Enable/disable sandbox
debug.death(True/False) # Enable/disable forced errors
debug.status() # Show sandbox and death state
debug.peek_vars(dict, keys=None) # View contents of variables
debug.safe_eval(expr, ...) # Evaluate expressions safely
debug.trace(msg="Trace") # Print a trace stack
debug.pause("...") # Pause execution
debug.watch("myVar", globals()) # Watch variable value
Why Use ltoolboxLib?
- All-in-One Utility - A single import covers dozens of use cases.
- Safe Testing - Sandbox mode protects your real files.
- Smarter Code - Logic and flow tools like
Toggle,Undo, andTemporary. - Pretty Output - Styled output for terminal nerds.
- Quick Start, Quick Results - Minimal setup, maximum value.
- Batteries included - Not really though. No batteries.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ltoolboxlib-1.1.2.tar.gz.
File metadata
- Download URL: ltoolboxlib-1.1.2.tar.gz
- Upload date:
- Size: 20.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cec95c55ab495dd8095f949ea76f49b0bf997be0f1c3105269946227e0b9440c
|
|
| MD5 |
fed6dc9ffc3268d86e42f69f5f7bdd2f
|
|
| BLAKE2b-256 |
2a0eeea26a4fd4fac3cacfb7af19eb461e5d2f12d681229a4face2cabaf79f07
|
File details
Details for the file ltoolboxlib-1.1.2-py3-none-any.whl.
File metadata
- Download URL: ltoolboxlib-1.1.2-py3-none-any.whl
- Upload date:
- Size: 18.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8869c1827b669078b6a9a3c2f3b671f08ad973de9d557f29448bbedffc32b1cf
|
|
| MD5 |
6b3491a866f06c1bec83ae514bdf9834
|
|
| BLAKE2b-256 |
75777fdeca0d74e9b5645160e284d23372f2264e475be74a6504989e8b10c37d
|