Skip to main content

Official Python SDK for the AstarCloud API

Project description

AstarCloud SDK

Python SDK for the AstarCloud API with support for chat completions and tool calling.

Installation

pip install astarcloud-sdk

Quick Start

from AstarCloud import AstarClient

client = AstarClient(api_key="sk-...")

# Basic chat completion
response = client.create.completion(
    messages=[{"role": "user", "content": "Hello!"}],
    model="gpt-4.1"
)

print(response.choices[0].message.content)

Tool Calling

The SDK supports tool calling for compatible models (gpt-4.1, gpt-4.1-mini, gpt-4.1-nano, astar-gpt-4.1).

Basic Tool Usage

from AstarCloud import AstarClient, ToolSpec

client = AstarClient(api_key="sk-...")

# Define a tool
weather_tool = ToolSpec(
    function={
        "name": "get_weather",
        "description": "Get the current weather in a given location",
        "parameters": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string",
                    "description": "The city and state, e.g. San Francisco, CA"
                }
            },
            "required": ["location"]
        }
    }
)

# Use the tool in a completion
response = client.create.completion(
    messages=[{"role": "user", "content": "What's the weather in Paris?"}],
    model="gpt-4.1",
    tools=[weather_tool],
    tool_choice="auto"
)

# Check if the model wants to call a tool
if response.choices[0].tool_calls:
    tool_call = response.choices[0].tool_calls[0]
    print(f"Tool called: {tool_call.function['name']}")
    print(f"Arguments: {tool_call.function['arguments']}")

Bound Tools Client

For convenience, you can create a client with pre-bound tools:

# Create a client with bound tools
bound_client = client.bind_tools([weather_tool])

# All completions will automatically include the bound tools
response = bound_client.create.completion(
    messages=[{"role": "user", "content": "What's the weather in Tokyo?"}],
    model="gpt-4.1"
)

Streaming

The SDK supports streaming responses:

for chunk in client.create.completion(
    messages=[{"role": "user", "content": "Write a story"}],
    model="gpt-4.1",
    stream=True
):
    if chunk.choices[0].message.content:
        print(chunk.choices[0].message.content, end="")

Error Handling

from AstarCloud import AstarClient
from AstarCloud._exceptions import APIError, AuthenticationError

try:
    response = client.create.completion(
        messages=[{"role": "user", "content": "Hello"}],
        model="gpt-4.1"
    )
except AuthenticationError:
    print("Invalid API key")
except APIError as e:
    print(f"API error: {e}")

Model Support

Tool-Compatible Models

  • gpt-4.1
  • gpt-4.1-mini
  • gpt-4.1-nano
  • astar-gpt-4.1

Other models can be used for basic completions but do not support tool calling.

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

astarcloud-0.1.11.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

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

astarcloud-0.1.11-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file astarcloud-0.1.11.tar.gz.

File metadata

  • Download URL: astarcloud-0.1.11.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.8

File hashes

Hashes for astarcloud-0.1.11.tar.gz
Algorithm Hash digest
SHA256 2072276a5ffbd027c8c54e1f0696c86cbc4c7e9ffccb6e2de4d5afe724b706bb
MD5 c85bbb5f5ad7aa552731188960ea59cf
BLAKE2b-256 0a53488d1f952fcf2ffcf650ab311028fc281b63f94125763a7179ceff04101b

See more details on using hashes here.

File details

Details for the file astarcloud-0.1.11-py3-none-any.whl.

File metadata

  • Download URL: astarcloud-0.1.11-py3-none-any.whl
  • Upload date:
  • Size: 6.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.8

File hashes

Hashes for astarcloud-0.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 d8bc77184e0ac0dea296fd25644557642a68a364bdd9a59cf119a6ebd33fdb53
MD5 ea3dcadda2cccc2c745ca680e64ad9de
BLAKE2b-256 3daa6804cd274f37d30d9df3b9926e499c51e59e24392d9f13464e2fa489dea9

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