Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/workflows/publish-pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,16 @@
name: Publish PyPI
on:
workflow_dispatch:
inputs:
package:
description: Package to publish
required: true
default: all
type: choice
options:
- all
- agentex-client
- agentex-sdk

release:
types: [published]
Expand Down Expand Up @@ -33,3 +43,5 @@ jobs:
# Back-compat fallback — used by bin/publish-pypi when the
# dedicated tokens above are unset.
PYPI_TOKEN: ${{ secrets.AGENTEX_PYPI_TOKEN || secrets.PYPI_TOKEN }}
# Manual dispatches can override tag-derived package selection.
PYPI_PACKAGE: ${{ inputs.package }}
4 changes: 2 additions & 2 deletions .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
".": "0.16.1",
"adk": "0.15.0"
".": "0.16.2",
"adk": "0.16.2"
}
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,14 @@

* **tracing:** emit OTel metrics for async span queue depth, batch drain, and SGP export success/failure (HTTP status labels). Disable SDK-side recording with ``AGENTEX_TRACING_METRICS=0``.

## 0.16.2 (2026-06-29)

Full Changelog: [agentex-client-v0.16.1...agentex-client-v0.16.2](https://github.com/scaleapi/scale-agentex-python/compare/agentex-client-v0.16.1...agentex-client-v0.16.2)

### Bug Fixes

* **adk:** release streaming buffer repair in sdk ([#449](https://github.com/scaleapi/scale-agentex-python/issues/449)) ([20795cb](https://github.com/scaleapi/scale-agentex-python/commit/20795cb158244767207b6d3758929014bc015bb6))

## 0.16.1 (2026-06-26)

Full Changelog: [agentex-client-v0.16.0...agentex-client-v0.16.1](https://github.com/scaleapi/scale-agentex-python/compare/agentex-client-v0.16.0...agentex-client-v0.16.1)
Expand Down
8 changes: 8 additions & 0 deletions adk/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## 0.16.2 (2026-06-29)

Full Changelog: [agentex-sdk-v0.15.0...agentex-sdk-v0.16.2](https://github.com/scaleapi/scale-agentex-python/compare/agentex-sdk-v0.15.0...agentex-sdk-v0.16.2)

### Bug Fixes

* **adk:** release streaming buffer repair in sdk ([#449](https://github.com/scaleapi/scale-agentex-python/issues/449)) ([20795cb](https://github.com/scaleapi/scale-agentex-python/commit/20795cb158244767207b6d3758929014bc015bb6))

## 0.15.0 (2026-06-24)

Full Changelog: [agentex-sdk-v0.14.0...agentex-sdk-v0.15.0](https://github.com/scaleapi/scale-agentex-python/compare/agentex-sdk-v0.14.0...agentex-sdk-v0.15.0)
Expand Down
2 changes: 2 additions & 0 deletions adk/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,5 @@ The two packages contribute disjoint files to the `agentex.*` namespace — `age
## Repo layout

This package is hand-authored and lives at `adk/` inside [scaleapi/scale-agentex-python](https://github.com/scaleapi/scale-agentex-python). Stainless codegen never touches `adk/**` — it's outside the generated surface. The sibling `agentex-client` package lives at the repo root and IS Stainless-generated.

The wheel source is assembled from `src/agentex/lib/**` by `adk/hatch_build.py`.
2 changes: 1 addition & 1 deletion adk/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# (agentex/{__init__.py, _*.py, types/, resources/}) ships from the slim
# sibling package `agentex-client` which is pinned as a runtime dep.
name = "agentex-sdk"
version = "0.15.0"
version = "0.16.2"
description = "Agent Development Kit (ADK) overlay for the Agentex API — FastACP server, Temporal workflows, LLM provider integrations, observability"
license = "Apache-2.0"
authors = [
Expand Down
50 changes: 45 additions & 5 deletions bin/publish-pypi
Original file line number Diff line number Diff line change
@@ -1,14 +1,54 @@
#!/usr/bin/env bash

# Publish slim (root) before heavy (adk/): heavy pins slim, so a slim-first
# failure aborts before shipping a heavy that needs an unreleased client.
# Publish only the package requested by the component tag. Manual dispatches can
# set PYPI_PACKAGE=all to publish both packages; in that case publish slim
# before heavy because the heavy package depends on the slim package.

set -eux

rm -rf dist
# --wheel: the heavy's cross-dir force-include can't build via sdist.
uv build --all-packages --wheel

# --check-url makes the per-component-tag double-trigger idempotent.
uv publish --check-url https://pypi.org/simple/ --token="${AGENTEX_CLIENT_PYPI_TOKEN:-$PYPI_TOKEN}" dist/agentex_client-*.whl
uv publish --check-url https://pypi.org/simple/ --token="${AGENTEX_PYPI_TOKEN:-$PYPI_TOKEN}" dist/agentex_sdk-*.whl
publish_client() {
uv publish --check-url https://pypi.org/simple/ --token="${AGENTEX_CLIENT_PYPI_TOKEN:-${PYPI_TOKEN:-}}" dist/agentex_client-*.whl
}

publish_sdk() {
uv publish --check-url https://pypi.org/simple/ --token="${AGENTEX_PYPI_TOKEN:-${PYPI_TOKEN:-}}" dist/agentex_sdk-*.whl
}

package="${PYPI_PACKAGE:-}"

if [ -z "$package" ]; then
tag_name="${GITHUB_REF_NAME:-}"
if [ -z "$tag_name" ] && [[ "${GITHUB_REF:-}" == refs/tags/* ]]; then
tag_name="${GITHUB_REF#refs/tags/}"
fi

case "$tag_name" in
agentex-client-v*) package="agentex-client" ;;
agentex-sdk-v*) package="agentex-sdk" ;;
*)
echo "Unable to infer package from tag '$tag_name'. Set PYPI_PACKAGE to one of: all, agentex-client, agentex-sdk." >&2
exit 1
;;
esac
fi

case "$package" in
all)
publish_client
publish_sdk
;;
agentex-client)
publish_client
;;
agentex-sdk)
publish_sdk
;;
*)
echo "Unknown PYPI_PACKAGE '$package'. Expected one of: all, agentex-client, agentex-sdk." >&2
exit 1
;;
esac
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# overlay (formerly `src/agentex/lib/*`) now lives in `adk/` and ships
# as the sibling `agentex-sdk` package — see `adk/pyproject.toml`.
name = "agentex-client"
version = "0.16.1"
version = "0.16.2"
description = "The official Python REST client for the Agentex API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
10 changes: 10 additions & 0 deletions release-please-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,16 @@
"component": "agentex-sdk"
}
},
"plugins": [
{
"type": "linked-versions",
"groupName": "agentex",
"components": [
"agentex-client",
"agentex-sdk"
]
}
],
"$schema": "https://raw.githubusercontent.com/stainless-api/release-please/main/schemas/config.json",
"include-v-in-tag": true,
"include-component-in-tag": true,
Expand Down
2 changes: 1 addition & 1 deletion src/agentex/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "agentex"
__version__ = "0.16.1" # x-release-please-version
__version__ = "0.16.2" # x-release-please-version
Loading