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.3

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.3.tar.gz (32.4 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.3-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jarbin_toolkit_error-0.1.3.tar.gz
  • Upload date:
  • Size: 32.4 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.3.tar.gz
Algorithm Hash digest
SHA256 8e00a724683aac46355a64dc4a18586a99c8af012a6ecbab9e98fc5a54383401
MD5 df2e98cd402c8d3220131db3766b7305
BLAKE2b-256 feb1aa2ea02c643ad550e810a686236fdaebb33bf1c3bdd55a2f7dc64e40e895

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jarbin_toolkit_error-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6fd4611d28412ba726bb0f6122cb883f14d7b35d9b61325e5610a69b5e2122b5
MD5 6d3251a5eff6c698f768b5f75a950c65
BLAKE2b-256 6e0c31c5d674f602d3fcce2c9b07ef18ed8f18fbba0cd31b45334a1b8d84b339

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