Skip to content

Conversation

markurtz
Copy link
Collaborator

Summary

Introduces a comprehensive utilities infrastructure to support distributed processing, inter-process communication, and statistical analysis for the GuideLLM framework. The changes include new modules for encoding/serialization, messaging systems, statistical computations, and various utility mixins while removing deprecated functionality and improving code organization.

Details

  • Added messaging infrastructure (messaging.py): Inter-process communication abstractions supporting queue-based, pipe-based, and manager-based messaging with configurable encoding and serialization
  • Added encoding utilities (encoding.py): High-performance message encoding/decoding with Pydantic model support, configurable serialization strategies (dict/sequence), and binary encoding (msgpack/msgspec)
  • Added statistical analysis (statistics.py): Comprehensive statistical computation tools including distribution summaries, percentiles, running statistics, and specialized request timing analysis
  • Added registry system (registry.py): Dynamic object registration and discovery with auto-discovery capabilities for extensible plugin architectures
  • Added Pydantic utilities (pydantic_utils.py): Polymorphic model serialization, registry integration, and standardized base model classes
  • Added console utilities (console.py): Rich console integration with status tracking, colored output, and progress indicators
  • Added synchronization utilities (synchronous.py): Async-compatible wrappers for threading/multiprocessing synchronization primitives
  • Added singleton patterns (singleton.py): Thread-safe and basic singleton implementations for resource management
  • Added utility functions (functions.py): Safe arithmetic operations, timestamp formatting, and defensive programming utilities
  • Added mixin classes (mixins.py): Reusable mixins for metadata extraction and object introspection
  • Added auto-importer (auto_importer.py): Automatic module importing for dynamic class discovery
  • Enhanced text utilities: Added format_value_display() function for consistent metric formatting and improved documentation
  • Removed deprecated code: Deleted dict.py module with recursive_key_update() and camelize_str() function from text.py
  • Updated imports: Comprehensive reorganization of __init__.py exports to reflect new utilities structure

Test Plan

  • Full unit tests added and passing

Related Issues

This refactor supports the broader scheduler infrastructure improvements and distributed processing capabilities.


  • "I certify that all code in this PR is my own, except as noted below."

Use of AI

  • Includes AI-assisted code completion
  • Includes code generated by an AI application
  • Includes AI-generated tests (NOTE: AI written tests should have a docstring that includes ## WRITTEN BY AI ##)

@markurtz markurtz force-pushed the features/refactor/utils branch from dc0220f to 6b6ed98 Compare September 19, 2025 03:59
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a comprehensive utilities infrastructure to support distributed processing, inter-process communication, and statistical analysis for the GuideLLM framework. It adds multiple new utility modules while removing deprecated functionality and improving code organization.

Key Changes

  • New utilities infrastructure: Added 11 new utility modules including messaging, encoding, statistics, and synchronization utilities
  • Registry system: Implemented dynamic object registration with auto-discovery for extensible plugin architectures
  • Pydantic integration: Added polymorphic model serialization and registry integration utilities

Reviewed Changes

Copilot reviewed 27 out of 27 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
tests/unit/utils/text.py Removed deprecated camelization tests
tests/unit/utils/test_*.py Added comprehensive test suites for all new utility modules
tests/unit/utils/dict.py Removed deprecated dictionary utility tests
src/guidellm/utils/text.py Enhanced with new formatting function, removed deprecated camelization
src/guidellm/utils/*.py Added 10+ new utility modules for messaging, statistics, registry, etc.
Comments suppressed due to low confidence (1)

src/guidellm/utils/text.py:1

  • Function name in exports contains a typo. Should be is_punctuation.
"""

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Copy link
Collaborator

@sjmonson sjmonson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving as nothing is new from my approvals on previous PRs.

sjmonson added a commit that referenced this pull request Sep 23, 2025
…atures/refactor/base-draft

[GuideLLM Refactor] utility package updates, rewrites, and tests expansion needed for the other, refactored packages #353
sjmonson added a commit that referenced this pull request Sep 25, 2025
…nsion needed for the other, refactored packages \#353\n\nfeatures/refactor/utils
Base automatically changed from features/refactor/core to features/refactor/base September 29, 2025 14:18
@markurtz markurtz merged commit 4c70b5b into features/refactor/base Sep 29, 2025
12 of 17 checks passed
@markurtz markurtz deleted the features/refactor/utils branch September 29, 2025 14:18
@markurtz markurtz added this to the v0.4.0 milestone Oct 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants