Skip to main content

SDK for spawning sub-agents with full isolation

Project description

funky-sdk

Python SDK for spawning isolated Funky sub-agents.

Install

pip install funky-sdk

Getting started

import os
from funky import Funky

client = Funky(
    api_key=os.environ.get("FUNKY_API_KEY"),  # This is the default and can be omitted
)

agent = client.create_subagent(model="gemini-3-flash-preview")
try:
    messages = agent.send_message("What is 2 * 2?")
    print(messages[-1].text)
finally:
    agent.terminate()

create_subagent also accepts an optional system_prompt:

agent = client.create_subagent(
    model="gemini-3-flash-preview",
    system_prompt="You are a terse coding assistant.",
)

Uploading and downloading files

SubAgent.upload accepts either a local path or raw bytes; SubAgent.download returns the file contents and can optionally mirror them to disk.

agent.upload("/path/to/data.csv")                    # remote name: data.csv
agent.upload(b"hello", remote_name="greeting.txt")   # raw bytes

content = agent.download("data.csv")                 # -> bytes
agent.download("data.csv", local_path="./out.csv")   # also writes to disk

Requirements

Python 3.10+

Publishing to PyPI

  1. Bump the version in pyproject.toml.

  2. Clean any previous artifacts and build the distribution:

    rm -rf dist/
    uv build
    
  3. Upload to PyPI with twine (uses ~/.pypirc or the TWINE_USERNAME / TWINE_PASSWORD env vars; for an API token set the username to __token__):

    uv run twine upload dist/*
    

    To test against TestPyPI first:

    uv run twine upload --repository testpypi dist/*
    

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

funky_sdk-0.2.20.tar.gz (43.8 kB view details)

Uploaded Source

Built Distribution

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

funky_sdk-0.2.20-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file funky_sdk-0.2.20.tar.gz.

File metadata

  • Download URL: funky_sdk-0.2.20.tar.gz
  • Upload date:
  • Size: 43.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for funky_sdk-0.2.20.tar.gz
Algorithm Hash digest
SHA256 b90ecd00e433ea52845128dde95c7f0cf5c17ff388ca33e185400a2bf44e8fb4
MD5 627ad97606b6826358191e41e6b4368f
BLAKE2b-256 b4f589db6429a44907d99d03b57dcf7f50dd8cef23b96670351d0a91278ca444

See more details on using hashes here.

File details

Details for the file funky_sdk-0.2.20-py3-none-any.whl.

File metadata

  • Download URL: funky_sdk-0.2.20-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for funky_sdk-0.2.20-py3-none-any.whl
Algorithm Hash digest
SHA256 755037b91c2e0701ddc7e8f699b0891a741be9f260ec1a673542ecc9a9be5ed0
MD5 e105403a739a5312d35c4809dfc1139f
BLAKE2b-256 5de730329d14c3185aaad817eaa55b25467ee91bb4c06e851d2c4972b93bf74c

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