← Back to Projects
Library

Dev Utils Package

A collection of 15 reusable Python packages covering logging, caching, DB access, agents, and more.

PythonPydanticAsyncIOLLMPlugin Architecture

Overview

Dev Utils Package is a monorepo of 15 framework-agnostic Python packages designed as production-ready building blocks for applications. Rather than re-implementing infrastructure concerns for every new app, each package handles one concern — logging, caching, database access, error handling, job scheduling, agent scaffolding — and applications are assembled by combining only what they need. Packages compose cleanly via shared abstractions (BaseAppException, AbstractDatabase, AbstractCache) so they speak the same language when used together.

Key Features

  • 15 standalone installable packages covering the full application infrastructure stack (logging, caching, DB, events, jobs, workflows, notifications, and more)
  • Framework-agnostic — integrates with FastAPI, Streamlit, CLI (Typer), and microservice targets
  • Optional inter-package integrations that activate automatically when sibling packages are installed, with no mandatory coupling
  • LLM-aware caching, MCP-aware resource caching, and composable mixin-based agent base class for AI applications
  • Uniform adapter layer (tool_interface_adapter) normalising REST APIs, CLIs, ML models, gRPC, and WebSockets into a single AbstractTool interface
  • Pre-built wheels in Dependencies/ for offline installation; all packages support editable installs

Technical Decisions

Built entirely in Python 3.11+ with Pydantic v2 as the shared data-modeling layer across the ecosystem. Package boundaries are intentional — each concern is isolated, and optional integration bridges mean sibling packages can interoperate without creating hard dependencies. The LLM-facing packages (abstract_agent, cache_manager, tool_interface_adapter) use composable mixin patterns so callers can opt into capabilities (caching, observability, scheduling) without inheritance overhead. workflow_manager and ui_controller_base sit at the top of the dependency graph as the highest-level application shells.

Packages repositories

Infrastructure & Cross-cutting Concerns

Logger_Package Error-Exception_Handler Cache_manager DB_Package Config_Manager

Connectivity & Extensibility

API_Base_cl Plugin_Loader Event_Dispatcher Notification_manager

Orchestration & Execution

Job_Manager Workflow_manager

Application-Level Foundations

Abstract_agent Tool_Interface_adapter InOut_Models UI_controlBase