Fishjam Python Server SDK
software-mansion-labs/skills
Python server SDK for Fishjam — backends that create rooms, mint peer tokens, receive server notifications, and run voice agents.
Guides Python code that calls the Deepgram Management APIs to administer projects, keys, members, usage, billing and stored Voice Agent configurations.
$ npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-management-api -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install deepgram/deepgram-python-sdk deepgram-python-management-api --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/deepgram/deepgram-python-sdk.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/deepgram-python-management-api .claude/skills/deepgram-python-management-api && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "deepgram-python-management-api" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-management-api into .claude/skills/deepgram-python-management-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-management-api", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-management-apiType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-management-api -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install deepgram/deepgram-python-sdk deepgram-python-management-api --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/deepgram/deepgram-python-sdk.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/deepgram-python-management-api .agents/skills/deepgram-python-management-api && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "deepgram-python-management-api" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-management-api into .agents/skills/deepgram-python-management-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-management-api", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-management-api -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install deepgram/deepgram-python-sdk deepgram-python-management-api --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/deepgram/deepgram-python-sdk.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/deepgram-python-management-api .cursor/skills/deepgram-python-management-api && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "deepgram-python-management-api" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-management-api into .cursor/skills/deepgram-python-management-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-management-api", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/deepgram/deepgram-python-sdk.git --path .agents/skills/deepgram-python-management-api--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-management-api -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install deepgram/deepgram-python-sdk deepgram-python-management-api --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/deepgram/deepgram-python-sdk.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/deepgram-python-management-api .gemini/skills/deepgram-python-management-api && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "deepgram-python-management-api" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-management-api into .gemini/skills/deepgram-python-management-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-management-api", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install deepgram/deepgram-python-sdk deepgram-python-management-apiInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-management-api -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/deepgram/deepgram-python-sdk.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/deepgram-python-management-api .github/skills/deepgram-python-management-api && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "deepgram-python-management-api" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-management-api into .github/skills/deepgram-python-management-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-management-api", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-management-api -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install deepgram/deepgram-python-sdk deepgram-python-management-api --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/deepgram/deepgram-python-sdk.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/deepgram-python-management-api .opencode/skills/deepgram-python-management-api && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "deepgram-python-management-api" agent skill from https://github.com/deepgram/deepgram-python-sdk/tree/main/.agents/skills/deepgram-python-management-api into .opencode/skills/deepgram-python-management-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepgram-python-management-api", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
deepgram-python-management-apiGuides Python code that calls the Deepgram Management APIs to administer projects, keys, members, usage, billing and stored Voice Agent configurations.
This covers the administrative side of the Deepgram Python SDK: listing and updating projects, creating and deleting project API keys, managing members and invites, querying usage and billing, and listing the available speech-to-text and text-to-speech models. Calls go through client.manage.v1 and its project-scoped sub-modules, and an async client is available as well.
It also handles reusable Voice Agent configurations. The agent block of a settings message can be stored on the server and later referenced by agent_id, and a separate call lists which think-provider models Agent supports. The skill is for storing and listing configurations; running an agent interactively belongs to a different Deepgram skill.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 5c2f3af. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npxFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
developers.deepgram.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Deepgram Python Management API loads about 2.3k tokens when it runs. Until then it costs about 202 tokens; SKILL.md has 457 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from deepgram/deepgram-python-sdk at commit 5c2f3af, republished under its MIT licence (© deepgram). 457 words, ~2,252 tokens.
.claude/skills/deepgram-python-management-api/SKILL.md (or your agent's skills folder).Administrative REST endpoints at api.deepgram.com/v1/projects, /v1/models, and reusable agent configuration storage. Project-scoped resources live under client.manage.v1.projects.* (keys, members, members.invites, usage, billing, models, requests). Global models at client.manage.v1.models. Think-model discovery at client.agent.v1.settings.think.models. Reusable agent configs at client.voice_agent.configurations.*.
client.manage.v1.models.list() returns the active STT/TTS set.agent block of a Settings message on the server, reference by agent_id. The stored blob is the agent object only (listen / think / speak providers + prompt), not the full AgentV1Settings.Use a different skill when:
deepgram-python-voice-agent.from dotenv import load_dotenv
load_dotenv()
from deepgram import DeepgramClient
client = DeepgramClient()Header: Authorization: Token <api_key>. All methods are REST.
# Projects
projects = client.manage.v1.projects.list()
for p in projects.projects:
print(p.project_id, p.name)
project = client.manage.v1.projects.get(project_id=projects.projects[0].project_id)
client.manage.v1.projects.update(project_id=project.project_id, name="New name")
# client.manage.v1.projects.delete(project_id=...) # irreversible
# client.manage.v1.projects.leave(project_id=...)
# Models
models = client.manage.v1.models.list()
print("STT:", [m.canonical_name for m in models.stt])
print("TTS:", [m.canonical_name for m in models.tts])
# Include deprecated/outdated models
older = client.manage.v1.models.list(include_outdated=True)
# Per-project model access
project_models = client.manage.v1.projects.models.list(project_id=project.project_id)All project-scoped resources live under client.manage.v1.projects.*:
# Keys — `create` takes a single `request=` payload, not top-level kwargs
keys = client.manage.v1.projects.keys.list(project_id=pid)
client.manage.v1.projects.keys.create(
project_id=pid,
request={"comment": "CI key", "scopes": ["usage:write"]},
)
client.manage.v1.projects.keys.delete(project_id=pid, key_id=kid)
# Members + invites (invites are nested under members; method is `create`, not `send`)
members = client.manage.v1.projects.members.list(project_id=pid)
invites = client.manage.v1.projects.members.invites.list(project_id=pid)
client.manage.v1.projects.members.invites.create(project_id=pid, email="new@example.com", scope="member")
# Usage (get, not list) + billing balances (nested)
usage = client.manage.v1.projects.usage.get(project_id=pid)
usage_breakdown = client.manage.v1.projects.usage.breakdown.list(project_id=pid)
balance = client.manage.v1.projects.billing.balances.get(project_id=pid)See examples/51-55 for each sub-module.
# List reusable configs
configs = client.voice_agent.configurations.list(project_id=pid)
# Create: `config` is a JSON string of the `agent` BLOCK ONLY — not the full
# Settings message. Do NOT include top-level Settings fields like `audio`;
# those are sent at connect-time in the live Settings message. The stored
# `agent_id` later replaces the inline `agent` object in a Settings message.
import json
config_json = json.dumps({
"listen": {"provider": {"type": "deepgram", "model": "nova-3"}},
"think": {"provider": {"type": "open_ai", "model": "gpt-4o-mini"}, "prompt": "..."},
"speak": {"provider": {"type": "deepgram", "model": "aura-2-asteria-en"}},
})
created = client.voice_agent.configurations.create(
project_id=pid,
config=config_json,
metadata={"label": "support-en"},
)
print(created.agent_id)
# Update metadata (immutable config body — create a new one to change behavior)
client.voice_agent.configurations.update(project_id=pid, agent_id=created.agent_id, metadata={"label": "v2"})
# Get / delete
one = client.voice_agent.configurations.get(project_id=pid, agent_id=created.agent_id)
# client.voice_agent.configurations.delete(project_id=pid, agent_id=...)Think-provider model discovery (which LLMs Agent supports):
think_models = client.agent.v1.settings.think.models.list()from deepgram import AsyncDeepgramClient
client = AsyncDeepgramClient()
projects = await client.manage.v1.projects.list()reference.md — "Manage V1 Projects/Keys/Members/Invites/Usage/Billing/Models", "Voice Agent Configurations"./llmstxt/developers_deepgram_llms_txt.Token auth, not Bearer..projects.*. There is no top-level client.manage.v1.keys / .members / .invites / .usage / .billing. Use client.manage.v1.projects.keys, ...projects.members, ...projects.members.invites, ...projects.usage, ...projects.billing.balances, and ...projects.requests for request logs. The only top-level client.manage.v1.* namespaces are projects and models.client.agent.v1.settings.think.models.list(). There is no client.manage.v1.agent.*.config=json.dumps(...).agent block only, not the full Settings message. Do not include top-level fields like audio — those go in the live Settings message at connect time.include_outdated=True on models.list() when pinning older models.client.manage.v1.models.list() returns all; client.manage.v1.projects.models.list(project_id=...) returns what the project can access.examples/50-management-projects.pyexamples/51-management-keys.pyexamples/52-management-members.pyexamples/53-management-invites.pyexamples/54-management-usage.pyexamples/55-management-billing.pyexamples/56-management-models.pytests/wire/test_manage_v1_projects.pytests/wire/test_manage_v1_models.pytests/wire/test_voiceAgent_configurations.pydeepgram-python-voice-agent — run an agent (use a config created here)For cross-language Deepgram product knowledge — the consolidated API reference, documentation finder, focused runnable recipes, third-party integration examples, and MCP setup — install the central skills:
npx skills add deepgram/skillsThis SDK ships language-idiomatic code skills; deepgram/skills ships cross-language product knowledge (see api, docs, recipes, examples, starters, setup-mcp).
© deepgram, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/deepgram-python-management-api of deepgram/deepgram-python-sdk.
Open the folder on GitHubat commit 5c2f3af
Deepgram Python Management API next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Deepgram Python Management API this skilldeepgram/deepgram-python-sdk | 469 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Fishjam Python Server SDKsoftware-mansion-labs/skills | 291 | — | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| Tavily Search API Integrationandrewyng/context-hub | 14k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Hugging Face API Tool Builderhuggingface/skills | 11k | 5 repos | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| Agentstadaspetra/loop | 296 | 1 repos | ~2.5k | Automated safety check: Pass | MIT | |
| Local Asrysyecust/lecture-to-notes | 269 | — | ~1.6k | Automated safety check: Pass | Custom licence |
software-mansion-labs/skills
Python server SDK for Fishjam — backends that create rooms, mint peer tokens, receive server notifications, and run voice agents.
andrewyng/context-hub
Guides building Tavily integrations for web search, URL extraction, site crawling and AI-assisted research in Python or JavaScript agent and RAG projects.
huggingface/skills
Builds reusable command line scripts that fetch, enrich or process data from the Hugging Face API, aimed at chained, repeated or automated tasks.
tadaspetra/loop
Build voice AI agents with ElevenLabs. An agent skill from tadaspetra/loop.
ysyecust/lecture-to-notes
把本地长视频/音频转写成文字稿 + 可选字幕,纯本地(不上传云端),用 sherpa-onnx X-ASR Zipformer transducer 模型(int8 量化、中英双语、自动标点)。已在 macOS Apple Silicon(int8 + AMX,~100× 实时)、Linux ARM64(CPU,~32× 实时)与 Windows(PowerShell…
deepgram/deepgram-js-sdk
A skill your agent uses when writing or reviewing JavaScript/TypeScript in this repo that calls Deepgram Conversational STT v2 / Flux (/v2/listen) for turn-aware streaming transcription.
deepgram/deepgram-python-sdk
Shows how to add Deepgram analytics such as diarization, summaries, sentiment, topics, redaction and language detection to speech transcription in Python.
deepgram/deepgram-python-sdk
Writes and reviews Python code for Deepgram's turn-aware streaming speech-to-text (Flux, /v2/listen), including end-of-turn detection.
deepgram/deepgram-python-sdk
Covers basic transcription with the Deepgram Python SDK's listen.v1 endpoint, for one-shot REST transcription of a file or URL and live WebSocket streaming with interim results.
deepgram/deepgram-python-sdk
Uses the Deepgram Python SDK's Read API to analyze text for sentiment, summaries, topics and intents with client.read.v1.text.analyze, from raw text or a hosted URL.
deepgram/deepgram-python-sdk
Guides Python code that calls Deepgram Text-to-Speech v1, covering one-shot REST, streaming WebSocket and the TextBuilder helper.
deepgram/deepgram-python-sdk
Builds a full-duplex Python voice agent on Deepgram's agent.converse WebSocket, combining speech-to-text, an LLM and text-to-speech with interruption and function calling.
Categories
Guides Python code that calls the Deepgram Management APIs to administer projects, keys, members, usage, billing and stored Voice Agent configurations. This covers the administrative side of the Deepgram Python SDK: listing and updating projects, creating and deleting project API keys, managing members and invites, querying usage and billing, and listing the available speech-to-text and text-to-speech models.v1 and its project-scoped sub-modules, and an async client is available as well.
Deepgram Python Management API fits situations like: writing Python that lists, creates or deletes Deepgram project API keys; pulling usage or billing figures for a Deepgram project; saving a Voice Agent configuration on the server and referencing it by id.
Run `npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-management-api -a claude-code`. Or copy the skill folder (.agents/skills/deepgram-python-management-api in deepgram/deepgram-python-sdk) into .claude/skills/deepgram-python-management-api in your project. Claude Code loads it when a task matches its description.
Run `npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-management-api -a codex`. Or copy the skill folder (.agents/skills/deepgram-python-management-api in deepgram/deepgram-python-sdk) into .agents/skills/deepgram-python-management-api in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add deepgram/deepgram-python-sdk --skill deepgram-python-management-api -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/deepgram-python-management-api, .gemini/skills/deepgram-python-management-api, .github/skills/deepgram-python-management-api and .opencode/skills/deepgram-python-management-api in your project.
Going by SKILL.md and its folder, Deepgram Python Management API needs the command-line tools its instructions call (npx). Our summary lists: Python with the Deepgram SDK; A Deepgram API key.
SKILL.md names 1 domain. As links in the text: developers.deepgram.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Deepgram Python Management API is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Deepgram Python Management API: Fishjam Python Server SDK (software-mansion-labs/skills, 291 stars), Tavily Search API Integration (andrewyng/context-hub, 14k stars), Hugging Face API Tool Builder (huggingface/skills, 11k stars) and Agents (tadaspetra/loop, 296 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
deepgram (a GitHub organization) maintains it in deepgram/deepgram-python-sdk, which has 469 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 6, 2026.
Source: deepgram/deepgram-python-sdk on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.