Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

crow-client

A client for interacting with endpoints of the FutureHouse crow service.

Installation

uv pip install crow-client

Usage

The CrowClient provides simple functions to deploy and monitor your crow.

In the case of environments the deployment looks like this

from pathlib import Path
from crow_client import CrowClient
from crow_client.models import CrowDeploymentConfig

client = CrowClient()

crow = CrowDeploymentConfig(
    path=Path("../envs/dummy_env"),
    environment="dummy_env.env.DummyEnv",
    requires_aviary_internal=False,
    environment_variables={"SAMPLE_ENV_VAR": "sample_val"},
    agent="ldp.agent.SimpleAgent",
)

client.create_crow(crow)

# checks the status
client.get_build_status()

For functional environments we don't need to pass the file path and can pass the environment builder instead

from aviary.core import fenv
import numpy as np


def function_to_use_here(inpste: str):
    a = np.array(np.asmatrix("1 2; 3 4"))
    return inpste


@fenv.start()
def my_env(topic: str):
    """
    Here is the doc string describing the task.
    """
    a = np.array(np.asmatrix("1 2; 3 4"))
    return f"Write a sad story about {topic}", {"chosen_topic": topic}


@my_env.tool()
def print_story(story: str, state) -> None:
    """Print the story and complete the task"""
    print(story)
    print(function_to_use_here(story))
    state.reward = 1
    state.done = True


from crow_client import CrowClient
from crow_client.models import CrowDeploymentConfig, Stage
from crow_client.clients.rest_client import generate_requirements

client = CrowClient(stage=Stage.LOCAL)

crow = CrowDeploymentConfig(
    functional_environment=my_env,
    environment="my_env",
    requires_aviary_internal=False,
    environment_variables={"SAMPLE_ENV_VAR": "sample_val"},
    agent="ldp.agent.SimpleAgent",
    requirements=generate_requirements(my_env, globals()),
)

client.create_crow(crow)

This client also provides functions that let you send tasks to an existing crow:

from crow_client import CrowJob

client = CrowClient()

job_data = {"name": "your-job-name", "query": "your task"}
client.create_job(job_data)

# checks the status
client.get_job()

The CrowJobClient provides an interface for managing environment states and agent interactions in the FutureHouse crow service.

from crow_client import CrowJobClient
from crow_client.models.app import Stage

client = CrowJobClient(
    environment="your_environment_name",
    agent="your_agent_id",
    auth_token="your_auth_token",
    base_uri=Stage.DEV,
    trajectory_id=None,
)

Metadata

Release files for crow-client 0.1.dev203

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for crow-client 0.1.dev203
File Size Uploaded Provenance Actions
crow_client-0.1.dev203.tar.gz 170.8 kB Without provenance Details for crow_client-0.1.dev203.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for crow-client 0.1.dev203
File Interpreter ABI Platform Actions
crow_client-0.1.dev203-py3-none-any.whl Python 3 none any Details for crow_client-0.1.dev203-py3-none-any.whl

Total release size: 195.1 kB

Release files / crow_client-0.1.dev203.tar.gz

Download URL crow_client-0.1.dev203.tar.gz
Size 170.8 kB
Tags Source
SHA-256 checksum
How to use checksums
65aaad4e66a2894af6b396c4afa5b8bb9aebdaad2ed69dcdb0663a2dc7d213fc
BLAKE2b-256 checksum
How to use checksums
0ec2cc49a56f2cb3415cd45c1cc13f6c75971e9ecad9dce0a561aa36b1ea34e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.4.29

Release files / crow_client-0.1.dev203-py3-none-any.whl

Download URL crow_client-0.1.dev203-py3-none-any.whl
Size 24.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b128b1cc5d4cd111547fa80d8db9901d9ac5a8ab1907fc251b031889557e06cb
BLAKE2b-256 checksum
How to use checksums
4899f00a52be047806540eccd31fae26a7d8ca79deeec1059cf4199e221c3e1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.4.29

Security for crow-client 0.1.dev203

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
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