Skip to main content

Welcome to Caravel

Human-in-the-loop Agentic AI for your OpenAPI specs. Built in asynchronous Python and BAML.

image

Getting Started

Installation

pip install <name, hopefully caravel-ai>

AI Assistant Speedrun

from caravel.assistant.Assistant import Assistant
from caravel.baml.baml_client.types import Context
from caravel.http.Client import Client
from caravel.parsing.Parser import Parser

BASE_URL="env" # will be replaced with the dotenv

assistant: Assistant = Assistant(
    # finish this!
    client=Client(
        base_url=BASE_URL,
        auth_headers={}, # will be filled w auth headers
        allowed_methods=['get', 'post', 'patch', 'delete']
    ),
    spec_file="samsara.json"
) # Assistant

output_msg: str = "How can I help you today?"

while True:
    print("----------------------------------------")
    print("Assistant:")
    print(output_msg)
    print("----------------------------------------")
    user_prompt = input("$ ")
    output_msg = await assistant.assistant_call(user_prompt)

Overview

Caravel projects have four main parts:

  1. The Parser The Parser is a class that provides utilities for operating on OpenAPI specification files. The Parser is used to convert the OpenAPI specifications into formats that make it workable with the Client and the Runner.
  2. The Runner The Runner is a class consisting of methods that perform legwork such as constructing API requests, checking the schema of requests, etc.
  3. The Client The Client is a class that is used to make HTTP requests to the API. Client functions recieve their parameters from the runner and return their results in JSON format or in human/LLM-readable text. In addition to the standard HTTP methods, the Client also allows users to add their own custom methods to the client.
  4. The CaravelRegistry The CaravelRegistry is a function registry class. This registry is what allows developers to call Caravel functions from their assistant. The CaravelRegistry is a singleton class.

Metadata

Release files for caravel-ai 0.0.3

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

Source distribution (sdist)

Source distribution for caravel-ai 0.0.3
File Size Uploaded Provenance Actions
caravel_ai-0.0.3.tar.gz 29.7 kB Without provenance Details for caravel_ai-0.0.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for caravel-ai 0.0.3
File Interpreter ABI Platform Actions
caravel_ai-0.0.3-py3-none-any.whl Python 3 none any Details for caravel_ai-0.0.3-py3-none-any.whl

Total release size: 68.9 kB

Release files / caravel_ai-0.0.3.tar.gz

Download URL caravel_ai-0.0.3.tar.gz
Size 29.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a65db1bef4696c990647171350a90c4bd2d5f0225f6278e035eb476702e644e2
BLAKE2b-256 checksum
How to use checksums
88d520b24a3ed92962e979f26e1c00731ee76a5fa72a902cbdb6e39e3b757c0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.1 CPython/3.11.11 Linux/5.15.167.4-microsoft-standard-WSL2

Release files / caravel_ai-0.0.3-py3-none-any.whl

Download URL caravel_ai-0.0.3-py3-none-any.whl
Size 39.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eeacc70f9a1f22560098451fb1ab22f85d7dd1657fde7fc836d39adb46e287f1
BLAKE2b-256 checksum
How to use checksums
9b2ec1661a36276835aba83e97edd93222a391e20a2ccdbde1a421ca55843fb1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.1 CPython/3.11.11 Linux/5.15.167.4-microsoft-standard-WSL2

Security for caravel-ai 0.0.3

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

0.0.3 This release

2 release files No provenance

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