Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.baseten.co/llms.txt

Use this file to discover all available pages before exploring further.

truss chains [OPTIONS] COMMAND [ARGS]...
CommandDescription
initInitialize a Chain project
pushDeploy a Chain
watchLive reload development

init

Initialize a Chain project.
truss chains init [OPTIONS] [DIRECTORY]

Arguments

DIRECTORY
PATH
Path to a new or empty directory for the Chain. Defaults to the current directory if omitted.

Options

}
--log
humanfriendly | W | WARNING | I | INFO | D | DEBUG
default:"humanfriendly"
Logging verbosity. humanfriendly (default) is pretty-printed; INFO, DEBUG, WARNING produce structured logs.
--non-interactive
Disable interactive prompts. Use in CI/automated contexts where stdin isn’t a TTY.
Example: To create a new Chain project in a directory called my-chain, use the following:
truss chains init my-chain

push

Deploy a Chain.
truss chains push [OPTIONS] SOURCE [ENTRYPOINT]

Arguments

SOURCE
PATH
required
Path to a Python file that contains the entrypoint chainlet.
ENTRYPOINT
TEXT
Class name of the entrypoint chainlet. If omitted, the chainlet tagged with @chains.mark_entrypoint is used.

Options

}
--name
TEXT
Name of the Chain to deploy. If not given, the entrypoint name is used.
--publish / --no-publish
deprecated
Published deployments are now the default. Use --watch for development deployments instead.
--promote / --no-promote
Promote newly deployed chainlets into production.
--environment
TEXT
Deploy the Chain as a published deployment to the specified environment. When specified, publish is implied and --promote is ignored.
--wait / --no-wait
Wait until all chainlets are ready (or deployment fails).
--watch / --no-watch
Watch the Chains source code and apply live patches. Implies --wait — the command waits for the Chain to be deployed before starting to watch for changes. Requires a development deployment.
--dryrun
Produce only generated files; don’t deploy anything.
--remote
TEXT
Name of the remote in .trussrc to push to.
--experimental-watch-chainlet-names
TEXT
Run watch, but only apply patches to specified chainlets. Pass a comma-separated list of chainlet display names. Faster dev loops, but may lead to inconsistent deployments. Use with caution and refer to the chain watch documentation.
--include-git-info
Attach git versioning info (sha, branch, tag) to deployments made from within a git repo. Can also be set permanently in .trussrc.
--disable-chain-download
Disable downloading of pushed Chain source code from the UI.
--deployment-name
TEXT
Name of the deployment created by the push. Can be used with --promote.
--team
TEXT
Name of the team to deploy to. If not specified, Truss infers the team based on your team membership and existing chains, or prompts for selection when ambiguous.
The --team flag is only available if your organization has teams enabled. Contact us to enable teams, or see Teams for more information.
--log
humanfriendly | W | WARNING | I | INFO | D | DEBUG
default:"humanfriendly"
Logging verbosity. humanfriendly (default) is pretty-printed; INFO, DEBUG, WARNING produce structured logs.
--non-interactive
Disable interactive prompts. Use in CI/automated contexts where stdin isn’t a TTY.
Example: To deploy a Chain as a published deployment:
truss chains push my_chain.py
To create a development deployment and start watching for changes:
truss chains push my_chain.py --watch
To deploy and promote to production:
truss chains push my_chain.py --promote
To deploy to a specific team:
truss chains push my_chain.py --team my-team-name

watch

Live reload development.
truss chains watch [OPTIONS] SOURCE [ENTRYPOINT]

Arguments

SOURCE
PATH
required
Path to a Python file containing the entrypoint chainlet.
ENTRYPOINT
TEXT
Class name of the entrypoint chainlet. If omitted, the chainlet tagged with @chains.mark_entrypoint is used.

Options

}
--name
TEXT
Name of the Chain to watch. If not given, the entrypoint name is used.
--remote
TEXT
Name of the remote in .trussrc to push to.
--experimental-chainlet-names
TEXT
Run watch, but only apply patches to specified chainlets. Pass a comma-separated list of chainlet display names. Faster dev loops, but may lead to inconsistent deployments. Use with caution and refer to the chain watch documentation.
--team
TEXT
Name of the team for the Chain to watch. If not specified, Truss infers the team based on your team membership and existing chains, or prompts for selection when ambiguous.
The --team flag is only available if your organization has teams enabled. Contact us to enable teams, or see Teams for more information.
--log
humanfriendly | W | WARNING | I | INFO | D | DEBUG
default:"humanfriendly"
Logging verbosity. humanfriendly (default) is pretty-printed; INFO, DEBUG, WARNING produce structured logs.
--non-interactive
Disable interactive prompts. Use in CI/automated contexts where stdin isn’t a TTY.
Example: To watch a Chain for live reload during development, use the following:
truss chains watch my_chain.py