Nahom Zewdu

Dark
Dark

Paused; latest known package version 0.11.2

Nuvom

An open-source Python task execution framework designed around a lightweight, local-first approach to background work. Nuvom provides a task API, queue and result backends, worker execution, retries, scheduling, plugin hooks, and a CLI. Its development explored how to provide useful task-processing capabilities without requiring a Redis-backed infrastructure for the default local workflow.

Engineering highlights

  • @task, .delay(), and .schedule() APIs
  • AST-based task discovery with manifest caching
  • SQLite queue and result backend support
  • Retry and timeout configuration
  • Plugin architecture, CLI, and configuration support
  • One-off, interval, and cron scheduling
  • Automated PyPI release workflow

Implementation notes

Local-first task execution

Nuvom exposes a decorator-based task interface, allowing functions to be registered as tasks and submitted for execution through its API. The framework includes task discovery through AST-based scanning and a manifest cache, a worker execution engine, and SQLite-backed queue and result storage. Its backend design supports pluggable storage implementations rather than tying the framework to a single persistence mechanism.

The framework developed beyond basic task submission to include retry handling, timeout configuration, task metadata, execution hooks, plugin support, and a command-line interface with configuration support. It also includes one-off, interval, and cron-style scheduling. The goal was to make background task execution accessible in local development environments without requiring a separate Redis service as a default dependency.

Execution semantics and design trade-offs

Developing the execution engine required making task lifecycle behavior explicit: how tasks are discovered, queued, executed, retried, and represented through results. The project also exposed important limitations in Python's concurrency primitives. In particular, timing out a Future does not forcibly terminate the underlying running thread. A timeout at the Future interface must therefore not be confused with guaranteed cancellation of the work itself.

Nuvom reached version 0.11.2 and was published on PyPI, including its scheduling functionality. Development has since been paused. The project should be understood as a published open-source framework and an exploration of task execution design, not as a claim of exactly-once processing, distributed multi-host coordination, or production-scale fault tolerance.

Technical areas

Python · SQLite

Back to selected work