Download binaries below or see README for install
Highlights
New commands
baseten train: full training surface, includinginit,push,project list,job list|describe|logs|metrics|stop|recreate|update|download,checkpoint list|files|deploy,capacity describe|update,workstation create,session describe, andcache describe.baseten loops:run create|list|describe|deactivate|logs,checkpoint list|files|deploy, andusagefor GPU capacity.baseten model image buildandbaseten model image prepare: build a local Docker image from a model directory, or write out just the build context.baseten model-api usage: workspace Model APIs token usage in time buckets, with--bucket-width,--group-by, and filters for API key prefix, user, and model.baseten org audit-logsandbaseten model audit-logs: list audit-log entries for the workspace or a single model.baseten model deployment rename,update-autoscaling, andupdate-request-backpressure.baseten model environment update-autoscaling,update-promotion, andupdate-request-backpressure.baseten model environment autoscaling-schedule:create,delete,list,update, andupdate-settings.
Command updates
baseten model pushaccepts--regionto pick the deployment region.baseten org api-key create --typeacceptsworkspace-manage-api-keys.baseten trussgains--truss-version,--truss-executable, and--truss-no-forward-auth, and forwards this CLI's credentials to truss so it uses the same profile without reading your trussrc.- Settings commands take unset-aware flags: only the flags you pass are changed, and nullable ones such as
--policyacceptnullto clear a value. - Log commands with
--tailemit each poll batch oldest-first, so streamed output stays in chronological order. baseten model pushprints its summary before starting--watch,--tail, or--wait.- Model pushes and deployment patches now handle symlinks consistently: links resolving inside the model directory are archived, and links pointing outside it are rejected.
- A redirected stdin such as
/dev/nullis no longer treated as a terminal, so commands fail cleanly instead of prompting in non-interactive environments.
Backwards incompatible changes
baseten trussno longer runs a truss found onPATH. It fetches and runs truss throughuv tool run, souvmust be installed; pass--truss-executable(for example.venv/bin/truss) to run a specific truss, which is also required for truss commands that import your own Python code, such aschains push.
What's Changed
- Add Homebrew upgrade instructions and bump README download URLs to v0.3.0 by @cretz in #40
- Add development re-push coverage to model watch e2e test by @cretz in #41
- Skip S3 upload on model push when prepare returns no S3 key by @cretz in #43
- Add model image build and prepare commands by @cretz in #44
- Add org and model audit-logs commands by @cretz in #42
- Scope ssh jwt cache by credential by @cretz in #48
- Print model push summary before watch/tail/wait by @cretz in #49
- Add loops commands by @cretz in #50
- Add train commands by @cretz in #51
- Support the workspace-manage-api-keys API key type by @cretz in #53
- Push models through the baseten-go PushModel helper by @cretz in #54
- Emit each --tail poll batch oldest-first by @cretz in #59
- Add truss-delegating train and loops commands by @cretz in #57
- Don't treat /dev/null stdin as a terminal by @cretz in #60
- Add model-api usage command by @cretz in #58
- Add --region to model push by @cretz in #62
- Handle symlinks in patch points via the shared archive walk by @cretz in #63
- Add deployment and environment settings commands by @cretz in #66
Full Changelog: v0.3.0...v0.4.0