Skip to main content

Larkup Python SDK

The synchronous and asynchronous Python clients for a generated Larkup server.

Install

pip install larkup

Use

from larkup import LarkupClient, LarkupClientOptions

client = LarkupClient(
    LarkupClientOptions(
        base_url="http://localhost:8080",
        api_key="your-api-key",
    )
)

result = client.query("What is Larkup?", top_k=5)

for event in client.chat("Summarize the result."):
    if event.type == "text-delta":
        print(event.text or "", end="", flush=True)

The SDK supports health and OpenAPI discovery, retrieval, document CRUD, sequential or parallel bulk indexing with progress, corpus filtering and export, scraping, and streaming chat grounded in retrieved content. AsyncLarkupClient provides matching asynchronous methods.

Agent Server

In Settings → Runtime, select Agent and start the server. Then use its displayed URL. Open <displayed-url>/reference for the interactive Scalar API reference or <displayed-url>/openapi.json for the OpenAPI document:

import os

from larkup import LarkupAgentClient

agent = LarkupAgentClient(
    base_url="http://localhost:8080",
    api_key=os.environ["LARKUP_API_KEY"],
)
print(agent.health())
for capability in agent.capabilities():
    print(capability.name, capability.tools)
print(agent.configuration().systemPrompt)
print(agent.sandbox())
for text in agent.stream_text("Hello"):
    print(text, end="", flush=True)

Select an available chat model

Generated runtimes expose their usable chat catalog through the SDK. Model selection is per request, so it does not mutate the deployment default.

from larkup import AgentChatRequest

catalog = agent.chat_model_catalog()
models = agent.chat_models("anthropic")

if models:
    print(agent.chat_text(AgentChatRequest(
        messages=[{"role": "user", "content": "Summarize the project."}],
        provider=catalog.configuredProvider,
        modelId=models[0].id,
    )))

AI Gateway runtimes can select any language model returned by the catalog; direct-provider runtimes are limited to their configured provider. See the Vercel AI Gateway model catalog for current providers and models.

LarkupHubClient and AsyncLarkupHubClient provide typed Marketplace catalog discovery. Install and uninstall operations remain in the CLI because they change the local Larkup tool directory.

See the Python SDK documentation for the complete guide.

Development

cd apps/sdk/py-sdk
uv run pytest

Download files

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

Source Distribution

larkup-0.2.5.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

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

larkup-0.2.5-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file larkup-0.2.5.tar.gz.

File metadata

  • Download URL: larkup-0.2.5.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for larkup-0.2.5.tar.gz
Algorithm Hash digest
SHA256 9e61539131d22a1f7532528779e903fd1b5eed190a9fc1ce72d2ed5061e47145
MD5 56fba92c6384abd9f5062736e08f3b19
BLAKE2b-256 375022af48466f19af2e40042757352ce80e96eb8eb4db9df37c138ea2307925

See more details on using hashes here.

File details

Details for the file larkup-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: larkup-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 12.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for larkup-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 7c2f284e87b693bb27af39280b4271e5b1b8a279609691c6e1d69c19757e069d
MD5 44464b10d148e60cd1ab1f1f6a5fc3ed
BLAKE2b-256 15f839a85f84d1a87b757ba8cbd2f3dd469b863d0c3adb7e0abff7a2c14f7d1a

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.5 This release

2 files

0.2.4

2 files

0.2.3

2 files

0.1.74

2 files

0.1.72

2 files

0.1.71

2 files

0.1.70

2 files

0.1.69

2 files

0.1.68

2 files

0.1.67

2 files

0.1.64

2 files

0.1.62

2 files

0.1.61

2 files

0.1.50

2 files

0.1.49

2 files

0.1.43

2 files

0.1.42

2 files

0.1.41

2 files

0.1.40

2 files

0.1.39

2 files

0.1.38

2 files

0.1.37

2 files

0.1.36

2 files

0.1.35

2 files

0.1.32

2 files

0.1.30

2 files

0.1.29

2 files

0.1.20

2 files

0.1.19

2 files

0.1.14

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page