Skip to content

Feature/llmserving#55

Merged
reiase merged 3 commits intomainfrom
feature/llmserving
Feb 25, 2026
Merged

Feature/llmserving#55
reiase merged 3 commits intomainfrom
feature/llmserving

Conversation

@reiase
Copy link
Contributor

@reiase reiase commented Feb 25, 2026

Overview:

Details:

Where should the reviewer start?

Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)

  • closes GitHub issue: #xxx

…strap functionality

- Added `unregister_named_actor` method in `GossipCluster` to handle actor deregistration more effectively.
- Introduced `bootstrap` function for automatic cluster formation in Ray and torchrun environments, simplifying integration.
- Updated CLI to support parameter separation using `--`, allowing for clearer distinction between actor-level options and constructor arguments.
- Enhanced documentation across multiple files to reflect new features and usage patterns, improving clarity for users.
- Refactored examples to demonstrate the new command-line argument structure and bootstrap functionality.
- Updated the `members` and `all_named_actors` methods in `PyActorSystem` to utilize `PyList` and `PyDict` for improved Python object handling and JSON serialization.
- Enhanced the structure of returned data for both methods, ensuring better compatibility with Python and clearer representation of actor attributes.
- Changed the default `scheduler_type` in the `Router` class from `stream_load` to `round_robin`, aligning with expected behavior for task scheduling.
…ation

- Updated `actor_loader.py` to support loading both Actor and @Remote classes, enhancing flexibility in actor management.
- Modified `actors.py` to differentiate between remote and Actor class instantiation, improving error handling and user feedback.
- Refactored `Router` and `VllmWorker` classes to use the @Remote decorator, streamlining method exposure and enhancing clarity in the API.
- Improved documentation across multiple files, including method descriptions and usage examples, to facilitate better understanding for users.
- Enhanced error handling in `VllmWorker` and `TransformersWorker` to provide clearer feedback on operational issues and improve robustness.

system = await init(addr=addr, seeds=seeds if seeds else None)
try:
proxy = await actor_class.spawn(

Check notice

Code scanning / CodeQL

Unused local variable Note

Variable proxy is not used.

Copilot Autofix

AI about 22 hours ago

In general, to fix an unused local variable, either remove the variable (and possibly keep only the expression if it has side effects) or rename it to something like _/unused_* if it is intentionally unused for documentation or interface reasons.

Here, the call to actor_class.spawn must still happen (it starts the remote actor), but there is no need to bind its result to proxy. The best fix, without changing behavior, is to drop the proxy = assignment and simply await actor_class.spawn(...). This keeps all side effects intact and removes the unused local variable.

Concretely, in python/pulsing/cli/actors.py, inside start_generic_actor’s inner run function, replace the proxy = await actor_class.spawn(...) call (lines 122–126) with await actor_class.spawn(...) using the same arguments. No imports or other definitions need to change.

Suggested changeset 1
python/pulsing/cli/actors.py

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/python/pulsing/cli/actors.py b/python/pulsing/cli/actors.py
--- a/python/pulsing/cli/actors.py
+++ b/python/pulsing/cli/actors.py
@@ -119,7 +119,7 @@
 
             system = await init(addr=addr, seeds=seeds if seeds else None)
             try:
-                proxy = await actor_class.spawn(
+                await actor_class.spawn(
                     name=name,
                     public=True,
                     **constructor_kwargs,
EOF
@@ -119,7 +119,7 @@

system = await init(addr=addr, seeds=seeds if seeds else None)
try:
proxy = await actor_class.spawn(
await actor_class.spawn(
name=name,
public=True,
**constructor_kwargs,
Copilot is powered by AI and may make mistakes. Always verify output.
@codecov-commenter
Copy link

Codecov Report

❌ Patch coverage is 6.97674% with 440 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
python/pulsing/serving/vllm/worker.py 0.00% 75 Missing ⚠️
python/pulsing/serving/vllm_worker.py 0.00% 75 Missing ⚠️
python/pulsing/integrations/torchrun.py 0.00% 68 Missing ⚠️
python/pulsing/bootstrap.py 20.98% 64 Missing ⚠️
python/pulsing/serving/worker.py 0.00% 45 Missing ⚠️
python/pulsing/cli/actors.py 0.00% 39 Missing ⚠️
python/pulsing/cli/__main__.py 6.45% 29 Missing ⚠️
python/pulsing/serving/router.py 0.00% 22 Missing ⚠️
python/pulsing/serving/scheduler.py 0.00% 10 Missing ⚠️
python/pulsing/core/remote.py 20.00% 8 Missing ⚠️
... and 1 more
Files with missing lines Coverage Δ
crates/pulsing-actor/src/cluster/gossip.rs 71.31% <100.00%> (+2.43%) ⬆️
crates/pulsing-actor/src/system/spawn.rs 97.89% <100.00%> (+0.02%) ⬆️
python/pulsing/integrations/ray.py 0.00% <ø> (ø)
python/pulsing/cli/actor_loader.py 18.18% <28.57%> (-5.63%) ⬇️
python/pulsing/core/remote.py 61.98% <20.00%> (-0.54%) ⬇️
python/pulsing/serving/scheduler.py 0.00% <0.00%> (ø)
python/pulsing/serving/router.py 0.00% <0.00%> (ø)
python/pulsing/cli/__main__.py 36.69% <6.45%> (-12.03%) ⬇️
python/pulsing/cli/actors.py 3.37% <0.00%> (-0.86%) ⬇️
python/pulsing/serving/worker.py 0.00% <0.00%> (ø)
... and 4 more

... and 4 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@reiase reiase merged commit 33cf758 into main Feb 25, 2026
26 checks passed
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