😸 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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0628c8fa2e10f06d3cfb7acd2c5aa14cae0d66b12a77a88411456e4bfc85a2a |
|
MD5 | 8324841747f49df8ab6cb23a6ea3609f |
|
BLAKE2b-256 | 2f90b970cde6e49e0e36047bfda2edf18375b1b20e2d3602dbe80eba0ffd3e7c |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e51e0ea684011cae5f63aa9b8d92094cdbbb15bdce83c2c3e2fc3be57530881 |
|
MD5 | 9f692d01e0151671760d5f5ab5a2f4e7 |
|
BLAKE2b-256 | 9a9fc9378ba9e5c33967decaad52937e3a327e1bf4a6cd8ce84cccbbc0c53e63 |