Skip to main content

A full-featured async Python client for the internal Antigravity API with Tool Calling and Streaming support.

Project description

anti-client

A full-featured Python client library for interacting with the internal Anrigravity API (Gemini).

Features

  • OAuth 2.0 Authentication: Built-in authentication flow with token caching (~/.anti-api/accounts.json).
  • Function Calling: Complete support for tool execution by agents.
  • Streaming: Native streaming capabilities, seamlessly integrated with function calling.
  • Resource Management: Automated model discovery, quota checking, and precise usage statistics.

Installation

Install the package directly from the source directory:

pip install .

Usage Example

from anti_client import Client, Agent, Tool

# 1. Initialize Client (Triggers OAuth flow if tokens are missing)
client = Client()

# 2. Define Tools
def get_weather(city: str) -> str:
    """Retrieve weather information for a specific city."""
    return f"The weather in {city} is clear and sunny."

weather_tool = Tool(
    name="get_weather",
    description="Retrieve the current weather for a specified city.",
    parameters={
        "type": "object",
        "properties": {
            "city": {"type": "string", "description": "The name of the city."}
        },
        "required": ["city"],
    },
    func=get_weather
)

# 3. Initialize Agent
agent = Agent(
    client=client,
    model="gemini-3.1-pro-low",
    system_prompt="You are a helpful assistant.",
    tools=[weather_tool]
)

# 4. Generate Response
response = agent.run("Hello! What's the weather like in London?")

if not isinstance(response, type((x for x in []))): # If stream=False
    print("Response:", response.text)
    print("Tokens Used:", response.usage.total_tokens)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

anti_client-0.1.0.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

anti_client-0.1.0-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file anti_client-0.1.0.tar.gz.

File metadata

  • Download URL: anti_client-0.1.0.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for anti_client-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9240c69a3fddf2bd1f9ac1f43a6b947954ed16526904a9cf8719224c3c2fc35e
MD5 d738949f0b8cc806fd04b680852442e8
BLAKE2b-256 aaedd810d95a66df7fad55f3560e996ca11c99da679ee2205edacf58f358c54e

See more details on using hashes here.

File details

Details for the file anti_client-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: anti_client-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for anti_client-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 35e0cb97acee1ac4f73d170a1ba86624857f2e096a72c3e5b54758cc322d9345
MD5 654a585d36aa3c310dc60d6f6c9d702a
BLAKE2b-256 e47e4ce3a1c02d50fbf8077e22a3148615ddec88d02f31f8370018add3ac490b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page