-
Notifications
You must be signed in to change notification settings - Fork 86
[GuideLLM Refactor] utility package updates, rewrites, and tests expansion needed for the other, refactored packages #353
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: Mark Kurtz <[email protected]>
dc0220f
to
6b6ed98
Compare
There was a problem hiding this 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.
Signed-off-by: Mark Kurtz <[email protected]>
Signed-off-by: Mark Kurtz <[email protected]>
There was a problem hiding this 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.
…atures/refactor/base-draft [GuideLLM Refactor] utility package updates, rewrites, and tests expansion needed for the other, refactored packages #353
…nsion needed for the other, refactored packages \#353\n\nfeatures/refactor/utils
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
messaging.py
): Inter-process communication abstractions supporting queue-based, pipe-based, and manager-based messaging with configurable encoding and serializationencoding.py
): High-performance message encoding/decoding with Pydantic model support, configurable serialization strategies (dict/sequence), and binary encoding (msgpack/msgspec)statistics.py
): Comprehensive statistical computation tools including distribution summaries, percentiles, running statistics, and specialized request timing analysisregistry.py
): Dynamic object registration and discovery with auto-discovery capabilities for extensible plugin architecturespydantic_utils.py
): Polymorphic model serialization, registry integration, and standardized base model classesconsole.py
): Rich console integration with status tracking, colored output, and progress indicatorssynchronous.py
): Async-compatible wrappers for threading/multiprocessing synchronization primitivessingleton.py
): Thread-safe and basic singleton implementations for resource managementfunctions.py
): Safe arithmetic operations, timestamp formatting, and defensive programming utilitiesmixins.py
): Reusable mixins for metadata extraction and object introspectionauto_importer.py
): Automatic module importing for dynamic class discoveryformat_value_display()
function for consistent metric formatting and improved documentationdict.py
module withrecursive_key_update()
andcamelize_str()
function fromtext.py
__init__.py
exports to reflect new utilities structureTest Plan
Related Issues
This refactor supports the broader scheduler infrastructure improvements and distributed processing capabilities.
Use of AI
## WRITTEN BY AI ##
)