multihelper
Multi-Function Helper for GUI, basic file functions, argument checks, and the advanced prefix() feature.
Installation
pip install multihelper
For Kivy GUI support:
pip install multihelper[kivy]
Usage
from multihelper import Task, GUI, prefix
from multihelper import ArgumentNotGivenError, PrefixFunctionMismatchError, WrongArgumentError
Task
Basic file and utility functions.
Task.wait(2) # sleep 2 seconds
Task.FileExists("file.txt") # prints result, sets Task.SuccessFileExistsCode
Task.ReadFromFile("file.txt") # returns file contents as string
Task.WriteToFile("file.txt", data="hello") # appends to file
Task.OverWriteToFile("file.txt", data="hello") # overwrites file
Task.CheckArg("--run") # checks sys.argv for string
Task.CheckArg("--run", tell=True) # verbose argument listing
Task.ExitWithoutDynamicErrors("bye") # clean SystemExit
Task.ExitWithoutDynamicErrors("bye", verbose=True)
prefix()
Injects all functions from a module into the calling file's global namespace, removing the need for the module prefix.
prefix("os")
cwd = getcwd() # instead of os.getcwd()
files = listdir(".") # instead of os.listdir(".")
WrongArgumentError
Raised when a type-annotated prefixed function receives the wrong type or wrong number of arguments.
WrongArgumentError: wrong type for argument 'n' in 'sleep'.
Expected: int
Got: str ('hello')
PrefixFunctionMismatchError
Raised lazily when a prefixed function name collides with a user-defined function in the same file. Raised on call, prints all collisions, then SystemExit.
def sleep(n): # collides with time.sleep after prefix("time")
pass
prefix("time")
sleep(1) # raises PrefixFunctionMismatchError here
GUI
GUI.Tkinter
from multihelper import GUI
def on_click():
print("clicked!")
GUI.Tkinter.WindowInit("My App", 800, 600)
GUI.Tkinter.Label("Hello!", 100, 50)
GUI.Tkinter.Button("Click Me", 100, 120, on_click)
inp = GUI.Tkinter.Input(100, 180)
GUI.Tkinter.Gravity("center")
GUI.Tkinter.Run()
No .pack(), .grid(), .place(), or .mainloop() ever written manually.
Gravity directions: center, top, bottom, left, right
GUI.Kivy
Requires pip install multihelper[kivy]
GUI.Kivy.WindowInit("My App", 800, 600)
GUI.Kivy.Label("Hello!", 100, 200)
GUI.Kivy.Button("Click Me", 100, 120, on_click)
GUI.Kivy.Input(100, 60)
GUI.Kivy.Run()
Exceptions
| Exception | When |
|---|---|
ArgumentNotGivenError |
Raise manually when a required argument is missing |
PrefixFunctionMismatchError |
Name collision between prefixed module function and user-defined function |
WrongArgumentError |
Wrong type or count passed to a type-annotated prefixed function |
License
GPLv3 — Copyright (C) 2026 Alan
Metadata
Release files for multihelper 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| multihelper-1.0.0.tar.gz | 6.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| multihelper-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.6 kB
Release files / multihelper-1.0.0.tar.gz
| Download URL | multihelper-1.0.0.tar.gz |
|---|---|
| Size | 6.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c101135ec593e5931ea42b751bf3b036523f9646e2ca163b7c71701530ab76a4
|
|
BLAKE2b-256 checksum How to use checksums |
1f0105a286025c4a5c12e5239c63887559e1363e10313b52d9d64f12e3097cca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / multihelper-1.0.0-py3-none-any.whl
| Download URL | multihelper-1.0.0-py3-none-any.whl |
|---|---|
| Size | 6.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
136d6b82b8a09c81d934f12bcf9491cad72e80c2ad0c68ef3c1bab46ea0031a6
|
|
BLAKE2b-256 checksum How to use checksums |
7f09fb5b726988d8919f5f7d80d95a388c953ddb7a11a9c8a24307b7e8744f61
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Security for multihelper 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.