Skip to main content

😸 Cheshire-Cat API Client

Project description

Cheshire Cat API client

API to develop Python clients to interact with the Cheshire Cat.

The package allows instantiating a WebSocket client and provides the API to interact with all the endpoints.

A part of this Python package is automatically generated by the OpenAPI Generator project.

For deeper documentation about the available endpoints, please refer to the API ReDoc. The official Cheshire Cat documentation is available here.

Requirements.

Python 3.10

Installation & Usage

pip install

You can install the API with pip:

pip install cheshire-cat-api

Then import the package:

import cheshire_cat_api as ccat

Interact with the HTTP Endpoints

Available APIs

The CatClient has the following attributes to easily interface with the related APis:

  • memory
  • plugins
  • rabbit_hole
  • status
  • embedder
  • settings
  • llm

Instantiate connection

import cheshire_cat_api as ccat

# A config is necessary to set up base parameters like
# URL, port, user_id, etc.
config = ccat.Config(user_id="my_user_42")

# Connect to the API
cat_client = ccat.CatClient(
    config=config
)

Plugin API - Retrieve plugins

# Now retrieve a list of the available plugins
plugins = cat_client.plugins.get_available_plugins()

RabbitHole API - Upload a URL

from cheshire_cat_api.models.body_upload_url import BodyUploadUrl

# Please note that interacting with the RabbitHole to upload
# a URL requires structuring the body like this

body_upload_url = BodyUploadUrl(
    url="https://cheshire-cat-ai.github.io/docs/conceptual/cheshire_cat/rabbit_hole/"
)

# then you can make the request as follows
response = cat_client.rabbit_hole.upload_url(body_upload_url)

Send a WebSocket message

import time
import cheshire_cat_api as ccat

# A config is necessary to set up base parameters like
# URL, port, user_id, etc.
config = ccat.Config(user_id="my_user_42")
cat_client = ccat.CatClient(config=config)

# Connect to the WebSocket API
cat_client.connect_ws()

while not cat_client.is_ws_connected: 
# A better handling is strongly advised to avoid an infinite loop 
    time.sleep(1)
    
# Send the message
cat_client.send(message="Hello Cat!")

# Close connection
cat_client.close()

Documentation for Config

Both the classes are available with:

from cheshire_cat_api import Config
Class Name Default Description
Config base_url "localhost" base URL where the Cat is hosted
Config port 1865 port for the connection
Config user_id "user" id of the client
Config auth_key "" authentication key for the http endpoints
Config secure_connection False if to use secure protocol

Low-level API

For a more advanced usage, you can directly interact with the auto-generated client. For documentation see here

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

cheshire_cat_api-1.4.1.tar.gz (33.3 kB view details)

Uploaded Source

Built Distribution

cheshire_cat_api-1.4.1-py3-none-any.whl (49.3 kB view details)

Uploaded Python 3

File details

Details for the file cheshire_cat_api-1.4.1.tar.gz.

File metadata

  • Download URL: cheshire_cat_api-1.4.1.tar.gz
  • Upload date:
  • Size: 33.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.0 Linux/6.2.0-1018-azure

File hashes

Hashes for cheshire_cat_api-1.4.1.tar.gz
Algorithm Hash digest
SHA256 d0628c8fa2e10f06d3cfb7acd2c5aa14cae0d66b12a77a88411456e4bfc85a2a
MD5 8324841747f49df8ab6cb23a6ea3609f
BLAKE2b-256 2f90b970cde6e49e0e36047bfda2edf18375b1b20e2d3602dbe80eba0ffd3e7c

See more details on using hashes here.

File details

Details for the file cheshire_cat_api-1.4.1-py3-none-any.whl.

File metadata

  • Download URL: cheshire_cat_api-1.4.1-py3-none-any.whl
  • Upload date:
  • Size: 49.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.0 Linux/6.2.0-1018-azure

File hashes

Hashes for cheshire_cat_api-1.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0e51e0ea684011cae5f63aa9b8d92094cdbbb15bdce83c2c3e2fc3be57530881
MD5 9f692d01e0151671760d5f5ab5a2f4e7
BLAKE2b-256 9a9fc9378ba9e5c33967decaad52937e3a327e1bf4a6cd8ce84cccbbc0c53e63

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page