jarbin-toolkit

error loading Epitech Logo error loading Jarbin-ToolKit Logo

Jarbin-ToolKit

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.



Pages

  1. API REFERENCE


Table of Contents

  1. Library Overview
  2. Main Features
  3. Tech Stack
  4. Installation
  5. Library Components
  6. Release Notes
  7. Useful Links


Library Overview

Jarbin-ToolKit provides modular tools to improve the development of CLI utilities:



Main Features



Tech Stack



Installation

pip install jarbin-toolkit

Or to force reinstall the latest version:

pip install --upgrade --force-reinstall jarbin-toolkit


Library Components

Action (Stable)

Provides tools for deferring execution and grouping callable actions.

Classes

from jarbin_toolkit_action import Action

def greet():
    print("Hello World!")

a = Action("do greeting", greet)
a()    # Executes the function
from 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

Config (Stable)

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

Error (Stable)

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

Log (Stable)

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()

Time (Stable)

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'

Console (Stable)

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()


Release Notes

v1.1 - /

v1.0 - 2026-02-05

v0.2 - 2026-02-05

v0.1 - 2026-01-22




Jarbin-ToolKit GNU GPL 2026 JARJARBIN’s STUDIO


Last update: README — *2026/02/12**