Skip to content

Add external renderProgress API endpoint#976

Open
azuer88 wants to merge 4 commits intoFormerLurker:masterfrom
azuer88:master
Open

Add external renderProgress API endpoint#976
azuer88 wants to merge 4 commits intoFormerLurker:masterfrom
azuer88:master

Conversation

@azuer88
Copy link
Copy Markdown

@azuer88 azuer88 commented Apr 11, 2026

Summary

  • Adds a /plugin/octolapse/renderProgress REST endpoint so external scripts can push rendering progress
    updates to OctoPrint's UI without polling
  • Adds get_current_rendering_job() to RenderingProcessor to expose the active job
  • Fixes C++ source paths in setup.py (sources were pointing to wrong directory)
  • Includes usage examples in examples/ (Python and Bash)

Motivation

When Octolapse renders a timelapse using an external render script, there's no way for that script to
report progress back to the UI. This endpoint allows the script to POST progress updates that are forwarded
to connected clients via WebSocket.

Test plan

  • Start a print with rendering enabled
  • During/after rendering, POST to /plugin/octolapse/renderProgress and verify progress appears in the
    UI
  • Run examples/send_render_progress.py or examples/send_render_progress.sh against a live OctoPrint
    instance

azuer88 and others added 4 commits April 11, 2026 22:32
- Add /renderProgress endpoint for external scripts to push progress updates
- Add get_current_rendering_job() to RenderingProcessor
- Fix setup.py: skip '.' in requirements, update C++ sources to data/lib/c/
- Add examples/send_render_progress.py usage example
- Add CLAUDE.md project documentation
BlueprintPlugin routes are registered at /plugin/<id>/, not /api/plugin/<id>/.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

1 participant