Skip to main content

Action tool (Save / Call / etc...)

Project description

error loading Epitech Logo error loading Jarbin-ToolKit Logo

๐Ÿ“ฆ Jarbin-ToolKit:Action v0.1.2.2

Deterministic function execution system based on deferred callable actions and structured action composition


๐Ÿ”น Short Description

Jarbin-ToolKit Action is a lightweight execution framework that encapsulates Python callables into structured Action objects, enabling deferred execution, composition, and batch processing through a deterministic interface.

It provides:

  • function encapsulation into executable objects
  • delayed execution model
  • composable action pipelines
  • structured batch execution system

It is not a task scheduler, but a deterministic function execution abstraction layer.


๐Ÿ”น Authors

  • Nathan (Jarjarbin06)
  • Jarbin Studio

๐Ÿ”น License

GPL v3


๐Ÿ”น Target Audience

This library is intended for:

  • Python developers building execution pipelines
  • developers designing modular automation systems
  • projects requiring deferred execution models
  • engineers building structured workflow abstractions

๐Ÿ”น Platform Support

  • Python โ‰ฅ 3.10
  • Standard library only (no external dependencies required)
  • Linux / Windows / macOS compatible

๐Ÿ”น Purpose

Jarbin-ToolKit Action aims to:

  • encapsulate functions into executable objects
  • enable deferred execution of logic
  • allow composition of multiple execution units
  • provide structured batch execution through Actions

It is not a concurrency framework, but a deterministic execution abstraction layer over Python callables.


๐Ÿ”น Key Features

  • Callable encapsulation via Action
  • Deferred execution using __call__
  • Batch execution with Actions
  • Action composition via operator overloading (+)
  • Ordered execution pipeline
  • Structured return aggregation

๐Ÿ”น Architecture Overview

User Code
   โ”‚
   โ–ผ
Action(name, function, args, kwargs)
   โ”‚
   โ–ผ
Deferred Execution Model
   โ”‚
   โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
   โ–ผ               โ–ผ
__call__       Actions(list)
   โ”‚               โ”‚
   โ–ผ               โ–ผ
Function exec   Batch execution
   โ”‚               โ”‚
   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
           โ–ผ
   Structured return dict

๐Ÿ”น Core Concept

The system is based on two core entities:

Action

Encapsulates a callable:

Action(name, function, *args, **kwargs)

Execution is delayed until explicitly called:

action()

Actions

Container of multiple Action objects:

Actions([action1, action2])

Supports:

  • sequential execution
  • aggregation of results
  • indexing access
  • composition via +

๐Ÿ”น API / Function Documentation

๐Ÿ”น Action

Name Description
__init__ Stores callable and arguments
__call__ Executes stored function
__add__ Combines with another Action into Actions
__repr__ Debug representation
__str__ Human-readable representation

๐Ÿ”น Actions

Name Description
__init__ Initializes action list
__call__ Executes all actions and returns dict
__add__ Combines Actions or Action
__getitem__ Access action by index
__len__ Returns number of actions
__repr__ Debug representation
__str__ Structured print output

๐Ÿ”น Project Structure

jarbin_toolkit_action/
โ”œโ”€โ”€ action.py
โ””โ”€โ”€ __init__.py

๐Ÿ”น Usage Section

๐Ÿ”น Single Action Execution

from jarbin_toolkit_action import Action

def hello(name):
    return f"Hello {name}"

a = Action("greet", hello, "Nathan")
print(a())  # Hello Nathan

๐Ÿ”น Batch Execution

from jarbin_toolkit_action import Action, Actions

def add(a, b):
    return a + b

def mul(a, b):
    return a * b

a1 = Action("add", add, 2, 3)
a2 = Action("mul", mul, 2, 3)

batch = Actions([a1, a2])
print(batch())

Output:

{
    "add": 5,
    "mul": 6
}

๐Ÿ”น Composition

combined = a1 + a2
print(combined())

๐Ÿ”น Build / Installation

Installation

pip install jarbin-toolkit-action

๐Ÿ”น Execution Behavior

  • Execution is strictly manual and explicit

  • No automatic scheduling

  • Functions are executed only via:

    • Action()
    • Actions()
  • Batch execution preserves insertion order


๐Ÿ”น Memory Model

  • Action stores:

    • function reference
    • positional arguments (list)
    • keyword arguments (dict)
  • Actions stores:

    • ordered list of Action

No hidden state or dynamic mutation outside explicit operations.


๐Ÿ”น Design Philosophy

  • deterministic execution over implicit behavior
  • explicit function encapsulation
  • modular execution units
  • composition over duplication
  • predictable batch processing

๐Ÿ”น Current State

โš ๏ธ Core execution model is stable and functional

Status:

  • Action encapsulation implemented
  • Batch execution implemented
  • Composition operator implemented

Limitations:

  • No async support
  • No cancellation mechanism
  • No dependency graph execution
  • No parallel execution engine

๐Ÿ”น Limitations

  • synchronous execution only
  • no concurrency model
  • no runtime scheduling system
  • no error isolation between batch actions
  • minimal validation on inputs

๐Ÿ”น Extension / Contribution

Possible extensions:

  • async Action support
  • execution pipelines with dependencies
  • retry mechanisms
  • parallel execution backend
  • failure isolation per Action

๐Ÿ”น Notes

This system is designed as a minimal deterministic execution abstraction layer, not a full workflow engine.

It prioritizes:

  • clarity
  • predictability
  • structural simplicity

๐Ÿ”น Identity Summary

Jarbin-ToolKit Action is:

  • a structured function encapsulation system
  • a deterministic execution model
  • a lightweight batch execution framework
  • a composable action abstraction layer

๐Ÿ”น Final Rule

If execution behavior is not explicitly defined, it does not exist.


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

jarbin_toolkit_action-0.1.2.2.tar.gz (28.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jarbin_toolkit_action-0.1.2.2-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

Details for the file jarbin_toolkit_action-0.1.2.2.tar.gz.

File metadata

  • Download URL: jarbin_toolkit_action-0.1.2.2.tar.gz
  • Upload date:
  • Size: 28.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for jarbin_toolkit_action-0.1.2.2.tar.gz
Algorithm Hash digest
SHA256 cf0308c935ed59576dacb970d6a45cf6861075e99ff2c65e39dd9e1dff2f6398
MD5 82b8c15056895e7d4baf23470010065f
BLAKE2b-256 5a1b6945bf0f6f475e93c6136d112d23a2b6996a392ee6c930fca191bdbccec7

See more details on using hashes here.

File details

Details for the file jarbin_toolkit_action-0.1.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for jarbin_toolkit_action-0.1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 45d671e2e86feee8d5a04f9180088b4cc050e1bad3c4d781371589916e4ff693
MD5 76f63c3dd9a7e23b345a30e3c9d873d5
BLAKE2b-256 6b148118fd351f8dc6f9e8b6f66e62d38ad707655323c66eb5dc526f2f485856

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page