Observed since 20 Oct, 17:44 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
A Python client for the Absurd SQL-based durable execution workflow system
DEPRECATED: This package is deprecated and is no longer maintained. Please consider using alternative solutions for your workflow management needs.
A Python client for the Absurd SQL-based durable execution workflow system. This library provides a Python interface to interact with Absurd's PostgreSQL-based task queue and workflow engine.
pip install absurd
import psycopg
from absurd_client import AbsurdClient
# Create a client instance
client = AbsurdClient(queue_name="my_queue")
# Connect to your PostgreSQL database and spawn a task
with psycopg.connect("your_connection_string") as conn:
# Spawn a new task
task_id, run_id, workflow_run_id = client.spawn_task(
conn=conn,
task_name="process_data",
params={"input": "data"}
)
print(f"Spawned task: {task_id}")
# Claim and process tasks
claimed_tasks = client.claim_task(conn)
for task_data in claimed_tasks:
run_id, task_id, attempt, task_name, params, *_ = task_data
try:
# Process the task
result = {"processed": params}
# Mark as completed
client.complete_task(conn, run_id, result)
print(f"Task {task_id} completed successfully")
except Exception as e:
# Mark as failed
client.fail_task(conn, run_id, str(e))
print(f"Task {task_id} failed: {e}")
The highway-dsl package provides a Python-based domain-specific language for defining complex workflows that fully supports Absurd:
from highway_dsl import WorkflowBuilder, RetryPolicy
from datetime import timedelta
# Create a workflow with Highway DSL
workflow = (
WorkflowBuilder("data_pipeline")
.task("extract", "etl.extract_data", result_key="raw_data")
.task("transform", "etl.transform_data", args=["{{raw_data}}"], result_key="transformed_data")
.task("load", "etl.load_data", args=["{{transformed_data}}"])
.build()
)
# Export to YAML for use with Absurd
print(workflow.to_yaml())
The client supports the following environment variables:
ABSURD_DEFAULT_QUEUE: Default queue name (default: absurd_default)ABSURD_WORKER_ID: Default worker ID (default: absurd_worker_1)For support, please open an issue in the GitHub repository.
This package has no affiliation with the original Absurd project or its maintainers. It is an independent implementation designed to work with the Absurd system. Use at your own risk. Also this package is not approved or endorsed by the original Absurd project or its maintainers. I built this as part of HIGHWAY workflow engine, but decided not to use Absurd in the end due to various limitations and issues I encountered in its design and implementation.
pypistats · 62 observations shown. Missing days are unknown. Source category: overall: without mirrors.
| Date / source period | Value | Observed at |
|---|---|---|
| 2026-10-19 – 2026-10-19 | 2 | 2026-10-20T20:07:40.7334176Z |
| 2026-10-18 – 2026-10-18 | 3 | 2026-10-20T20:07:40.7334176Z |
| 2026-10-17 – 2026-10-17 | 1 | 2026-10-20T20:07:40.7334176Z |
| 2026-10-15 – 2026-10-15 | 1 | 2026-10-20T20:07:40.7334176Z |
| 2026-10-13 – 2026-10-13 | 4 | 2026-10-20T20:07:40.7334176Z |
| 2026-10-12 – 2026-10-12 | 2 | 2026-10-20T20:07:40.7334176Z |
| 2026-10-11 – 2026-10-11 | 8 | 2026-10-20T20:07:40.7334176Z |
| 2026-10-10 – 2026-10-10 | 3 | 2026-10-20T20:07:40.7334176Z |
| 2026-10-09 – 2026-10-09 | 5 | 2026-10-20T20:07:40.7334176Z |
| 2026-10-08 – 2026-10-08 | 9 | 2026-10-20T20:07:40.7334176Z |
| 2026-10-07 – 2026-10-07 | 6 | 2026-10-20T20:07:40.7334176Z |
| 2026-10-06 – 2026-10-06 | 15 | 2026-10-20T20:07:40.7334176Z |
| 2026-10-05 – 2026-10-05 | 2 | 2026-10-20T20:07:40.7334176Z |
| 2026-10-04 – 2026-10-04 | 10 | 2026-10-20T20:07:40.7334176Z |
| 2026-10-03 – 2026-10-03 | 2 | 2026-10-20T20:07:40.7334176Z |
| 2026-10-02 – 2026-10-02 | 1 | 2026-10-20T20:07:40.7334176Z |
| 2026-10-01 – 2026-10-01 | 1 | 2026-10-20T20:07:40.7334176Z |
| 2026-09-30 – 2026-09-30 | 5 | 2026-10-20T20:07:40.7334176Z |
| 2026-09-29 – 2026-09-29 | 3 | 2026-10-20T20:07:40.7334176Z |
| 2026-09-28 – 2026-09-28 | 10 | 2026-10-20T20:07:40.7334176Z |
| 2026-09-27 – 2026-09-27 | 5 | 2026-10-20T20:07:40.7334176Z |
| 2026-09-26 – 2026-09-26 | 4 | 2026-10-20T20:07:40.7334176Z |
| 2026-09-25 – 2026-09-25 | 5 | 2026-10-20T20:07:40.7334176Z |
| 2026-09-23 – 2026-09-23 | 1 | 2026-10-20T20:07:40.7334176Z |
| 2026-09-21 – 2026-09-21 | 2 | 2026-10-20T20:07:40.7334176Z |
| 2026-09-20 – 2026-09-20 | 1 | 2026-10-20T20:07:40.7334176Z |
| 2026-09-19 – 2026-09-19 | 2 | 2026-10-20T20:07:40.7334176Z |
| 2026-09-18 – 2026-09-18 | 15 | 2026-10-20T20:07:40.7334176Z |
| 2026-09-12 – 2026-09-12 | 1 | 2026-10-20T20:07:40.7334176Z |
| 2026-09-10 – 2026-09-10 | 1 | 2026-10-20T20:07:40.7334176Z |
| 2026-09-09 – 2026-09-09 | 2 | 2026-10-20T20:07:40.7334176Z |
| 2026-09-07 – 2026-09-07 | 2 | 2026-10-20T20:07:40.7334176Z |
| 2026-09-06 – 2026-09-06 | 10 | 2026-10-20T20:07:40.7334176Z |
| 2026-09-05 – 2026-09-05 | 1 | 2026-10-20T20:07:40.7334176Z |
| 2026-09-03 – 2026-09-03 | 1 | 2026-10-20T20:07:40.7334176Z |
| 2026-09-01 – 2026-09-01 | 3 | 2026-10-20T20:07:40.7334176Z |
| 2026-08-31 – 2026-08-31 | 2 | 2026-10-20T20:07:40.7334176Z |
| 2026-08-28 – 2026-08-28 | 1 | 2026-10-20T20:07:40.7334176Z |
| 2026-08-26 – 2026-08-26 | 10 | 2026-10-20T20:07:40.7334176Z |
| 2026-08-25 – 2026-08-25 | 1 | 2026-10-20T20:07:40.7334176Z |
| 2026-08-24 – 2026-08-24 | 18 | 2026-10-20T20:07:40.7334176Z |
| 2026-08-23 – 2026-08-23 | 3 | 2026-10-20T20:07:40.7334176Z |
| 2026-08-20 – 2026-08-20 | 1 | 2026-10-20T20:07:40.7334176Z |
| 2026-08-19 – 2026-08-19 | 8 | 2026-10-20T20:07:40.7334176Z |
| 2026-08-18 – 2026-08-18 | 54 | 2026-10-20T20:07:40.7334176Z |
| 2026-08-17 – 2026-08-17 | 10 | 2026-10-20T20:07:40.7334176Z |
| 2026-08-14 – 2026-08-14 | 5 | 2026-10-20T20:07:40.7334176Z |
| 2026-08-13 – 2026-08-13 | 2 | 2026-10-20T20:07:40.7334176Z |
| 2026-08-11 – 2026-08-11 | 1 | 2026-10-20T20:07:40.7334176Z |
| 2026-08-10 – 2026-08-10 | 2 | 2026-10-20T20:07:40.7334176Z |
| 2026-08-09 – 2026-08-09 | 5 | 2026-10-20T20:07:40.7334176Z |
| 2026-08-06 – 2026-08-06 | 1 | 2026-10-20T20:07:40.7334176Z |
| 2026-08-04 – 2026-08-04 | 9 | 2026-10-20T20:07:40.7334176Z |
| 2026-08-03 – 2026-08-03 | 12 | 2026-10-20T20:07:40.7334176Z |
| 2026-08-02 – 2026-08-02 | 3 | 2026-10-20T20:07:40.7334176Z |
| 2026-08-01 – 2026-08-01 | 1 | 2026-10-20T20:07:40.7334176Z |
| 2026-07-31 – 2026-07-31 | 2 | 2026-10-20T20:07:40.7334176Z |
| 2026-07-30 – 2026-07-30 | 1 | 2026-10-20T20:07:40.7334176Z |
| 2026-07-29 – 2026-07-29 | 1 | 2026-10-20T20:07:40.7334176Z |
| 2026-07-28 – 2026-07-28 | 1 | 2026-10-20T20:07:40.7334176Z |
| 2026-07-27 – 2026-07-27 | 2 | 2026-10-20T20:07:40.7334176Z |
| 2026-07-23 – 2026-07-23 | 3 | 2026-10-20T20:07:40.7334176Z |
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.0 | 30 Nov 2025 | 5 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 17:44 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:229a056d4c1d3a28c4f3af6d7dc26ebd47a99e82e89a9168efae46a9579433c2