Skip to content

Latest commit

 

History

History
618 lines (479 loc) · 18 KB

File metadata and controls

618 lines (479 loc) · 18 KB

Command reference

Every da command and flag, generated from build_parser() in the dacli package (version 0.1.1).

For settings that live in a config file rather than on the command line, see configuration. For what each exit code means, see exit codes.

da

usage: da [-h] [--version] [-v | -q] [--color {auto,always,never}]
          [--config PATH]
          {auth,whoami,refresh,config,sync,search,user,deviation,daily,index,diagnose,bench,watch} ...

DeviantArt CLI

positional arguments:
  {auth,whoami,refresh,config,sync,search,user,deviation,daily,index,diagnose,bench,watch}
    auth                      OAuth 2.1 PKCE flow / log out
    whoami                    Verify token + show identity
    refresh                   Force-refresh the access token
    config                    Manage configuration
    sync                      Sync DA content into the local destination
    search                    Search/browse DA content
    user                      User-related queries
    deviation                 Deviation-level queries
    daily                     DA Daily Deviation picks for a date
    index                     Manage the synced-deviation index (powers fast
                              incremental sync)
    diagnose                  End-to-end self-test: config, auth, scope,
                              destination, index, last sync, schedule. Exits 0
                              if all OK, 1 on warnings, 2 on critical.
    bench                     Run a synthetic sync benchmark against a fully
                              mocked HTTP layer to measure CLI overhead. No
                              network. Useful for perf regression checks.
    watch                     Your watch list

options:
  -h, --help                  show this help message and exit
  --version                   show program's version number and exit
  -v, --verbose               Emit debug-level log lines (HTTP retry traces,
                              internal decisions).
  -q, --quiet                 Suppress info-level output; only warn and error
                              reach the log. Cron / launchd-friendly.
  --color {auto,always,never}
                              Color output for warn/error markers. 'auto'
                              (default) enables color on a TTY that doesn't
                              set NO_COLOR; 'never' forces plain; 'always'
                              forces color even when piped.
  --config PATH               Override the config file path (default:
                              $XDG_CONFIG_HOME/da-cli/config.json or
                              ~/.config/da-cli/config.json). This moves the
                              config file only — tokens, the sync checkpoint
                              and the index stay where they are. For a fully
                              separate second account, set XDG_CONFIG_HOME and
                              XDG_STATE_HOME instead.

da auth

usage: da auth [-h] [--redirect-uri REDIRECT_URI] [--paste] [--scope SCOPE]
               {logout,status} ...

positional arguments:
  {logout,status}
    logout                    Delete local token state
    status                    Print JSON describing the refresh_token chain's
                              remaining lifetime, having first confirmed with
                              DeviantArt that the credentials still work.
                              Exits 0 (ok), 1 (warn), or 2
                              (crit/unknown/revoked/unreachable). Suitable for
                              cron / launchd health checks. Use `da diagnose`
                              for a TTL reading without network.

options:
  -h, --help                  show this help message and exit
  --redirect-uri REDIRECT_URI
                              OAuth redirect URI. Loopback
                              (http://localhost:PORT/) runs a local listener;
                              anything else uses paste-back mode (DA now
                              requires HTTPS for non-localhost). Must be
                              whitelisted on the OAuth app.
  --paste                     Force paste-back flow even for a loopback
                              redirect_uri.
  --scope SCOPE

da auth logout

usage: da auth logout [-h]

options:
  -h, --help  show this help message and exit

da auth status

usage: da auth status [-h]

options:
  -h, --help  show this help message and exit

da whoami

usage: da whoami [-h]

options:
  -h, --help  show this help message and exit

da refresh

usage: da refresh [-h]

options:
  -h, --help  show this help message and exit

da config

usage: da config [-h] {show,path,set,get,unset} ...

positional arguments:
  {show,path,set,get,unset}
    show                     Print config (secrets masked)
    path                     Print config + state file paths
    set                      Set a config field
    get                      Read a config field (secrets masked)
    unset                    Remove a config field

options:
  -h, --help                 show this help message and exit

da config show

usage: da config show [-h]

options:
  -h, --help  show this help message and exit

da config path

usage: da config path [-h]

options:
  -h, --help  show this help message and exit

da config set

usage: da config set [-h] key value

positional arguments:
  key
  value

options:
  -h, --help  show this help message and exit

da config get

usage: da config get [-h] [--unmask] key

positional arguments:
  key

options:
  -h, --help  show this help message and exit
  --unmask    Print secrets in plaintext (don't pipe to logs / shared
              terminals)

da config unset

usage: da config unset [-h] key

positional arguments:
  key

options:
  -h, --help  show this help message and exit

da sync

usage: da sync [-h] {feed,artist,watched} ...

positional arguments:
  {feed,artist,watched}
    feed                 Walk watch feed top-down (incremental)
    artist               Walk a single artist's gallery
    watched              Walk every watched user's gallery

options:
  -h, --help             show this help message and exit

da sync feed

usage: da sync feed [-h] [--limit LIMIT] [--mature | --no-mature]
                    [--time-budget SECONDS] [--delay-api DELAY_API]
                    [--delay-image DELAY_IMAGE] [--jitter JITTER]
                    [--concurrency CONCURRENCY] [--dry-run]

options:
  -h, --help                 show this help message and exit
  --limit LIMIT
  --mature, --no-mature
  --time-budget SECONDS      Wall-clock cap for the whole walk (default: 540).
                             The walk stops cleanly a few seconds early so the
                             page in flight can finish. A run cut short here
                             does not advance the checkpoint, and `da
                             diagnose` reports it as a warning rather than a
                             clean sync.
  --delay-api DELAY_API
  --delay-image DELAY_IMAGE
  --jitter JITTER            Randomise each sleep by ±PCT of base (0-0.95).
                             0.4 makes a 1.5s base sleep 0.9-2.1s. Default 0
                             (off).
  --concurrency CONCURRENCY  Parallel image-download workers per page. Default
                             4, max 16. 1 disables concurrency.
  --dry-run                  Report what would be downloaded without writing
                             any files or touching the index. Useful for
                             previewing a first-time sync or auditing what
                             --full would refetch.

da sync artist

usage: da sync artist [-h] [--offset N] [--limit LIMIT]
                      [--mature | --no-mature] [--time-budget SECONDS]
                      [--delay-api DELAY_API] [--delay-image DELAY_IMAGE]
                      [--full] [--jitter JITTER] [--concurrency CONCURRENCY]
                      [--dry-run]
                      artist

positional arguments:
  artist

options:
  -h, --help                 show this help message and exit
  --offset N                 Start at this page offset. Omit to continue from
                             where the last unfinished walk of this gallery
                             stopped.
  --limit LIMIT
  --mature, --no-mature
  --time-budget SECONDS      Wall-clock cap for this gallery walk (default:
                             540). On a truncated run the resume offset is
                             printed and recorded.
  --delay-api DELAY_API
  --delay-image DELAY_IMAGE
  --full                     Disable the synced-index early-stop and walk the
                             entire gallery. Use this if you suspect missed
                             deviations or have rotated content.
  --jitter JITTER            Randomise each sleep by ±PCT (0-0.95). Default 0.
  --concurrency CONCURRENCY  Parallel image-download workers per page. Default
                             4, max 16.
  --dry-run                  Report what would be downloaded without writing
                             any files.

da sync watched

usage: da sync watched [-h] [--user USER | --via-feed] [--feed-max FEED_MAX]
                       [--mature | --no-mature] [--time-budget SECONDS]
                       [--delay-api DELAY_API] [--delay-image DELAY_IMAGE]
                       [--full] [--jitter JITTER] [--concurrency CONCURRENCY]
                       [--dry-run]

options:
  -h, --help                 show this help message and exit
  --user USER                Skip /user/whoami and use this username for
                             /user/friends/{user} (needs `user` scope;
                             otherwise the feed fallback is used)
  --via-feed                 Skip the friends endpoint entirely and discover
                             artists by walking the watch feed (works with
                             `browse` scope alone, but may miss watched users
                             who haven't posted recently)
  --feed-max FEED_MAX        Cap on deviations to scan when discovering via
                             feed (default 2000)
  --mature, --no-mature
  --time-budget SECONDS      Wall-clock cap for the ENTIRE run across all
                             artists (default: 540) — not per artist. Each
                             artist is given whatever remains; once too little
                             is left to be useful the rest are skipped and the
                             run is recorded as truncated. Re-run to continue.
  --delay-api DELAY_API
  --delay-image DELAY_IMAGE
  --full                     Disable per-artist early-stop. Walks every page
                             of every watched artist's gallery. Slow; use only
                             for paranoid backfills.
  --jitter JITTER            Randomise each sleep by ±PCT (0-0.95). Default 0.
  --concurrency CONCURRENCY  Parallel image-download workers per page. Default
                             4, max 16.
  --dry-run                  Report what would be downloaded without writing
                             any files.

da search

usage: da search [-h]
                 {popular,newest,tag,user,topic,topics,toptopics,tag-suggest} ...

positional arguments:
  {popular,newest,tag,user,topic,topics,toptopics,tag-suggest}
    topic                     Fetch deviations from a curated DA topic (e.g.
                              digitalart, nature, fantasy, animals). Use
                              `search topics` to list valid names.
    topics                    List all DA topics (paginated)
    toptopics                 Fetch top topics with one example deviation each
    tag-suggest               Autocomplete a tag prefix — validate before
                              searching

options:
  -h, --help                  show this help message and exit

da search popular

usage: da search popular [-h] [--limit LIMIT] [--mature] [--json]

options:
  -h, --help     show this help message and exit
  --limit LIMIT
  --mature
  --json         Emit raw JSON (deviationid + content URL + description)
                 instead of summary lines

da search newest

usage: da search newest [-h] [--limit LIMIT] [--mature] [--json]

options:
  -h, --help     show this help message and exit
  --limit LIMIT
  --mature
  --json         Emit raw JSON (deviationid + content URL + description)
                 instead of summary lines

da search tag

usage: da search tag [-h] [--limit LIMIT] [--mature] [--json] tag

positional arguments:
  tag

options:
  -h, --help     show this help message and exit
  --limit LIMIT
  --mature
  --json         Emit raw JSON (deviationid + content URL + description)
                 instead of summary lines

da search user

usage: da search user [-h] [--json] query [query ...]

positional arguments:
  query

options:
  -h, --help  show this help message and exit
  --json      Emit raw JSON (deviationid + content URL + description) instead
              of summary lines

da search topic

usage: da search topic [-h] [--limit LIMIT] [--mature] [--json] topic

positional arguments:
  topic          canonical topic name (lowercase, single token)

options:
  -h, --help     show this help message and exit
  --limit LIMIT
  --mature
  --json         Emit raw JSON (deviationid + content URL + description)
                 instead of summary lines

da search topics

usage: da search topics [-h] [--limit LIMIT] [--offset OFFSET] [--mature]
                        [--json]

options:
  -h, --help       show this help message and exit
  --limit LIMIT
  --offset OFFSET
  --mature
  --json           Emit raw JSON (deviationid + content URL + description)
                   instead of summary lines

da search toptopics

usage: da search toptopics [-h] [--mature] [--json]

options:
  -h, --help  show this help message and exit
  --mature
  --json      Emit raw JSON (deviationid + content URL + description) instead
              of summary lines

da search tag-suggest

usage: da search tag-suggest [-h] [--json] prefix

positional arguments:
  prefix

options:
  -h, --help  show this help message and exit
  --json      Emit raw JSON (deviationid + content URL + description) instead
              of summary lines

da user

usage: da user [-h] {profile} ...

positional arguments:
  {profile}

options:
  -h, --help  show this help message and exit

da user profile

usage: da user profile [-h] username

positional arguments:
  username

options:
  -h, --help  show this help message and exit

da deviation

usage: da deviation [-h] {show,morelikethis} ...

positional arguments:
  {show,morelikethis}
    show               Print metadata for a single deviation
    morelikethis       Fetch DA's 'More Like This' suggestions for a seed
                       deviation

options:
  -h, --help           show this help message and exit

da deviation show

usage: da deviation show [-h] [--json] deviationid

positional arguments:
  deviationid

options:
  -h, --help   show this help message and exit
  --json       Emit raw JSON instead of a summary

da deviation morelikethis

usage: da deviation morelikethis [-h] [--limit LIMIT] [--mature] [--json]
                                 deviationid

positional arguments:
  deviationid    seed deviation UUID

options:
  -h, --help     show this help message and exit
  --limit LIMIT  max items per group (artist / DA)
  --mature
  --json         Emit raw JSON (deviationid + content URL + description)
                 instead of summary lines

da daily

usage: da daily [-h] [--mature] [--json] [date]

positional arguments:
  date        YYYY-MM-DD; default today

options:
  -h, --help  show this help message and exit
  --mature
  --json      Emit raw JSON (deviationid + content URL + description) instead
              of summary lines

da index

usage: da index [-h] {rebuild,show} ...

positional arguments:
  {rebuild,show}
    rebuild       Walk the destination and rebuild the index from existing
                  files. Idempotent — safe to re-run.
    show          Print index stats (total rows, top artists, db size)

options:
  -h, --help      show this help message and exit

da index rebuild

usage: da index rebuild [-h]

options:
  -h, --help  show this help message and exit

da index show

usage: da index show [-h]

options:
  -h, --help  show this help message and exit

da diagnose

usage: da diagnose [-h] [--json]

options:
  -h, --help  show this help message and exit
  --json      Emit machine-readable JSON instead of the human-readable report.
              Schema: {timestamp, overall: {status, warnings, criticals},
              findings: [{level, section, message}], exit_code}.

da bench

usage: da bench [-h] [--pages PAGES] [--per-page PER_PAGE]
                [--concurrency CONCURRENCY] [--json]

options:
  -h, --help                 show this help message and exit
  --pages PAGES              Pages of synthetic feed (default 10)
  --per-page PER_PAGE        Deviations per page (default 24, DA's gallery
                             cap)
  --concurrency CONCURRENCY  Image-download workers per page (default 4)
  --json                     Emit JSON instead of the summary table

da watch

usage: da watch [-h] {list} ...

positional arguments:
  {list}

options:
  -h, --help  show this help message and exit

da watch list

usage: da watch list [-h] [--limit LIMIT] [--offset OFFSET]

options:
  -h, --help       show this help message and exit
  --limit LIMIT
  --offset OFFSET