Skip to content

⚙️ FEATURE-#239: Implement Server provider for remote API communication#240

Merged
FernandoCelmer merged 24 commits intodevelopfrom
feature/239
Apr 11, 2026
Merged

⚙️ FEATURE-#239: Implement Server provider for remote API communication#240
FernandoCelmer merged 24 commits intodevelopfrom
feature/239

Conversation

@FernandoCelmer
Copy link
Copy Markdown
Member

@FernandoCelmer FernandoCelmer commented Apr 10, 2026

Description

  • dotflow/abc/server.py — New Server ABC with create_workflow, update_workflow, create_task, update_task
  • dotflow/providers/server_default.pyServerDefault HTTP client for dotflow-api
  • dotflow/core/config.py — Integrated server param, removed api
  • dotflow/core/dotflow.py — Hook server.create_workflow on init
  • dotflow/core/task.py — Hook server.create_task on init, server.update_task on status change (non-blocking for intermediate, synchronous for final)
  • dotflow/core/engine.py — Set started_at/finished_at timestamps
  • dotflow/core/workflow.py — Hook server.update_workflow on start (In progress) and finish (Completed/Failed)
  • dotflow/core/types/workflow.py — Added FAILED status to WorkflowStatus
  • dotflow/core/serializers/task.py — Refactored: remove double-parse, add computed_field error, add datetime fields, fix type hints
  • dotflow/core/serializers/workflow.py — Simplified (removed custom model_dump_json)
  • dotflow/core/serializers/transport.py — Fixed typo resourcecset_resource
  • dotflow/providers/__init__.py — Export ServerDefault
  • dotflow/abc/api.py — Removed (deprecated)
  • dotflow/providers/api_default.py — Removed (deprecated)
  • tests/providers/test_server_default.py — Tests for ServerDefault
  • tests/core/test_config.py — Updated for server provider
  • tests/core/test_task.py — Updated for datetime fields
  • tests/core/test_task_build.py — Updated for datetime fields
  • docs_src/server/ — 3 usage examples
  • README.md — Server provider documentation

Motivation and Context

The dotflow lib needed a proper provider to send real-time execution data (workflow status, task status, errors, duration, context) to a remote server like dotflow-api. The existing Api/ApiDefault was incomplete (most methods were no-ops).

Closes #239

Types of changes

  • New feature (change which adds functionality)
  • Documentation

Checklist

  • I have performed a self-review of my own code
  • I have added tests that prove my fix is effective or that my feature works
  • I have updated the documentation accordingly

@FernandoCelmer FernandoCelmer added enhancement New feature or request documentation Improvements or additions to documentation labels Apr 10, 2026
@FernandoCelmer FernandoCelmer merged commit dc550fa into develop Apr 11, 2026
10 checks passed
@FernandoCelmer FernandoCelmer deleted the feature/239 branch April 11, 2026 02:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant