{"package": "untether", "summary": "Run AI coding agents from your phone. Bridges Claude Code, Codex, OpenCode, Pi, Gemini CLI, and Amp to Telegram with interactive permissions, voice input, cost tracking, and live progress.", "pypi_url": "https://pypi.org/project/untether", "piwheels_url": "https://www.piwheels.org/project/untether", "releases": {"0.35.0": {"released": "2026-03-31 06:44:56", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"untether-0.35.0-py3-none-any.whl": {"file_url": "/simple/untether/untether-0.35.0-py3-none-any.whl", "filehash": "dc26534d045b35420b354df8a80cba6d31650287629c9f2630c5748045ac2e57", "filesize": 297618, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["aiohttp", "anyio", "httpx", "markdown-it-py", "msgspec", "openai", "pydantic", "pydantic-settings", "questionary", "rich", "structlog", "sulguk", "tomli-w", "typer", "watchfiles"]}}}, "0.34.4": {"released": "2026-03-09 10:04:22", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"untether-0.34.4-py3-none-any.whl": {"file_url": "/simple/untether/untether-0.34.4-py3-none-any.whl", "filehash": "6aae8e68f98ae38307db96a204031ba810f36d66d1f246ae963ec358b1912962", "filesize": 270700, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["aiohttp", "anyio", "httpx", "markdown-it-py", "msgspec", "openai", "pydantic", "pydantic-settings", "questionary", "rich", "structlog", "sulguk", "tomli-w", "typer", "watchfiles"]}}}, "0.34.3": {"released": "2026-03-08 04:34:17", "prerelease": false, "yanked": false, "skip_reason": "", "files": {}}, "0.34.2": {"released": "2026-03-08 00:19:54", "prerelease": false, "yanked": false, "skip_reason": "", "files": {}}, "0.34.1": {"released": "2026-03-07 09:21:59", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"untether-0.34.1-py3-none-any.whl": {"file_url": "/simple/untether/untether-0.34.1-py3-none-any.whl", "filehash": "38d13f3f169835f2dabb5a54d55deccdf1469f910a5675d00fd1538b8a4bbd1a", "filesize": 268791, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["aiohttp", "anyio", "httpx", "markdown-it-py", "msgspec", "openai", "pydantic", "pydantic-settings", "questionary", "rich", "structlog", "sulguk", "tomli-w", "typer", "watchfiles"]}}}, "0.34.0": {"released": "2026-03-07 06:48:05", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"untether-0.34.0-py3-none-any.whl": {"file_url": "/simple/untether/untether-0.34.0-py3-none-any.whl", "filehash": "15f2e33dbfee388699c878bf07d8787f70485ab1950c08c34d3a561945e7e61a", "filesize": 264307, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["aiohttp", "anyio", "httpx", "markdown-it-py", "msgspec", "openai", "pydantic", "pydantic-settings", "questionary", "rich", "structlog", "sulguk", "tomli-w", "typer", "watchfiles"]}}}, "0.33.4": {"released": "2026-03-06 11:14:38", "prerelease": false, "yanked": false, "skip_reason": "", "files": {}}, "0.33.3": {"released": "2026-03-06 10:02:25", "prerelease": false, "yanked": false, "skip_reason": "", "files": {}}, "0.33.2": {"released": "2026-03-06 08:44:05", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"untether-0.33.2-py3-none-any.whl": {"file_url": "/simple/untether/untether-0.33.2-py3-none-any.whl", "filehash": "59d86ecd9ccbff2c0c9592c42229707b9d576997d314d1b4223d3cdb5de61e63", "filesize": 261528, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["aiohttp", "anyio", "httpx", "markdown-it-py", "msgspec", "openai", "pydantic", "pydantic-settings", "questionary", "rich", "structlog", "sulguk", "tomli-w", "typer", "watchfiles"]}}}, "0.33.0": {"released": "2026-03-06 05:13:00", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"untether-0.33.0-py3-none-any.whl": {"file_url": "/simple/untether/untether-0.33.0-py3-none-any.whl", "filehash": "5001f47aca8707269940c30e7289d1be5c961be1dd9af760eea24c52ec94da05", "filesize": 261101, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["aiohttp", "anyio", "httpx", "markdown-it-py", "msgspec", "openai", "pydantic", "pydantic-settings", "questionary", "rich", "structlog", "sulguk", "tomli-w", "typer", "watchfiles"]}}}, "0.32.1": {"released": "2026-03-06 03:02:04", "prerelease": false, "yanked": false, "skip_reason": "", "files": {}}, "0.32.0": {"released": "2026-03-06 02:33:55", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"untether-0.32.0-py3-none-any.whl": {"file_url": "/simple/untether/untether-0.32.0-py3-none-any.whl", "filehash": "99527ad9fcaf9344570c95733ba034a6292e0b061c769f3992cef446dffcbf6d", "filesize": 259720, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["aiohttp", "anyio", "httpx", "markdown-it-py", "msgspec", "openai", "pydantic", "pydantic-settings", "questionary", "rich", "structlog", "sulguk", "tomli-w", "typer", "watchfiles"]}}}, "0.31.0": {"released": "2026-03-05 02:37:00", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"untether-0.31.0-py3-none-any.whl": {"file_url": "/simple/untether/untether-0.31.0-py3-none-any.whl", "filehash": "df2a0bca7b95a0ff1b1736a94976b122f6d8616d0afacf118069203b5886f009", "filesize": 244534, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["aiohttp", "anyio", "httpx", "markdown-it-py", "msgspec", "openai", "pydantic", "pydantic-settings", "questionary", "rich", "structlog", "sulguk", "tomli-w", "typer", "watchfiles"]}}}, "0.28.0": {"released": "2026-03-03 05:43:35", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"untether-0.28.0-py3-none-any.whl": {"file_url": "/simple/untether/untether-0.28.0-py3-none-any.whl", "filehash": "15d24d99f89f13cae14be18a1a776c1b1e3b49b19955e72e80d6871cc9088041", "filesize": 233841, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["aiohttp", "anyio", "httpx", "markdown-it-py", "msgspec", "openai", "pydantic", "pydantic-settings", "questionary", "rich", "structlog", "sulguk", "tomli-w", "typer", "watchfiles"]}}}, "0.27.1": {"released": "2026-03-02 04:14:06", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"untether-0.27.1-py3-none-any.whl": {"file_url": "/simple/untether/untether-0.27.1-py3-none-any.whl", "filehash": "744218447d2536a7ca6a459a8500a6f21ef6c7ee4d817d18f45f805dd2402d07", "filesize": 229489, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["aiohttp", "anyio", "httpx", "markdown-it-py", "msgspec", "openai", "pydantic", "pydantic-settings", "questionary", "rich", "structlog", "sulguk", "tomli-w", "typer", "watchfiles"]}}}, "0.27.0": {"released": "2026-03-01 10:02:25", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"untether-0.27.0-py3-none-any.whl": {"file_url": "/simple/untether/untether-0.27.0-py3-none-any.whl", "filehash": "be2ac515c1f4cb0075b65c90b41e3d2cefeeb6cf873dd71477bebf67462f90fa", "filesize": 229239, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["aiohttp", "anyio", "httpx", "markdown-it-py", "msgspec", "openai", "pydantic", "pydantic-settings", "questionary", "rich", "structlog", "sulguk", "tomli-w", "typer", "watchfiles"]}}}, "0.25.3": {"released": "2026-03-01 05:59:26", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"untether-0.25.3-py3-none-any.whl": {"file_url": "/simple/untether/untether-0.25.3-py3-none-any.whl", "filehash": "75532bcd3dc0fe5d57ade2430a9eeb1c814d57f97936eea9d9680e8afb83788d", "filesize": 224439, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["aiohttp", "anyio", "httpx", "markdown-it-py", "msgspec", "openai", "pydantic", "pydantic-settings", "questionary", "rich", "structlog", "sulguk", "tomli-w", "typer", "watchfiles"]}}}, "0.25.2": {"released": "2026-03-01 03:18:53", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"untether-0.25.2-py3-none-any.whl": {"file_url": "/simple/untether/untether-0.25.2-py3-none-any.whl", "filehash": "0f646ceccfcce9b36a7f760ebd569ecc852b91821cc38aa9ca2ff28e80680ef6", "filesize": 223450, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["aiohttp", "anyio", "httpx", "markdown-it-py", "msgspec", "openai", "pydantic", "pydantic-settings", "questionary", "rich", "structlog", "sulguk", "tomli-w", "typer", "watchfiles"]}}}, "0.25.1": {"released": "2026-03-01 02:58:03", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"untether-0.25.1-py3-none-any.whl": {"file_url": "/simple/untether/untether-0.25.1-py3-none-any.whl", "filehash": "af9ca88f0d3df19bd23b79c699736532ab80797207d7d2a97a604d3a90b6f0b1", "filesize": 223301, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["aiohttp", "anyio", "httpx", "markdown-it-py", "msgspec", "openai", "pydantic", "pydantic-settings", "questionary", "rich", "structlog", "sulguk", "tomli-w", "typer", "watchfiles"]}}}, "0.25.0": {"released": "2026-02-28 08:10:10", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"untether-0.25.0-py3-none-any.whl": {"file_url": "/simple/untether/untether-0.25.0-py3-none-any.whl", "filehash": "7347321b88e97c38911e66280830644c2be77f7a858f4eae866becf19082287c", "filesize": 220843, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["aiohttp", "anyio", "httpx", "markdown-it-py", "msgspec", "openai", "pydantic", "pydantic-settings", "questionary", "rich", "structlog", "sulguk", "tomli-w", "typer", "watchfiles"]}}}, "0.24.0": {"released": "2026-02-27 10:04:52", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"untether-0.24.0-py3-none-any.whl": {"file_url": "/simple/untether/untether-0.24.0-py3-none-any.whl", "filehash": "683b2518b9f0139b0f8d0735ee6fdd715e960b63ac926e7c24544305d8a6180f", "filesize": 215960, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["aiohttp", "anyio", "httpx", "markdown-it-py", "msgspec", "openai", "pydantic", "pydantic-settings", "questionary", "rich", "structlog", "sulguk", "tomli-w", "typer", "watchfiles"]}}}, "0.23.5": {"released": "2026-02-27 05:03:58", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"untether-0.23.5-py3-none-any.whl": {"file_url": "/simple/untether/untether-0.23.5-py3-none-any.whl", "filehash": "a4d177624d1ef030bab94fae666bb9634455913117b039b58fc00ecf4754ec08", "filesize": 214802, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["aiohttp", "anyio", "httpx", "markdown-it-py", "msgspec", "openai", "pydantic", "pydantic-settings", "questionary", "rich", "structlog", "sulguk", "tomli-w", "typer", "watchfiles"]}}}, "0.23.3": {"released": "2026-02-26 08:36:44", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"untether-0.23.3-py3-none-any.whl": {"file_url": "/simple/untether/untether-0.23.3-py3-none-any.whl", "filehash": "21e2fde45eeddf9120207feb97a53b6777002377bfc90a11fbb0b21c90adf18b", "filesize": 213179, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["aiohttp", "anyio", "httpx", "markdown-it-py", "msgspec", "openai", "pydantic", "pydantic-settings", "questionary", "rich", "structlog", "sulguk", "tomli-w", "typer", "watchfiles"]}}}, "0.23.2": {"released": "2026-02-26 08:06:59", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"untether-0.23.2-py3-none-any.whl": {"file_url": "/simple/untether/untether-0.23.2-py3-none-any.whl", "filehash": "bc94889019e091197d8d9269ba02be2dd37d843aaf7f5945e7449f6004d554af", "filesize": 213084, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["aiohttp", "anyio", "httpx", "markdown-it-py", "msgspec", "openai", "pydantic", "pydantic-settings", "questionary", "rich", "structlog", "sulguk", "tomli-w", "typer", "watchfiles"]}}}, "0.23.1": {"released": "2026-02-26 05:51:09", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"untether-0.23.1-py3-none-any.whl": {"file_url": "/simple/untether/untether-0.23.1-py3-none-any.whl", "filehash": "488c6721c8d20205528a506c59ebfc8641b3b7fa1fd04a9d0b22dc4adcb3285a", "filesize": 212658, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["aiohttp", "anyio", "httpx", "markdown-it-py", "msgspec", "openai", "pydantic", "pydantic-settings", "questionary", "rich", "structlog", "sulguk", "tomli-w", "typer", "watchfiles"]}}}, "0.23.0": {"released": "2026-02-26 05:17:42", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"untether-0.23.0-py3-none-any.whl": {"file_url": "/simple/untether/untether-0.23.0-py3-none-any.whl", "filehash": "07202595d31391a48f974c7a34839506c959b4e73518f6d32c83620d6bda02f4", "filesize": 212574, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["aiohttp", "anyio", "httpx", "markdown-it-py", "msgspec", "openai", "pydantic", "pydantic-settings", "questionary", "rich", "structlog", "sulguk", "tomli-w", "typer", "watchfiles"]}}}, "0.22.2": {"released": "2026-02-25 15:18:22", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"untether-0.22.2-py3-none-any.whl": {"file_url": "/simple/untether/untether-0.22.2-py3-none-any.whl", "filehash": "597c636d1dd72c4c0dcd7e55c6731ccae8c829a729bbbdc154927efe52082ba3", "filesize": 212393, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["aiohttp", "anyio", "httpx", "markdown-it-py", "msgspec", "openai", "pydantic", "pydantic-settings", "questionary", "rich", "structlog", "sulguk", "tomli-w", "typer", "watchfiles"]}}}, "0.22.1": {"released": "2026-02-25 14:34:59", "prerelease": false, "yanked": false, "skip_reason": "", "files": {"untether-0.22.1-py3-none-any.whl": {"file_url": "/simple/untether/untether-0.22.1-py3-none-any.whl", "filehash": "425e8aa7e487f41748bc733c63ca322731ddfecd32416a3df200db053782f56c", "filesize": 211557, "builder_abi": "cp313", "file_abi_tag": "none", "platform": "any", "requires_python": ">=3.12", "apt_dependencies": [], "pip_dependencies": ["aiohttp", "anyio", "httpx", "markdown-it-py", "msgspec", "openai", "pydantic", "pydantic-settings", "questionary", "rich", "structlog", "sulguk", "tomli-w", "typer", "watchfiles"]}}}}}