Author: Nahom Zewdu
Description: Lightweight, plugin-first Python task queue — no Redis required.

Skip to content

# Nuvom

> 🧠 Lightweight, plugin-first task queue for Python — no Redis, no brokers, fully Windows-compatible.

Nuvom is a developer-first background task execution engine that helps you queue, execute, and persist background jobs — without the baggage of Celery or infrastructure-heavy dependencies.

Built with clarity, speed, and extensibility in mind, Nuvom is:

- 🪟 Fully Windows-compatible — no POSIX-only dependencies
- 🔌 Plugin-first — extend queues, backends, and metrics with ease
- ⚙️ No Redis, no RabbitMQ, no Docker — just Python
- 🧠 AST-powered static discovery — no import-time magic
- 🚀 CLI-first DX — introspect jobs, retry failures, inspect task metadata
- 📦 Manifest caching — blazing-fast task resolution for workers and tooling

## Why Nuvom?

Traditional tools like Celery and RQ assume:

- Linux environments
- Redis or RabbitMQ brokers
- Complex operational setups

Nuvom throws those assumptions out the window. It's designed for:

- Solo developers or small teams who want productivity without infra.
- Plugin authors who need pluggable, testable task systems.
- Cross-platform developers (especially on Windows).
- Performance-focused workflows with static analysis, manifest caching, and real observability.

## Key Features

- `@task` decorator with `.delay()` / `.map()`
- AST-based static discovery — no imports
- Graceful retry + timeout logic
- Pluggable result and queue backends
- SQLite, file, and in-memory backends built-in
- Plugin loader with `.toml` registry
- Prometheus metrics plugin
- Job metadata, tracebacks, and historical CLI inspection
- Typed config via `.env` + Pydantic
- CLI commands to run, retry, inspect, and monitor jobs
- Compatible with Python 3.8+

## Example

    from nuvom.task import task

    @task(retries=2, retry_delay_secs=5, timeout_secs=3)
    def add(x, y):
        return x + y

    # Submit job
    job = add.delay(2, 3)
    ````

    ```bash
    nuvom runworker                # Start workers
    nuvom inspect job <job_id>    # Inspect job result and metadata

## Installation

    git clone https://github.com/nahom-zewdu/Nuvom
    cd Nuvom
    pip install -e .

## What’s Next?

- Quickstart →
- Configuration →
- CLI →
- Core Concepts →
- Plugin System →
- Architecture →
- Roadmap →
- Contributing →
- FAQ →

## License

Apache 2.0 — use it freely, build responsibly.

July 16, 2025