feat!: 6.0 namespace rename (atoms→agents, waves→speech) - #89
Draft
abhishekmishragithub wants to merge 2 commits into
Draft
feat!: 6.0 namespace rename (atoms→agents, waves→speech)#89abhishekmishragithub wants to merge 2 commits into
abhishekmishragithub wants to merge 2 commits into
Conversation
Rename the two product surfaces to industry-standard names: - atoms -> agents (voice-agent platform) - waves -> speech (TTS/STT/voices) The wire API, auth, method signatures, and observability headers are unchanged. This is an SDK-surface rename generated from the updated namespaces in the Fern config, plus a soft backward-compat layer. Backward compatibility (deprecated, removed in the next major): - client.atoms / client.waves resolve to client.agents / client.speech - attribute access smallestai.atoms / smallestai.waves - deep imports (import smallestai.atoms.crew.nodes, from smallestai.waves.helpers import synthesize_to_file) All old names emit a DeprecationWarning and keep object identity with the new modules (a sys.meta_path finder plus client attribute aliases). Preserved: X-Source / X-Fern-SDK-Version headers, PlanNotEntitledError and error-message hints, the CLI, crew/helpers, and the streaming TTS/STT helpers. ruff lint/format applied. Adds tests/custom/test_6_0_rename_compat.py covering the new surface, deprecated aliases, deep-import identity, and the observability header. See MIGRATION.md and CHANGELOG.md.
The cloning endpoint accepts model=lightning-v3.1-pro (premium Pro pool), confirmed against the live API. Add it to the CreateVoiceCloneSpeechRequestModel literal so it surfaces in type hints / autocomplete. Matches the regen output from the updated voice-cloning spec; the union's Any fallback already accepted it at runtime.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Renames the two SDK product surfaces to industry-standard names, as the 6.0 major:
atoms→agents(voice-agent platform)waves→speech(TTS / STT / voices)Generated from the matching namespace rename in the Fern config (separate PR). The wire API, auth, method signatures, and observability are unchanged — this is an SDK-surface rename plus a soft backward-compat layer.
Backward compatibility (soft, removed in the next major)
Old names keep working and emit a
DeprecationWarning:client.atoms/client.waves→client.agents/client.speechsmallestai.atoms/smallestai.wavesimport smallestai.atoms.crew.nodes,from smallestai.waves.helpers import synthesize_to_fileAll aliases keep object identity with the new modules (a
sys.meta_pathfinder for deep imports + client attribute properties). Covered bytests/custom/test_6_0_rename_compat.py.Preserved
X-Source,X-Fern-SDK-Version)PlanNotEntitledError+ actionable error-message hintsTooling
rufflint/format applied (imports sorted, unused imports removed).Local checks
pytest tests/custom— 104 passed, 1 skippedmypy .— 0 errorsruff check .— cleanFollow-ups (not in this PR)
uvbuild-system migration (kept separate — it touches the poetry-based publish pipeline and needs its own regen proof).client.atoms→agents,waves→speech, migration section, redirects).Do not merge on my behalf — for review first. Merging a version bump to
mainauto-publishes to PyPI.