Skip to content

Getting Started

Functualize is a Python framework for building structured, discoverable job pipelines. You write job functions — functualize handles discovery, configuration, execution, and delivery.

This section takes you from zero to running jobs in minutes, then shows how to scale up to full production projects.

Choose your starting point

  • Just run a script


    Write a function, run it with func. No project setup needed.

    func jobs.py deploy
    

    Quickstart — Single File

  • Multi-job project


    Keep job files in a jobs/ directory declared in pyproject.toml. Auto-discovery registers every public function.

    [tool.functualize]
    jobs_directories = ["jobs"]
    
    func deploy
    

    Quickstart — Directory Mode

  • Full framework project


    Scaffold a complete project with config, plugins, and a named CLI.

    func builtin scaffold init my-app
    

    Quickstart — Full Project

  1. Installation — Install functualize and the func CLI
  2. Quickstart — Run your first job, then graduate to projects
  3. Project Structure — Understand the layout, imports, and presets

What you need

  • Python 3.11+
  • pip install "functualize[cli]" or uv add functualize (add [cli] extras when you need the CLI)

That's it. No configuration files, no project structure — you can start with a single .py file.

After the basics

Once you're running jobs, explore the Guides for:

  • Configuration — Layered config with presets (classic, twelve_factor, env_only)
  • Jobs & Discovery — How auto-discovery works
  • Plugins — Extending functualize with custom providers
  • Architecture — How the framework is structured internally