Skip to content

feat(cli): Add --json to fine-tuning retrieve#272

Merged
blainekasten merged 1 commit intonextfrom
blaine/dx-294-fine-tuning-retrieve-lacks-json-mode
Feb 21, 2026
Merged

feat(cli): Add --json to fine-tuning retrieve#272
blainekasten merged 1 commit intonextfrom
blaine/dx-294-fine-tuning-retrieve-lacks-json-mode

Conversation

@blainekasten
Copy link
Contributor

image

@blainekasten blainekasten force-pushed the blaine/dx-294-fine-tuning-retrieve-lacks-json-mode branch from d3d6589 to 3c53402 Compare February 19, 2026 19:06
@blainekasten blainekasten force-pushed the blaine/dx-294-fine-tuning-retrieve-lacks-json-mode branch from 93495aa to ad41539 Compare February 20, 2026 16:43
@blainekasten blainekasten force-pushed the blaine/dx-294-fine-tuning-retrieve-lacks-json-mode branch from ad41539 to a13f51f Compare February 20, 2026 16:44
@blainekasten blainekasten merged commit b9bb6e0 into next Feb 21, 2026
9 checks passed
@stainless-app stainless-app bot mentioned this pull request Feb 21, 2026
stainless-app bot added a commit that referenced this pull request Mar 5, 2026
* fix(cli): Improve output when downloading an incomplete finetune job (#273)

* chore(cli): Improve output for `fine-tuning list` and `files list` commands (#274)

* fix(cli): Improve error output message when model/checkpoint is not provided in finetune create (#271)

* feat(cli): Add --json to `fine-tuning retrieve` (#272)

* chore(cli): Improve output for file uploads and fine-tuning create (#277)

* chore(internal): add request options to SSE classes

* codegen metadata

* chore(internal):  make `test_proxy_environment_variables` more resilient

* chore(internal): make `test_proxy_environment_variables` more resilient to env

* Allow dpo responses to have tool calls instead of content (#280)

* Allow dpo responses to have tool calls instead of content

* Rephrase required field check

* fix: use volume version metadata when updating volumes (#279)

* encode volume content version in source prefix

* use version from metadata

* lint

* format

* refactor core jig logic into a single file (#262)

* split uploader into a separate class

* inline secrets into jig

* inline volumes into jig

* simplify status format utils slightly

* inline utils into jig

* inline config into jig

* start simplifying code - use Path.read_text and more walrus

* move secret

* actually, move secrets and volumes before the main CLI

* simplify secrets slightly

* rename warm image vars

* properly use 3.9 features

* start simplifying deployment tracking

* fix some bugs and lints

* remove some dead code, fix a KeyError, factor out validate_source

* fix lints

* remove defensive hasattr checks (16338 tokens)

* generally use client = ctx.obj.beta.jig

* break out is_not_unique_error and inline handle_create in deploy

* don't set base url if it's the same as default

* no intermediate variables for building jig status message, use Path consistently

* mostly use path.read_text/write_text instead of open

* pass cache dockerfile and api key to docker via stdin

* refactor into tracker class

* use some write_text, don't mutate replica.image, use load_config_state helper

* inline jig_command decorator and draft _jig_options instead

* refactor build/push/deploy and query commands into a Jig class holding config/state. use _jig_options decorator

* reimplement handle_api_errors for jig

* add refactor todos

* UsageError for missing configs

* simplify error wrapper

* fmt + fmt set_secret

* tweak state/config loading

* Jig.jig -> Jig.api

* refactor _jig_options into _pass_jig and _print_errors

* move trivial commands out of jig class

* SystemExit -> click.exceptions.Exit, use click.BadParameter and click.UsageError more

* use same prefix pattern as handle_api_errors and add JigError

* fix print_errors

* use JigError class as appropriate

* rename _pass_jig to _jig_command and add error handling

* remove explicit ctx hints

* factor out repeated options

* import echo and Context from click

* strengthen error handling

* simplify further

setdefault for volumes before autoscaling
jig.name = jig.config.model_name
fix pyright (microsoft/pyright#10277) being dumb about fields
simplify NotFoundError checks
move set secret into jig
improve error messages
reorganize into a configure, build, deploy, track, CLI story)
refactor jig status command and make some style tweaks
simplify volumes
refactor image formatting
refactor subcommand construction
reorganize helpers
refactor revision handling
refactor submit
simplify _run
refactor dockerfile generation
remove retrieve before create checks and fix space/quote inconsistencies
use click.Path to verify upload source dir
refactor track command
inline fail_repica
why would req.json() return object instead of a json type
refactor logs
tweak emoji
inline api_base_url
move jig group from init to jig.py and make executable
show timestamps relative to now
make comments, docstrings, function names, messages more consistent
tip -> hint
refactor to make jig lazy and pass jig unconditionally, and allow interspersed --config

fix some lints

* we should probably drop reportImplicitOverride because stdlib override was added in 3.12 and we support 3.9

* update client access

* add inline deps

* use volume versions and source_prefix -> volume_prefix

* fix lints

* ready 1h not ready since 1h

* chore(ci): bump uv version

* feat: update deployments schemas to include volume versions

* fix: remove dependency from .jig.json managing setting secrets (#282)

* sync secrets from deployment

* delete volumes from state

---------

Co-authored-by: technillogue <technillogue@gmail.com>

* fix(jig): minor improvements (#283)

* fix VolumeMount default and add shebang

* sync secrets before checking them

* fix bad config merging

* feat: Add typing for completion responses related to logprobs

* codegen metadata

* codegen metadata

* feat: Update training type for price estimation too

* feat: Another try

* fix: jig autoscaling config should be nullable (#286)

* fix: jig autoscaling config should be nullable

* chore(jig): correct comment

* fix(jig): submit --watch fail

* fix: correct jig validate function

---------

Co-authored-by: technillogue <technillogue@gmail.com>

* Add wandb entity to finetuning requests (#284)

* Add wandb entity to finetuning requests

* Fixes

* chore(test): do not count install time for mock server timeout

* Remove setting Training Type defaults for Fine-tuning Jobs on Python SDK and CLI (#285)

* feat: adjust continue fine-tuning (lora optional)

* add comments

* fix

* fix linter

* fix test

* release: 2.3.0

---------

Co-authored-by: Blaine Kasten <blainekasten@gmail.com>
Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
Co-authored-by: Conner Manuel <57027354+connermanuel@users.noreply.github.com>
Co-authored-by: Rasul Nabiyev <dev.rasul.nabiyev@gmail.com>
Co-authored-by: technillogue <technillogue@gmail.com>
Co-authored-by: Dulaj Disanayaka <8828757+dulaj-me@users.noreply.github.com>
Co-authored-by: Egor Timofeev <43988181+timofeev1995@users.noreply.github.com>
Co-authored-by: Artem Chumachenko <artek.chumak@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants