From f258eb80e3932ece354451f75c6f1dbb2c8f2828 Mon Sep 17 00:00:00 2001 From: Sam Sykes Date: Thu, 13 Nov 2025 16:01:14 +0000 Subject: [PATCH 01/11] missing exports from batch library --- sdk/batch/speechmatics/batch/__init__.py | 32 ++++++++++++++---------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/sdk/batch/speechmatics/batch/__init__.py b/sdk/batch/speechmatics/batch/__init__.py index f488880..351fd11 100644 --- a/sdk/batch/speechmatics/batch/__init__.py +++ b/sdk/batch/speechmatics/batch/__init__.py @@ -11,6 +11,7 @@ from ._exceptions import JobError from ._exceptions import TimeoutError from ._exceptions import TransportError +from ._models import AutoChaptersConfig from ._models import ConnectionConfig from ._models import FetchData from ._models import FormatType @@ -23,7 +24,9 @@ from ._models import NotificationContents from ._models import NotificationMethod from ._models import OperatingPoint +from ._models import SentimentAnalysisConfig from ._models import SummarizationConfig +from ._models import TopicDetectionConfig from ._models import Transcript from ._models import TranscriptionConfig from ._models import TranslationConfig @@ -31,29 +34,32 @@ __all__ = [ "AsyncClient", "AuthBase", - "JWTAuth", - "StaticKeyAuth", - "ConfigurationError", "AuthenticationError", - "ConnectionError", - "TransportError", + "AutoChaptersConfig", "BatchError", - "JobError", - "TimeoutError", + "ConfigurationError", + "ConnectionConfig", + "ConnectionError", + "FetchData", + "FormatType", "JobConfig", "JobDetails", + "JobError", "JobInfo", + "JobStatus", + "JobType", + "JWTAuth", "NotificationConfig", - "NotificationMethod", "NotificationContents", + "NotificationMethod", "OperatingPoint", + "SentimentAnalysisConfig", + "StaticKeyAuth", "SummarizationConfig", + "TimeoutError", + "TopicDetectionConfig", "Transcript", "TranscriptionConfig", "TranslationConfig", - "ConnectionConfig", - "JobStatus", - "JobType", - "FormatType", - "FetchData", + "TransportError", ] From 880abaeb4c7a5955ab4bff50ce6a72afba26cb17 Mon Sep 17 00:00:00 2001 From: Sam Sykes Date: Thu, 13 Nov 2025 16:37:59 +0000 Subject: [PATCH 02/11] Removal of 'Beta' from descriptions. Removal of 'Flow' from docs (but not package). --- README.md | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 5b866f5..c66cf2d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # Speechmatics Python SDK [![License](https://img.shields.io/badge/license-MIT-yellow.svg)](https://github.com/speechmatics/speechmatics-python-sdk/blob/master/LICENSE) +[![PythonSupport](https://img.shields.io/badge/Python-3.9%2B-green)](https://www.python.org/) A collection of Python clients for Speechmatics APIs packaged as separate installable packages. These packages replace the old [speechmatics-python](https://pypi.org/project/speechmatics-python) package, which will be deprecated soon. @@ -10,7 +11,7 @@ Each client targets a specific Speechmatics API (e.g. real-time, batch transcrip This repository contains the following packages: -### (Beta) Real-Time Client (`speechmatics-rt`) +### Real-Time Client (`speechmatics-rt`) A Python client for Speechmatics Real-Time API. @@ -18,7 +19,7 @@ A Python client for Speechmatics Real-Time API. pip install speechmatics-rt ``` -### (Beta) Batch Client (`speechmatics-batch`) +### Batch Client (`speechmatics-batch`) An async Python client for Speechmatics Batch API. @@ -26,15 +27,7 @@ An async Python client for Speechmatics Batch API. pip install speechmatics-batch ``` -### (Beta) Flow Client (`speechmatics-flow`) - -An async Python client for Speechmatics Flow API. - -```bash -pip install speechmatics-flow -``` - -### (Beta) Voice Agent Client (`speechmatics-voice`) +### Voice Agent Client (`speechmatics-voice`) A Voice Agent Python client for Speechmatics Real-Time API. @@ -46,7 +39,7 @@ pip install speechmatics-voice pip install speechmatics-voice[smart] ``` -### (Beta) TTS Client (`speechmatics-tts`) +### TTS Client (`speechmatics-tts`) An async Python client for Speechmatics TTS API. @@ -69,10 +62,6 @@ speechmatics-python-sdk/ │ │ ├── pyproject.toml │ │ └── README.md │ │ -│ ├── flow/ -│ │ ├── pyproject.toml -│ │ └── README.md -│ │ │ ├── voice/ │ │ ├── pyproject.toml │ │ └── README.md @@ -84,7 +73,6 @@ speechmatics-python-sdk/ ├── tests/ │ ├── batch/ │ ├── rt/ -│ ├── flow/ │ ├── voice/ │ └── tts/ │ @@ -126,7 +114,6 @@ Each package can be installed separately: ```bash pip install speechmatics-rt pip install speechmatics-batch -pip install speechmatics-flow pip install speechmatics-voice[smart] pip install speechmatics-tts ``` From 86bae5b61ae2d70bde16944a2383e92fc4843912 Mon Sep 17 00:00:00 2001 From: Sam Sykes Date: Thu, 13 Nov 2025 16:43:30 +0000 Subject: [PATCH 03/11] updated github docs --- .github/RELEASE.md | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/.github/RELEASE.md b/.github/RELEASE.md index 9b6ef51..3409583 100644 --- a/.github/RELEASE.md +++ b/.github/RELEASE.md @@ -8,8 +8,8 @@ The Speechmatics Python SDK repository contains two separate packages: - `speechmatics-rt` - Real-Time API Client - `speechmatics-batch` - Batch API Client -- `speechmatics-flow` - Flow API Client - `speechmatics-voice` - Voice Agent API Client +- `speechmatics-tts` - TTS API Client Each package is released independently with its own versioning and release workflow. @@ -91,55 +91,55 @@ To release a new version of the Batch SDK: - Update GitHub release notes - Announce the release -### 3. Flow SDK Release +### 3. Voice Agent SDK Release -To release a new version of the Flow SDK: +To release a new version of the Voice Agent SDK: 1. **Create a Release Tag** ```bash - git tag flow/v1.0.0 - git push origin flow/v1.0.0 + git tag voice/v1.0.0 + git push origin voice/v1.0.0 ``` 2. **Automated Workflow** - The `release-flow.yaml` workflow will automatically: + The `release-voice.yaml` workflow will automatically: - - Extract version from tag (e.g., `flow/v1.0.0` → `1.0.0`) + - Extract version from tag (e.g., `voice/v1.0.0` → `1.0.0`) - Run comprehensive tests across Python versions - - Update version in `sdk/flow/speechmatics/flow/__init__.py` + - Update version in `sdk/voice/speechmatics/voice/__init__.py` - Build the package - Publish to PyPI 3. **Manual Steps After Release** - Verify the package is available on PyPI - - Test installation: `pip install speechmatics-flow==1.0.0` + - Test installation: `pip install speechmatics-voice==1.0.0` - Update GitHub release notes - Announce the release -### 4. Voice Agent SDK Release +### 4. TTS SDK Release -To release a new version of the Voice Agent SDK: +To release a new version of the TTS SDK: 1. **Create a Release Tag** ```bash - git tag voice/v1.0.0 - git push origin voice/v1.0.0 + git tag tts/v1.0.0 + git push origin tts/v1.0.0 ``` 2. **Automated Workflow** - The `release-voice.yaml` workflow will automatically: + The `release-tts.yaml` workflow will automatically: - - Extract version from tag (e.g., `voice/v1.0.0` → `1.0.0`) + - Extract version from tag (e.g., `tts/v1.0.0` → `1.0.0`) - Run comprehensive tests across Python versions - - Update version in `sdk/voice/speechmatics/voice/__init__.py` + - Update version in `sdk/tts/speechmatics/tts/__init__.py` - Build the package - Publish to PyPI 3. **Manual Steps After Release** - Verify the package is available on PyPI - - Test installation: `pip install speechmatics-voice==1.0.0` + - Test installation: `pip install speechmatics-tts==1.0.0` - Update GitHub release notes - Announce the release @@ -162,8 +162,8 @@ Both packages follow semantic versioning (SemVer): - RT SDK: `rt/v{version}` (e.g., `rt/v1.0.0`) - Batch SDK: `batch/v{version}` (e.g., `batch/v1.0.0`) -- Flow SDK: `flow/v{version}` (e.g., `flow/v1.0.0`) - Voice Agent SDK: `voice/v{version}` (e.g., `voice/v1.0.0`) +- TTS SDK: `tts/v{version}` (e.g., `tts/v1.0.0`) ## Environment Setup @@ -173,8 +173,8 @@ Both packages are published to PyPI using GitHub Actions with OpenID Connect (OI - RT SDK: Uses `pypi-rt` environment - Batch SDK: Uses `pypi-batch` environment -- Flow SDK: Uses `pypi-flow` environment - Voice Agent SDK: Uses `pypi-voice` environment +- TTS SDK: Uses `pypi-tts` environment ### Required Secrets From 99a26d675adff10a170fd9563fdefada3d9a3f72 Mon Sep 17 00:00:00 2001 From: Sam Sykes Date: Thu, 13 Nov 2025 17:07:02 +0000 Subject: [PATCH 04/11] updated `all` package --- Makefile | 40 +++++++++++++---- sdk/sdk/README.md | 37 +++++++++++++++ sdk/sdk/pyproject.toml | 67 ++++++++++++++++++++++++++++ sdk/sdk/speechmatics/__init__.py | 1 + sdk/sdk/speechmatics/sdk/__init__.py | 12 +++++ 5 files changed, 148 insertions(+), 9 deletions(-) create mode 100644 sdk/sdk/README.md create mode 100644 sdk/sdk/pyproject.toml create mode 100644 sdk/sdk/speechmatics/__init__.py create mode 100644 sdk/sdk/speechmatics/sdk/__init__.py diff --git a/Makefile b/Makefile index a34fd4d..e36df50 100644 --- a/Makefile +++ b/Makefile @@ -2,11 +2,11 @@ .PHONY: help .PHONY: test-all test-rt test-batch test-flow test-tts test-voice -.PHONY: format-all format-rt format-batch format-flow format-tts format-voice -.PHONY: lint-all lint-rt lint-batch lint-flow lint-tts lint-voice +.PHONY: format-all format-rt format-batch format-flow format-tts format-voice format-sdk +.PHONY: lint-all lint-rt lint-batch lint-flow lint-tts lint-voice lint-sdk .PHONY: type-check-all type-check-rt type-check-batch type-check-flow type-check-tts type-check-voice -.PHONY: build-all build-rt build-batch build-flow build-tts build-voice -.PHONY: clean-all clean-rt clean-batch clean-flow clean-tts clean-voice +.PHONY: build-all build-rt build-batch build-flow build-tts build-voice build-sdk +.PHONY: clean-all clean-rt clean-batch clean-flow clean-tts clean-voice clean-sdk help: @@ -27,6 +27,7 @@ help: @echo " format-flow Auto-fix formatting for Flow SDK" @echo " format-tts Auto-fix formatting for TTS SDK" @echo " format-voice Auto-fix formatting for Voice Agent SDK" + @echo " format-sdk Auto-fix formatting for SDK meta-package" @echo "" @echo "Linting:" @echo " lint-all Run linting for all SDKs" @@ -35,6 +36,7 @@ help: @echo " lint-flow Run linting for Flow SDK" @echo " lint-tts Run linting for TTS SDK" @echo " lint-voice Run linting for Voice Agent SDK" + @echo " lint-sdk Run linting for SDK meta-package" @echo "" @echo "Type checking:" @echo " type-check-all Run type checking for all SDKs" @@ -43,6 +45,7 @@ help: @echo " type-check-flow Run type checking for Flow SDK" @echo " type-check-tts Run type checking for TTS SDK" @echo " type-check-voice Run type checking for Voice Agent SDK" + @echo " type-check-sdk Run type checking for SDK meta-package" @echo "" @echo "Building:" @echo " build-all Build all SDKs" @@ -51,6 +54,7 @@ help: @echo " build-flow Build Flow SDK" @echo " build-tts Build TTS SDK" @echo " build-voice Build Voice Agent SDK" + @echo " build-sdk Build SDK meta-package" @echo "" @echo "Cleaning:" @echo " clean-all Clean all SDKs" @@ -59,6 +63,7 @@ help: @echo " clean-flow Clean Flow SDK build artifacts" @echo " clean-tts Clean TTS SDK build artifacts" @echo " clean-voice Clean Voice Agent SDK build artifacts" + @echo " clean-sdk Clean SDK meta-package build artifacts" @echo "" # Testing targets @@ -79,7 +84,7 @@ test-voice: pytest tests/voice/ -v -s # Formatting targets -format-all: format-rt format-batch format-flow format-tts format-voice format-tests format-examples +format-all: format-rt format-batch format-flow format-tts format-voice format-sdk format-tests format-examples format-rt: cd sdk/rt/speechmatics && black . @@ -101,6 +106,10 @@ format-voice: cd sdk/voice/speechmatics && black . cd sdk/voice/speechmatics && ruff check --fix . +format-sdk: + cd sdk/sdk/speechmatics && black . + cd sdk/sdk/speechmatics && ruff check --fix . + format-tests: cd tests && black . cd tests && ruff check --fix . @@ -110,7 +119,7 @@ format-examples: cd examples && ruff check --fix . # Linting targets -lint-all: lint-rt lint-batch lint-flow lint-tts lint-voice +lint-all: lint-rt lint-batch lint-flow lint-tts lint-voice lint-sdk lint-rt: cd sdk/rt/speechmatics && ruff check . @@ -127,8 +136,11 @@ lint-tts: lint-voice: cd sdk/voice/speechmatics && ruff check . +lint-sdk: + cd sdk/sdk/speechmatics && ruff check . + # Type checking targets -type-check-all: type-check-rt type-check-batch type-check-flow type-check-tts type-check-voice +type-check-all: type-check-rt type-check-batch type-check-flow type-check-tts type-check-voice type-check-sdk type-check-rt: cd sdk/rt/speechmatics && mypy . @@ -144,6 +156,9 @@ type-check-tts: type-check-voice: cd sdk/voice/speechmatics && mypy . +type-check-sdk: + cd sdk/sdk/speechmatics && mypy . + # Installation targets install-dev: python -m pip install --upgrade pip @@ -157,7 +172,7 @@ install-build: python -m pip install --upgrade build # Building targets -build-all: build-rt build-batch build-flow build-tts build-voice +build-all: build-rt build-batch build-flow build-tts build-voice build-sdk build-rt: install-build cd sdk/rt && python -m build @@ -174,8 +189,11 @@ build-tts: install-build build-voice: install-build cd sdk/voice && python -m build +build-sdk: install-build + cd sdk/sdk && python -m build + # Cleaning targets -clean-all: clean-rt clean-batch clean-flow clean-tts clean-voice clean-test clean-examples +clean-all: clean-rt clean-batch clean-flow clean-tts clean-voice clean-sdk clean-test clean-examples clean-rt: rm -rf sdk/rt/dist sdk/rt/build sdk/rt/*.egg-info find sdk/rt -name __pycache__ -exec rm -rf {} + 2>/dev/null || true @@ -196,6 +214,10 @@ clean-voice: rm -rf sdk/voice/dist sdk/voice/build sdk/voice/*.egg-info find sdk/voice -name __pycache__ -exec rm -rf {} + 2>/dev/null || true +clean-sdk: + rm -rf sdk/sdk/dist sdk/sdk/build sdk/sdk/*.egg-info + find sdk/sdk -name __pycache__ -exec rm -rf {} + 2>/dev/null || true + clean-test: find tests -name __pycache__ -exec rm -rf {} + 2>/dev/null || true rm -rf .pytest_cache diff --git a/sdk/sdk/README.md b/sdk/sdk/README.md new file mode 100644 index 0000000..d55640b --- /dev/null +++ b/sdk/sdk/README.md @@ -0,0 +1,37 @@ +# Speechmatics SDK + +The complete Speechmatics Python SDK package that includes all Speechmatics API clients: + +- **speechmatics-batch**: Batch API client for transcription jobs +- **speechmatics-rt**: Real-time API client for live transcription +- **speechmatics-voice**: Voice Agent API client with real-time conversational AI +- **speechmatics-tts**: Text-to-Speech API client + +## Installation + +Install the complete SDK: + +```bash +pip install speechmatics-sdk +``` + +For Voice API with Smart features (TTS/punctuation): + +```bash +pip install speechmatics-sdk[smart] +``` + +## Usage + +This is a meta-package that installs all Speechmatics API clients. See the individual package documentation for usage: + +- [Batch API Documentation](https://docs.speechmatics.com/) +- [Real-time API Documentation](https://docs.speechmatics.com/) +- [Voice API Documentation](https://docs.speechmatics.com/) +- [TTS API Documentation](https://docs.speechmatics.com/) + +## Links + +- [GitHub Repository](https://github.com/speechmatics/speechmatics-python-sdk) +- [Documentation](https://docs.speechmatics.com/) +- [Issue Tracker](https://github.com/speechmatics/speechmatics-python-sdk/issues) diff --git a/sdk/sdk/pyproject.toml b/sdk/sdk/pyproject.toml new file mode 100644 index 0000000..8a97cf3 --- /dev/null +++ b/sdk/sdk/pyproject.toml @@ -0,0 +1,67 @@ +[build-system] +requires = ["setuptools>=61.0.0"] +build-backend = "setuptools.build_meta" + +[project] +name = "sdk" +dynamic = ["version"] +description = "Speechmatics Python SDK - Complete package for all Speechmatics APIs" +readme = "README.md" +authors = [{ name = "Speechmatics", email = "support@speechmatics.com" }] +license = "MIT" +requires-python = ">=3.9" +dependencies = [ + "speechmatics-voice", + "speechmatics-batch", + "speechmatics-rt", + "speechmatics-tts", +] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Operating System :: OS Independent", + "Topic :: Multimedia :: Sound/Audio :: Speech", + "Topic :: Software Development :: Libraries :: Python Modules", +] +keywords = [ + "speechmatics", + "speech-to-text", + "tts", + "voice", + "agents", + "batch", + "real-time", + "transcription", + "api", + "sdk", +] + +[tool.setuptools.dynamic] +version = { attr = "speechmatics.sdk.__version__" } + +[project.optional-dependencies] +smart = [ + "speechmatics-voice[smart]", +] +dev = [ + "black", + "ruff", + "mypy", + "pre-commit", + "pytest", + "pytest-asyncio", + "pytest-cov", + "pytest-mock", + "build", +] + +[project.urls] +homepage = "https://github.com/speechmatics/speechmatics-python-sdk" +documentation = "https://docs.speechmatics.com/" +repository = "https://github.com/speechmatics/speechmatics-python-sdk" +issues = "https://github.com/speechmatics/speechmatics-python-sdk/issues" diff --git a/sdk/sdk/speechmatics/__init__.py b/sdk/sdk/speechmatics/__init__.py new file mode 100644 index 0000000..8db66d3 --- /dev/null +++ b/sdk/sdk/speechmatics/__init__.py @@ -0,0 +1 @@ +__path__ = __import__("pkgutil").extend_path(__path__, __name__) diff --git a/sdk/sdk/speechmatics/sdk/__init__.py b/sdk/sdk/speechmatics/sdk/__init__.py new file mode 100644 index 0000000..19d2b63 --- /dev/null +++ b/sdk/sdk/speechmatics/sdk/__init__.py @@ -0,0 +1,12 @@ +# +# Copyright (c) 2025, Speechmatics / Cantab Research Ltd +# + + +"""Speechmatics Python SDKs.""" + +__version__ = "0.0.0" + +__all__ = [ + "__version__", +] From 1eec1c7c96c61b11c3efb3166be15c9cd8d32785 Mon Sep 17 00:00:00 2001 From: Sam Sykes Date: Thu, 13 Nov 2025 17:08:39 +0000 Subject: [PATCH 05/11] Create release-sdk.yaml --- .github/workflows/release-sdk.yaml | 75 ++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 .github/workflows/release-sdk.yaml diff --git a/.github/workflows/release-sdk.yaml b/.github/workflows/release-sdk.yaml new file mode 100644 index 0000000..552f65c --- /dev/null +++ b/.github/workflows/release-sdk.yaml @@ -0,0 +1,75 @@ +@@ -0,0 +1,74 @@ +name: Release SDK Meta-Package + +on: + push: + tags: + - "sdk/v*" + +permissions: + contents: read + id-token: write + +jobs: + extract-version: + runs-on: ubuntu-latest + outputs: + version: ${{ steps.extract.outputs.version }} + steps: + - name: Extract version from tag + id: extract + run: | + # Extract version from tag (sdk/v1.0.0 -> 1.0.0) + VERSION=${GITHUB_REF#refs/tags/sdk/v} + echo "version=$VERSION" >> $GITHUB_OUTPUT + echo "Extracted version: $VERSION" + + release-build: + runs-on: ubuntu-latest + needs: [extract-version] + outputs: + version: ${{ needs.extract-version.outputs.version }} + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Update package version in pyproject.toml + run: | + VERSION="${{ needs.extract-version.outputs.version }}" + sed -i "s/version = \".*\"/version = \"$VERSION\"/g" ./sdk/sdk/pyproject.toml + echo "Updated version to: $VERSION" + cat ./sdk/sdk/pyproject.toml | grep version + + - name: Build SDK meta-package + run: | + make install-build + make build-sdk + + - name: Upload dist + uses: actions/upload-artifact@v4 + with: + name: sdk-release-dist + path: sdk/sdk/dist/ + + pypi-publish: + runs-on: ubuntu-latest + needs: [release-build] + environment: + name: pypi-sdk + url: https://pypi.org/project/sdk/${{ needs.release-build.outputs.version }} + + steps: + - name: Retrieve release dist + uses: actions/download-artifact@v4 + with: + name: sdk-release-dist + path: dist/ + + - name: Publish to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + packages-dir: dist/ + password: ${{ secrets.PYPI_ORG_TOKEN }} From b9e3536481f0bd7542cc3c5043ff39d619590ecd Mon Sep 17 00:00:00 2001 From: Sam Sykes Date: Thu, 13 Nov 2025 17:14:28 +0000 Subject: [PATCH 06/11] Update release-sdk.yaml --- .github/workflows/release-sdk.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/release-sdk.yaml b/.github/workflows/release-sdk.yaml index 552f65c..f5faa86 100644 --- a/.github/workflows/release-sdk.yaml +++ b/.github/workflows/release-sdk.yaml @@ -1,4 +1,3 @@ -@@ -0,0 +1,74 @@ name: Release SDK Meta-Package on: From bc5c2ef48b33eaa234ef94ed6f8559a17b4eeec9 Mon Sep 17 00:00:00 2001 From: Sam Sykes Date: Thu, 13 Nov 2025 17:18:41 +0000 Subject: [PATCH 07/11] package error --- sdk/sdk/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/sdk/pyproject.toml b/sdk/sdk/pyproject.toml index 8a97cf3..37531cf 100644 --- a/sdk/sdk/pyproject.toml +++ b/sdk/sdk/pyproject.toml @@ -3,7 +3,7 @@ requires = ["setuptools>=61.0.0"] build-backend = "setuptools.build_meta" [project] -name = "sdk" +name = "speechmatics-sdk" dynamic = ["version"] description = "Speechmatics Python SDK - Complete package for all Speechmatics APIs" readme = "README.md" From 840824380aa7bf26fd1ee4e85ee6e5ff9b7e0f94 Mon Sep 17 00:00:00 2001 From: Sam Sykes Date: Thu, 13 Nov 2025 18:41:41 +0000 Subject: [PATCH 08/11] updated project toml file --- sdk/sdk/pyproject.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sdk/sdk/pyproject.toml b/sdk/sdk/pyproject.toml index 37531cf..de280b0 100644 --- a/sdk/sdk/pyproject.toml +++ b/sdk/sdk/pyproject.toml @@ -11,9 +11,9 @@ authors = [{ name = "Speechmatics", email = "support@speechmatics.com" }] license = "MIT" requires-python = ">=3.9" dependencies = [ - "speechmatics-voice", "speechmatics-batch", "speechmatics-rt", + "speechmatics-voice", "speechmatics-tts", ] classifiers = [ @@ -48,6 +48,7 @@ version = { attr = "speechmatics.sdk.__version__" } smart = [ "speechmatics-voice[smart]", ] + dev = [ "black", "ruff", From b97b5d84689bd97d2f4c5c2228ec261cc9987df2 Mon Sep 17 00:00:00 2001 From: Sam Sykes Date: Thu, 13 Nov 2025 18:41:48 +0000 Subject: [PATCH 09/11] Update release-sdk.yaml --- .github/workflows/release-sdk.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-sdk.yaml b/.github/workflows/release-sdk.yaml index f5faa86..524d506 100644 --- a/.github/workflows/release-sdk.yaml +++ b/.github/workflows/release-sdk.yaml @@ -58,7 +58,7 @@ jobs: needs: [release-build] environment: name: pypi-sdk - url: https://pypi.org/project/sdk/${{ needs.release-build.outputs.version }} + url: https://pypi.org/project/speechmatics-sdk/${{ needs.release-build.outputs.version }} steps: - name: Retrieve release dist From cecb0da4830d22f686fb4d3eaab7d9b7706797b5 Mon Sep 17 00:00:00 2001 From: Sam Sykes Date: Thu, 13 Nov 2025 18:49:02 +0000 Subject: [PATCH 10/11] Fix to README. --- sdk/sdk/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/sdk/README.md b/sdk/sdk/README.md index d55640b..8c6cdd0 100644 --- a/sdk/sdk/README.md +++ b/sdk/sdk/README.md @@ -15,7 +15,7 @@ Install the complete SDK: pip install speechmatics-sdk ``` -For Voice API with Smart features (TTS/punctuation): +For Voice SDK with Smart Turn features (includes ONNX ML runtime and models): ```bash pip install speechmatics-sdk[smart] From 8a478ee1725581ec93002bb6667531b2f2f92e0f Mon Sep 17 00:00:00 2001 From: Sam Sykes Date: Thu, 13 Nov 2025 19:03:29 +0000 Subject: [PATCH 11/11] Update release-sdk.yaml --- .github/workflows/release-sdk.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release-sdk.yaml b/.github/workflows/release-sdk.yaml index 524d506..f0678d9 100644 --- a/.github/workflows/release-sdk.yaml +++ b/.github/workflows/release-sdk.yaml @@ -35,16 +35,16 @@ jobs: with: python-version: "3.13" - - name: Update package version in pyproject.toml + - name: Update package version in sdk/sdk/speechmatics/sdk/__init__.py run: | VERSION="${{ needs.extract-version.outputs.version }}" - sed -i "s/version = \".*\"/version = \"$VERSION\"/g" ./sdk/sdk/pyproject.toml + sed -i "s/0\.0\.0/$VERSION/g" ./sdk/sdk/speechmatics/sdk/__init__.py echo "Updated version to: $VERSION" - cat ./sdk/sdk/pyproject.toml | grep version + cat ./sdk/sdk/speechmatics/sdk/__init__.py | grep __version__ - name: Build SDK meta-package run: | - make install-build + make install-dev make build-sdk - name: Upload dist