
Jarbin-ToolKit is a lightweight Python utility library providing a modular set of tools for building robust CLI applications, managing configuration, logging, timed execution, console manipulation, and structured actions. Inspired by epitech_console, it emphasizes readability, flexibility, and cross-platform compatibility.
Jarbin-ToolKit provides modular tools to improve the development of CLI utilities:
.jar-log or JSON support.ini style files with get_int, get_float, get_bool.jar-log with formatted outputStopWatch and Time.wait / Time.pausetime, os, platform, configparser, datetime, sys, typingjarbin-toolkit-action,jarbin-toolkit-config,jarbin-toolkit-error,jarbin-toolkit-log,jarbin-toolkit-time,jarbin-toolkit-consolepip install jarbin-toolkit
Or to force reinstall the latest version:
pip install --upgrade --force-reinstall jarbin-toolkit
Provides tools for deferring execution and grouping callable actions.
Action — Represents a single callable actionfrom jarbin_toolkit_action import Action
def greet():
print("Hello World!")
a = Action("do greeting", greet)
a() # Executes the function
Actions — Represents a collection of Action objectsfrom jarbin_toolkit_action import Actions, Action
actions = Actions()
actions += Action("act1", lambda: print("Action 1"))
actions += Action("act2", lambda: print("Action 2"))
actions() # Executes all actions
print(len(actions)) # Number of actions
Manages INI-style configuration files with typed getters and cross-platform support.
from jarbin_toolkit_config import Config
cfg = Config(path="./", data={"Section": {"key": "null"}})
cfg.set("Section", "key2", 42) # Set "key2" in "Section" to 42
val = cfg.get_int("Section", "key2") # Get value of "key2" in "Section"
print(val)
cfg.delete() # Delete the config file
Structured error system with terminal formatting and optional file/line linking.
from jarbin_toolkit_error import ErrorConfig
try:
raise ErrorConfig("Invalid configuration detected", link=("config.ini", 10))
except ErrorConfig as e:
print(e) # Print the Error
Manages formatted logs in .jar-log or JSON format.
from jarbin_toolkit_log import Log
log = Log(path="./", file_name="mylog")
log.log("INFO", "Init", "Log started") # Add a log
log.comment("This is a comment") # Add a comment
log.close() # End the formating
print(log.str_filtered("INFO")) # Print the log file formated and filtered
log.delete()
Precision timing utilities.
from jarbin_toolkit_time import StopWatch, Time
watch = StopWatch(True)
Time.wait(1.5)
print(watch.elapsed()) # Print elapsed time after 1.5 seconds waiting
Time.pause('Press enter to continue...') # Pause program until user press 'enter'
Provides advanced terminal rendering inspired by epitech_console.
from jarbin_toolkit_console import Console, Animation, ANSI
pb = Animation.ProgressBar(20)
for i in range(21):
pb.update(i*5)
Console.print(pb.render() + ANSI.Cursor.previous(), sleep=0.05)
Console.print()
⚠️ In Development
First official release
Working library
⚠️ Library not functional yet
Jarbin-ToolKit GNU GPL 2026 JARJARBIN’s STUDIO
Last update: README — *2026/02/12**