# orca.command

> A module of Orca's API.

The `orca` command: the scheduler, the UI and registration, in a binary that links no pipeline. A project builds its own from two lines:

from orca.command import orca_command

    def main() raises:
        orca_command()

Its commands:

    pixi run orca
    ./build/orca locate ./build/taxi --root .   # taxi.source.json, for the UI's links
    ./build/orca register ./build/taxi [...]
    ./build/orca backfill taxi 2011-01..2024-12
    ./build/orca backfill --rerun taxi 2024-03     # again, though it succeeded
    ./build/orca tick
    ./build/orca scheduler
    ./build/orca ui                 # http://127.0.0.1:8270, or ORCA_UI_ADDR
    ./build/orca lineage lake.report [<snapshot>]
    ./build/orca rebuild raw.events 2024-03

Needs `ORCA_DATABASE_URL`. See `orca.scheduler` for what a tick does, and
`orca.ui` for the pages, `orca.lineage` for what `lineage` prints, and
`orca.sensors` for what `rebuild` plans.
Exit codes: 0, 2 for a usage error, 3 for any other error.

## Functions

### `orca_command`

```mojo
def orca_command()
```

The `orca` command: reads the command line, runs it, and exits with its code. A project's own `orca` binary is a `main` calling this.

## Aliases

### `USAGE`

```mojo
comptime USAGE = "usage:\n  orca locate <pipeline binary> [...] [--root <dir>]\n  orca aws up|push|register|app|status|down ...   (orca aws for more)\n  orca register [--image <image>] [--head-type T] [--worker-type T]\n                [--workers N|MIN..MAX] [--spot] [--secret NAME=ID ...]\n                <pipeline binary> [...]\n  orca backfill [--rerun] <pipeline> KEY[..KEY][,...]\n                (keyed: NAME[,...]|@all|@file:<path>; --rerun: done ones too)\n  orca tick\n  orca scheduler\n  orca ui\n  orca lineage <dataset> [<snapshot>]\n  orca rebuild <dataset> KEY[..KEY][,...]\n  orca user add|remove <name>       (add reads the password from stdin)\n  orca user list"
```
