Skip to main content

Cohere Compass SDK

Project description

Cohere Compass SDK

Checked with pyright

The Compass SDK is a Python library that allows you to parse documents and insert them into a Compass index.

In order to parse documents, the Compass SDK relies on the Compass Parser API, which is a RESTful API that receives files and returns parsed documents. This requires a hosted Compass server.

The Compass SDK provides a CompassParserClient that allows to interact with the parser API from your Python code in a convenient manner. The CompassParserClient provides methods to parse single and multiple files, as well as entire folders, and supports multiple file types (e.g., pdf, docx, json, csv, etc.) as well as different file systems (e.g., local, S3, GCS, etc.).

To insert parsed documents into a Compass index, the Compass SDK provides a CompassClient class that allows to interact with a Compass API server. The Compass API is also a RESTful API that allows to create, delete and search documents in a Compass index.

Table of Contents

Getting Started

Installation

To install the SDK using pip:

pip install cohere-compass-sdk

If you are using a package management tool like poetry or uv:

poetry add cohere-compass-sdk

or

uv add cohere-compass-sdk

Once you install it, the best way to learn how to use the SDK is to head over to our examples. For the API reference, you can visit this link.

V2 Migration Guide

To improve the quality of the SDK and address multiple long-standing issues, as well as supporting async clients, we decided to introduce v2.0, a new major version. v2.0 has breaking changes and will require code changes. Fortunately, the changes are minimal and can frequently be deduced just by looking at the new signatures of the APIs. Below is a summary:

  • Previously, we had multiple methods that relied on return values for error handling. This is no more the case, and almost all methods now raise exceptions in case of errors. This means that instead of a code like:
result = compass_client.create_index(...)
if result.error:
    # do something about the error

you instead do:

try:
    result = compass_client.create_index(...)
except:
    # do something about the error
  • v2.0 supports async clients. Async clients maintain the same signature as their sync counterparts. So, where you would do the following to create an index:
client = CompassClient(index_url=api_url, bearer_token=bearer_token)
client.create_index(...)

In async, you simply do:

client = CompassAsyncClient(index_url=api_url, bearer_token=bearer_token)
await client.create_index(...)

Local Development

Create Python Virtual Environment

We use Poetry to manage our Python environment. To create the virtual environment use the following command:

poetry sync

Running Tests Locally

We use pytest for testing. So, you can simply run tests using the following command:

poetry run python -m pytest

VSCode Users

We provide .vscode folder for those developers who prefer to use VSCode. You just need to open the folder in VSCode and VSCode should pick our settings.

Pre-commit

We love and appreciate Coding Standards and so we enforce them in our code base. However, without automation, enforcing Coding Standards usually result in a lot of frustration for developers when they publish Pull Requests and our linters complain. So, we automate our formatting and linting with pre-commit. All you need to do is install our pre-commit hook so the code gets formatted automatically when you commit your changes locally:

poetry run pre-commit install

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

cohere_compass_sdk-2.9.1.tar.gz (43.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cohere_compass_sdk-2.9.1-py3-none-any.whl (52.5 kB view details)

Uploaded Python 3

File details

Details for the file cohere_compass_sdk-2.9.1.tar.gz.

File metadata

  • Download URL: cohere_compass_sdk-2.9.1.tar.gz
  • Upload date:
  • Size: 43.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.15 Linux/6.17.0-1011-azure

File hashes

Hashes for cohere_compass_sdk-2.9.1.tar.gz
Algorithm Hash digest
SHA256 c476771b2169efb0593624c9d7a5b5cadd904aa6630c3b53dbc10a361eaafa70
MD5 1eb1eb8dfddd09883699a50e9d9d0335
BLAKE2b-256 da730a08663001e8c3e213c23cebe2be57bbe5e2689a38a0115387cae52ea33d

See more details on using hashes here.

File details

Details for the file cohere_compass_sdk-2.9.1-py3-none-any.whl.

File metadata

  • Download URL: cohere_compass_sdk-2.9.1-py3-none-any.whl
  • Upload date:
  • Size: 52.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.15 Linux/6.17.0-1011-azure

File hashes

Hashes for cohere_compass_sdk-2.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 959f94735352d4ef214c7bb43ed8c369b4655a25411c7526e90cce7d79298e17
MD5 33d1d4b9f5ca3ec7596cd4ee0c45c952
BLAKE2b-256 e4f0f690e4593a51c412a40b8879934542219e4f6e467589d8c5d498a0528cd9

See more details on using hashes here.

Supported by

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