Skip to content

Szumak75/JskToolBox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

799 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JskToolBox

JskToolBox provides curated sets of Python classes that support system automation, networking, configuration handling, and Tkinter-based GUI development. The documentation in docs/ offers module-by-module guides; the sections below highlight the available references.

Core Utilities

  • AttribTool – base classes that restrict dynamic attribute creation and manage declared fields
    AttribTool Readme
  • BaseTool – mixins for metadata reporting, data storage, logging, and threading used across the project
    BaseTool Readme
  • RaiseTool – helpers that standardise exception formatting and error reporting
    RaiseTool Readme
  • SystemTool – utilities for interacting with the host operating system
    SystemTool Readme

Configuration and Data

  • ConfigTool – parsers and helpers for working with configuration files
    ConfigTool Readme
  • DateTool – date/time conversions, validation, and formatting helpers
    DateTool Readme
  • StringTool – routines for text manipulation and sanitising
    StringTool Readme

Logging and Networking

Tkinter

  • TkTool – Tk mixins, layout helpers, clipboard adapters, and reusable widgets (excluding the unreliable _TkClip)
    TkTool Readme

API Documentation

Complete API reference documentation is available:

  • Generate Documentation: make docs or poetry run python generate_docs.py
  • HTML Documentation: Open docs_api/build/html/index.html after generation
  • Preferred Imports: PREFERRED_IMPORTS.md - Lazy import patterns
  • AI Agent Guide: AI_AGENT_GUIDE.md - Integration guide for AI agents
  • Code Examples: EXAMPLES_FOR_AI.md - Practical usage examples
  • Module Index: API_INDEX.md - Quick reference of all modules
  • API Structure: api_structure.json - Machine-readable API structure

Lazy Imports (Important)

The library uses lazy imports for performance. Use the preferred shorter patterns:

# ✓ Preferred (lazy loading)
from jsktoolbox.configtool import Config
from jsktoolbox.logstool import LoggerClient

# ✗ Avoid (works but longer)
from jsktoolbox.configtool.main import Config
from jsktoolbox.logstool.logs import LoggerClient

Quick Start

# Install dependencies
poetry install

# Generate all documentation
make docs

# Or use the script directly
poetry run python generate_docs.py

# Open documentation in browser
make docs-open

Examples

Examples demonstrating selected modules can be found in:

About

Python utility library providing typed helpers for system operations, configuration parsing, logging pipelines, IPv4/IPv6 address handling, MikroTik/RouterOS support, and Tkinter components.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages