Repository: vllm-project/guidellm
Issue: Unable to use GuideLLM main build: No module named 'aiologic.lowlevel._thread'
Root cause: External Dependency Breakage

**Describe the bug**
I am unable to utilize the build from the main branch.

**Expected behavior**
It should work. It was aactually working a few days ago.

**Environment**
- Python 3.10.12
- Linux 5.14.0-284.73.1.el9_2.x86_64
- vllm==0.11.0

**To Reproduce**
pip install git+https://github.com/vllm-project/guidellm.git
python -m vllm.entrypoints.openai.api_server --model Qwen/Qwen2.5-0.5B --gpu-memory-utilization 0.90 --max-model-len 512 --max-num-batched-tokens 128

guidellm benchmark --target "http://localhost:8000" --rate-type "sweep" --max-requests 20 --random-seed 42 --warmup-percent 0.1 --data '{"prompt_tokens": 500, "prompt_tokens_stdev": 256, "prompt_tokens_min": 2, "prompt_tokens_max": 8192, "output_tokens": 500, "output_tokens_stdev": 256, "output_tokens_min": 1, "output_tokens_max": 8192}' --output-path /mnt/exp/guidellm_results.json --display-scheduler-stats


**Errors**
Traceback (most recent call last):
  File "/usr/local/bin/guidellm", line 5, in <module>
    from guidellm.__main__ import cli
  File "/usr/local/lib/python3.10/dist-packages/guidellm/__main__.py", line 38, in <module>
    from guidellm.backends import BackendType
  File "/usr/local/lib/python3.10/dist-packages/guidellm/backends/__init__.py", line 14, in <module>
    from .backend import Backend, BackendType
  File "/usr/local/lib/python3.10/dist-packages/guidellm/backends/backend.py", line 14, in <module>
    from guidellm.scheduler import BackendInterface
  File "/usr/local/lib/python3.10/dist-packages/guidellm/scheduler/__init__.py", line 13, in <module>
    from .constraints import (
  File "/usr/local/lib/python3.10/dist-packages/guidellm/scheduler/constraints.py", line 19, in <module>
    from guidellm.scheduler.schemas import (
  File "/usr/local/lib/python3.10/dist-packages/guidellm/scheduler/schemas.py", line 19, in <module>
    from guidellm.schemas import RequestInfo
  File "/usr/local/lib/python3.10/dist-packages/guidellm/schemas/__init__.py", line 12, in <module>
    from .info import RequestInfo, RequestTimings
  File "/usr/local/lib/python3.10/dist-packages/guidellm/schemas/info.py", line 17, in <module>
    from guidellm.utils import StandardBaseDict, StandardBaseModel
  File "/usr/local/lib/python3.10/dist-packages/guidellm/utils/__init__.py", line 23, in <module>
    from .messaging import (
  File "/usr/local/lib/python3.10/dist-packages/guidellm/utils/messaging.py", line 27, in <module>
    import culsans
  File "/usr/local/lib/python3.10/dist-packages/culsans/__init__.py", line 28, in <module>
    from ._queues import (
  File "/usr/local/lib/python3.10/dist-packages/culsans/_queues.py", line 16, in <module>
    from aiologic.lowlevel._thread import LockType, allocate_lock
ModuleNotFoundError: No module named 'aiologic.lowlevel._thread'

**Additional context**
Could it be because of version mismatch of aiologic package?

This issue is caused by the use of `culsans~=0.9.0`. Both packages have recently been updated, and `aiologic==0.15.0` removed the private module that is used by `culsans<0.10.0` (but not used by `culsans==0.10.0`) in favor of public functions. Only culsans is version-locked by GuideLLM.

The problem is already known and has been addressed in #440. I think it will be fixed soon. In the meantime, you can downgrade to `aiologic==0.14.0` (or upgrade to `culsans==0.10.0`).

Thank you for the prompt response! 

This has been addressed in v0.4.0.