Skip to main content

Error tool (Formated error / Better visual / etc...)

Project description

error loading Epitech Logo error loading Jarbin-ToolKit Logo

📦 Jarbin-ToolKit:Error v0.1.6

Structured exception hierarchy system providing deterministic error modeling, contextual linking, and extensible error classification.


🔹 Short Description

Jarbin-ToolKit Error is a structured exception framework that extends Python’s base exception system with contextual linking, categorized error types, and standardized formatting for deterministic error reporting.

It provides:

  • structured exception hierarchy
  • contextual file/line linking system
  • specialized error subclasses
  • standardized string formatting for logs and CLI output

It is not a logging system, but a structured error abstraction layer over Python exceptions.


🔹 Authors

  • Nathan (Jarjarbin06)
  • Jarbin Studio

🔹 License

GPL v3


🔹 Target Audience

This library is intended for:

  • Python developers building structured frameworks
  • systems requiring standardized error reporting
  • CLI tools needing formatted exception output
  • modular applications with layered exception handling

🔹 Platform Support

  • Python ≥ 3.10
  • Standard library only (no external dependencies required)
  • Cross-platform (Linux / Windows / macOS)

🔹 Purpose

Jarbin-ToolKit Error aims to:

  • provide structured and extensible exception types
  • standardize error representation across systems
  • attach contextual metadata (file / line references)
  • improve debugging clarity through formatted output

It is not a logging framework, but a deterministic exception modeling system built on Python exceptions.


🔹 Key Features

  • Base Error exception class
  • Structured error subclasses (Type, Value, Import, Config, etc.)
  • Contextual linking via file and line metadata
  • ANSI-formatted terminal output
  • Standardized string and debug representations
  • Optional logging integration hook (disabled by default)

🔹 Architecture Overview

Application Layer
        │
        ▼
   Error(Exception)
        │
   ┌────┴────────────────────────────┐
   ▼                                 ▼
ErrorType                      ErrorValue
ErrorImport                   ErrorConfig
ErrorLog                     ErrorSetting
ErrorAttribute              ErrorLaunch
        │
        ▼
Context System (link_data)
        │
        ▼
Formatted Output (ANSI CLI / logs)

🔹 Core Concept

The system is built around a single base exception class extended by specialized error types.

Error

Base exception class:

Error(message, error, link)

Supports:

  • custom error message
  • error category label
  • optional file/line linkage
  • formatted terminal output

Error Subclasses

Each subclass represents a semantic category:

ErrorType
ErrorValue
ErrorImport
ErrorConfig
ErrorLog
ErrorSetting
ErrorAttribute
ErrorLaunch

All inherit from Error and append a deterministic identifier.


Link System

Optional contextual metadata:

("file.py", 42)

Converted into:

  • File "file.py"
  • or File "file.py", line 42

Used to improve debugging traceability.


🔹 API / Function Documentation

🔹 Error

Name Description
__init__ Initializes error with message, type, and link
log Optional logging hook (disabled in current state)
create_link Builds human-readable file/line reference
__str__ ANSI-formatted runtime error output
__repr__ Debug representation

🔹 Error Subclasses

Class Description
ErrorType Type-related errors
ErrorValue Value-related errors
ErrorImport Import failures
ErrorConfig Configuration-related errors
ErrorLog Logging system errors
ErrorSetting Runtime setting errors
ErrorAttribute Attribute access errors
ErrorLaunch Initialization/boot errors

🔹 Project Structure

jarbin_toolkit_error/
├── error.py
└── __init__.py

🔹 Usage Section

🔹 Basic Error Raising

from jarbin_toolkit_error import Error

raise Error("Something went wrong", error="RuntimeError")

🔹 Structured Error Types

from jarbin_toolkit_error import ErrorValue

raise ErrorValue("Invalid input provided")

🔹 Contextual Linking

raise ErrorType(
    "Type mismatch detected",
    link=("main.py", 42)
)

🔹 Exception Display Output

Errors are formatted with:

  • ANSI color coding
  • structured message blocks
  • optional file/line context

🔹 Build / Installation

Installation

pip install jarbin-toolkit-error

🔹 Execution Behavior

  • Errors are synchronous exceptions
  • No automatic capture system
  • Logging is disabled by default (log() is a stub)
  • Context generation is optional and explicit

🔹 Memory Model

  • Each Error stores:

    • message (str)
    • error type label (str)
    • link metadata (tuple or None)
    • formatted link string

No external state is required.


🔹 Design Philosophy

  • explicit error classification over generic exceptions
  • structured debugging context over raw messages
  • deterministic formatting for CLI consistency
  • extensible error taxonomy

🔹 Current State

⚠️ Core error hierarchy is stable and functional

Status:

  • base exception system implemented
  • structured subclasses implemented
  • link system implemented
  • formatted output implemented

Limitations:

  • logging integration incomplete
  • no stack trace enhancement layer
  • ANSI formatting not configurable
  • no serialization support

🔹 Limitations

  • no integrated logging backend
  • no JSON export of errors
  • limited runtime introspection
  • ANSI formatting may not be portable in all environments
  • logging hooks currently disabled

🔹 Extension / Contribution

Possible extensions:

  • structured logging integration
  • JSON / YAML error serialization
  • stack trace enrichment system
  • centralized error registry
  • log file integration layer

🔹 Notes

This module is designed as a deterministic error abstraction layer, not a full logging or monitoring system.

It prioritizes:

  • clarity
  • structured classification
  • debugging precision

🔹 Identity Summary

Jarbin-ToolKit Error is:

  • a structured exception hierarchy
  • a deterministic error modeling system
  • a contextual debugging abstraction layer
  • a CLI-friendly formatted error framework

🔹 Final Rule

If an error is not classified or contextualized, it is not structured.


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_error-0.1.6.tar.gz (32.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_error-0.1.6-py3-none-any.whl (22.9 kB view details)

Uploaded Python 3

File details

Details for the file jarbin_toolkit_error-0.1.6.tar.gz.

File metadata

  • Download URL: jarbin_toolkit_error-0.1.6.tar.gz
  • Upload date:
  • Size: 32.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_error-0.1.6.tar.gz
Algorithm Hash digest
SHA256 d54e07b32d79200365b77156d09bbd8b959f20611ba9d9b1b361bba4dfe9affa
MD5 5f3208ba6d541f7ab5acbafebb6b1fbc
BLAKE2b-256 1b09d180286a2c8baf7b68ef7570248b7cc7b7a02d327af473f513437eb3f0be

See more details on using hashes here.

File details

Details for the file jarbin_toolkit_error-0.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for jarbin_toolkit_error-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 861c095ed051562043f268292a6fd701c24ac1799d823e09de947d7492d0d311
MD5 0590f3670056d198548f75de1441d314
BLAKE2b-256 7ef0aa808c89c9f43b70fe30f8524ecb13f12c016034e5dcac09069d726d8c56

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