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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.