Skip to content

Commit bfb1918

Browse files
stainless-app[bot]narasulblainekastenartek0chumaktechnillogue
authored
release: 2.2.0 (#258)
* chore: format all `api.md` files * codegen metadata * feat: Update descriptions for endpoints * chore: Better jig deployment progress (#242) * chore: Fix various docstrings * feat: Improve file uploads and FT create flows with checksums (#253) * Update README.md (#245) * Add from_checkpoint parameter to price estimation for FT Job creation (#247) * codegen metadata * codegen metadata * codegen metadata * jig papercuts (#238) * feat(jig): show a unique name tip when deployment create fails * feat(jig): factor out config_path option and add short flag * feat: jig support for multi deployment * codegen metadata * chore: Update descriptions for jig queue methods and properties * chore(internal): bump dependencies * Allow tool calls through together-py and remove alternating roles check (#244) * Update README.md (#245) * Add from_checkpoint parameter to price estimation for FT Job creation (#247) * codegen metadata * codegen metadata * codegen metadata * Allow tool calls through together-py and remove outdated checks * Remove outdated tests * lint * Enforce that either content or tool calls exists * Skip for empty content * Condition field checks on role --------- Co-authored-by: Blaine Kasten <blainekasten@gmail.com> Co-authored-by: Artem Chumachenko <artek.chumak@gmail.com> Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com> * make submit --watch signal status through exit code * fix(cli): fine-tuning retrieve now renders data instead of schema (#250) * fix(jig): lint errors * fix(jig): migrate old state files properly and be even more defensive about parsing deploy errors * fix(jig): pyright does not handle isinstance type narrowing in ternary expressions. also fix migration logic * format code * Feat: Allow uploading local file during fine tuning create call in the CLI * cleanup * Add support for validation_file * fix lint --------- Co-authored-by: Artem Chumachenko <artek.chumak@gmail.com> Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com> Co-authored-by: technillogue <technillogue@gmail.com> Co-authored-by: Mohamad Rostami <mbrostami@proton.me> Co-authored-by: Conner Manuel <57027354+connermanuel@users.noreply.github.com> * jig formatted status (#249) * feat(jig): Format jig status - chore(jig): typing fix - chore(jig): minor improvements to status - fix(jig): status formatter use Typed models - fix(jig): reformat app status - fix(jig): wip: reformat config status - fix(jig): add env to config status - fix(jig): replica event status - fix(jig): remove unused age func - fix(jig): simplify and condense status message - fix(jig): only show 'ready since' for running replicas - fix: fixed replica event grouping and image tag split - fix: Fix minor status errors - fix(jig): show replica_id instead of revision_id for replica events in jig status * minor mypy type error * chore: format_deployment_status(deployment) -> format_deployment_status(d) * fix(jig): profile -> metric, targetValue -> target --------- Co-authored-by: technillogue <technillogue@gmail.com> * chore: Add documentation and changelog to project.urls (#264) * chore: Remove broken field LineCount from FileResponse * chore: Remove line_count field from files sdks/clis (#265) * codegen metadata * fix(cli): fine-tuning create regression (#270) * feat(cli): Add json mode to `fine-tuning list --json` (#269) * chore: Refactor argument options with CLI file downloads (#267) * chore(cli): Improve messaging when attempting to cancel finetune that is not cancellable (#268) * chore: format files (#266) * chore: format files * check format in CI * run lint * chore: configure new SDK language * chore: Revert adding mcp code. Code additions were unexpected. * chore: update mock server docs * release: 2.2.0 --------- Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com> Co-authored-by: Rasul Nabiyev <dev.rasul.nabiyev@gmail.com> Co-authored-by: Blaine Kasten <blainekasten@gmail.com> Co-authored-by: Artem Chumachenko <artek.chumak@gmail.com> Co-authored-by: technillogue <technillogue@gmail.com> Co-authored-by: Mohamad Rostami <mbrostami@proton.me> Co-authored-by: Conner Manuel <57027354+connermanuel@users.noreply.github.com> Co-authored-by: Dulaj Disanayaka <8828757+dulaj-me@users.noreply.github.com>
1 parent 9b871ab commit bfb1918

77 files changed

Lines changed: 1004 additions & 197 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ jobs:
3030
- name: Run lints
3131
run: ./scripts/lint
3232

33+
- name: Run formatting
34+
run: uv run ruff format --check
35+
3336
build:
3437
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
3538
timeout-minutes: 10

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "2.1.1"
2+
".": "2.2.0"
33
}

.stats.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 74
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/togetherai%2Ftogetherai-af83378ff78b22014ab7358ae8aa060cc25e4b818e798f2e09d6deb1226e0ba6.yml
3-
openapi_spec_hash: 113f84b407b43bd991ee6d1afb6efb49
4-
config_hash: 67b76d1064bef2e591cadf50de08ad19
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/togetherai%2Ftogetherai-da5b9df3bfe0d31a76c91444c9eba060ad607d7d5a4e7483c5cc3fe2cac0f25e.yml
3+
openapi_spec_hash: 7efd2ae2111f3a9bf190485828a13252
4+
config_hash: b66198d27b4d5c152688ff6cccfdeab5

CHANGELOG.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,36 @@
11
# Changelog
22

3+
## 2.2.0 (2026-02-19)
4+
5+
Full Changelog: [v2.1.1...v2.2.0](https://github.com/togethercomputer/together-py/compare/v2.1.1...v2.2.0)
6+
7+
### Features
8+
9+
* **cli:** Add json mode to `fine-tuning list --json` ([#269](https://github.com/togethercomputer/together-py/issues/269)) ([13d3551](https://github.com/togethercomputer/together-py/commit/13d35511bb039b3053ecf3e7a90c04e2e2d91237))
10+
* Improve file uploads and FT create flows with checksums ([#253](https://github.com/togethercomputer/together-py/issues/253)) ([3095b9a](https://github.com/togethercomputer/together-py/commit/3095b9af2ba564cefe6b64a7ee65450aacfbfa4c))
11+
* Update descriptions for endpoints ([70900c6](https://github.com/togethercomputer/together-py/commit/70900c6da2e8f60bfd0f70a5497cf41c18008ee5))
12+
13+
14+
### Bug Fixes
15+
16+
* **cli:** fine-tuning create regression ([#270](https://github.com/togethercomputer/together-py/issues/270)) ([59d0c33](https://github.com/togethercomputer/together-py/commit/59d0c3399643c42e1c6ee9cf74c70aa99104218c))
17+
18+
19+
### Chores
20+
21+
* Add documentation and changelog to project.urls ([#264](https://github.com/togethercomputer/together-py/issues/264)) ([7b9e574](https://github.com/togethercomputer/together-py/commit/7b9e5749e448042f548a0fbcd5db5ff5bfbb99d7))
22+
* Better jig deployment progress ([#242](https://github.com/togethercomputer/together-py/issues/242)) ([ba9c50a](https://github.com/togethercomputer/together-py/commit/ba9c50a8b9855ec95e871525a33932e46f470379))
23+
* **cli:** Improve messaging when attempting to cancel finetune that is not cancellable ([#268](https://github.com/togethercomputer/together-py/issues/268)) ([6502acc](https://github.com/togethercomputer/together-py/commit/6502acc911413abceff3870f620a2bed742e9b08))
24+
* configure new SDK language ([b312b50](https://github.com/togethercomputer/together-py/commit/b312b502fcff52aa3b877e03928ef6f5a34ed88a))
25+
* Fix various docstrings ([2e1bd13](https://github.com/togethercomputer/together-py/commit/2e1bd13a49a1ddeb717c072e3b4a4e4c1669f2de))
26+
* format all `api.md` files ([c16f892](https://github.com/togethercomputer/together-py/commit/c16f89205ebc2a371dfa468bfb9b3b1081e41a4f))
27+
* format files ([#266](https://github.com/togethercomputer/together-py/issues/266)) ([2a452df](https://github.com/togethercomputer/together-py/commit/2a452df565a93a32963c615a5be3eb23a2e6b713))
28+
* Refactor argument options with CLI file downloads ([#267](https://github.com/togethercomputer/together-py/issues/267)) ([642adbd](https://github.com/togethercomputer/together-py/commit/642adbda9f113bf815d63b90a9829367c4fac82e))
29+
* Remove broken field LineCount from FileResponse ([778a7d9](https://github.com/togethercomputer/together-py/commit/778a7d9e61f1f69feff51a5c908a1d2221e8133d))
30+
* Remove line_count field from files sdks/clis ([#265](https://github.com/togethercomputer/together-py/issues/265)) ([62c9da6](https://github.com/togethercomputer/together-py/commit/62c9da6efd0c8e8c5f686b45736b8765030e5e5f))
31+
* Revert adding mcp code. Code additions were unexpected. ([7a322f7](https://github.com/togethercomputer/together-py/commit/7a322f7f3388149418e3a576d93cb0017f5fdecd))
32+
* update mock server docs ([5bcfbdf](https://github.com/togethercomputer/together-py/commit/5bcfbdf4cd2ff84de834c8df0ecdccb18cac1e35))
33+
334
## 2.1.1 (2026-02-12)
435

536
Full Changelog: [v2.1.0...v2.1.1](https://github.com/togethercomputer/together-py/compare/v2.1.0...v2.1.1)

CONTRIBUTING.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,7 @@ $ pip install ./path-to-wheel-file.whl
8888
Most tests require you to [set up a mock server](https://github.com/stoplightio/prism) against the OpenAPI spec to run the tests.
8989

9090
```sh
91-
# you will need npm installed
92-
$ npx prism mock path/to/your/openapi.yml
91+
$ ./scripts/mock
9392
```
9493

9594
```sh

api.md

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -158,14 +158,7 @@ Methods:
158158
Types:
159159

160160
```python
161-
from together.types import (
162-
FileList,
163-
FileObject,
164-
FilePurpose,
165-
FileResponse,
166-
FileType,
167-
FileDeleteResponse,
168-
)
161+
from together.types import FileList, FilePurpose, FileResponse, FileType, FileDeleteResponse
169162
```
170163

171164
Methods:

pyproject.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "together"
3-
version = "2.1.1"
3+
version = "2.2.0"
44
description = "The official Python library for the together API"
55
dynamic = ["readme"]
66
license = "Apache-2.0"
@@ -49,6 +49,8 @@ classifiers = [
4949
[project.urls]
5050
Homepage = "https://github.com/togethercomputer/together-py"
5151
Repository = "https://github.com/togethercomputer/together-py"
52+
Documentation = "https://docs.together.ai/"
53+
Changelog = "https://github.com/togethercomputer/together-py/blob/main/CHANGELOG.md"
5254

5355
[project.optional-dependencies]
5456
aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.9"]

scripts/format

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ uv run ruff check --fix .
1111
uv run ruff format
1212

1313
echo "==> Formatting docs"
14-
uv run python scripts/utils/ruffen-docs.py README.md api.md
14+
uv run python scripts/utils/ruffen-docs.py README.md $(find . -type f -name api.md)

src/together/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

33
__title__ = "together"
4-
__version__ = "2.1.1" # x-release-please-version
4+
__version__ = "2.2.0" # x-release-please-version

src/together/lib/cli/__init__.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import together
1111
from together._version import __version__
1212
from together._constants import DEFAULT_TIMEOUT
13+
from together._utils._logs import setup_logging
1314
from together.lib.cli.api.beta import beta
1415
from together.lib.cli.api.evals import evals
1516
from together.lib.cli.api.files import files
@@ -58,7 +59,10 @@ def main(
5859
max_retries: int | None,
5960
) -> None:
6061
"""This is a sample CLI tool."""
61-
os.environ.setdefault("TOGETHER_LOG", "debug" if debug else "info")
62+
if debug:
63+
os.environ.setdefault("TOGETHER_LOG", "debug")
64+
setup_logging() # Must run this again here to allow the new logging configuration to take effect
65+
6266
try:
6367
ctx.obj = together.Together(
6468
api_key=api_key,

0 commit comments

Comments
 (0)