Skip to main content

cassIO

A framework-agnostic Python library to seamlessly integrate Apache Cassandra with ML/LLM/genAI workloads.

Note: this is currently an alpha release.

Users

Installation is as simple as:

pip install cassio

For example usages and integration with higher-level LLM frameworks such as LangChain, please visit cassio.org.

CassIO developers

Setup

To develop cassio, we use poetry

pip install poetry

Use poetry to install dependencies

poetry install

Use cassio current code in other Poetry base projects

If the integration is Poetry-based (e.g. LangChain itself), you should get this in your pyproject.toml:

cassio = {path = "../../cassio", develop = true}

Then you do

poetry remove cassio                                      # if necessary
poetry lock --no-update
poetry install -E all --with dev --with test_integration  # or similar, this is for langchain

Inspired from this. You also need a recent Poetry for this to work.

Versioning

We are still at 0.*. Occasional breaking changes are to be expected, but please think carefully. Later, a stronger versioning model will be adopted.

Style and typing

Style is enforced through black, linting with ruff, and typechecking with mypy. The code should run through make format without issues.

Python version coverage

At the moment we try to run tests under Python3.8 and Python3.10 to try and catch versions-specific issues (such as the newer typing syntax such as typeA | typeB, illegal on 3.8).

Publishing

  • Bump version in pyproject.toml
  • Add to CHANGES.txt
  • Commit the very code that will be built:
  • git tag v<x.y.z>; git push origin v<x.y.z>
make build
poetry publish  # (login to PyPI ...)

Testing

Please run tests (and add some coverage for new features). This is not enforced other than to your conscience. Type make for the available tests.

To run the full tests (except specific tests targeting Cassandra), there's make test-all.

Unit testing

make test-unit

Integration with the DB

Ensure the required environment variables are set (see for instance the provided TEMPLATE.testing.env). You need at least one of either Astra DB or a Cassandra (5+) cluster to use.

Launch the tests with either of:

make test-integration

make test-astra-integration
make test-cassandra-integration
make test-testcontainerscassandra-integration

The last three above specify TEST_DB_MODE as either LOCAL_CASSANDRA, TESTCONTAINERS_CASSANDRA or ASTRA_DB. Refer to TEMPLATE.testing.env for required environment variables in the specific cases.

Note: Ideally you should test with both Astra DB and one Cassandra, since some tests are skipped in either case.

Metadata

Release files for cassio 0.1.10

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

Source distribution (sdist)

Source distribution for cassio 0.1.10
File Size Uploaded
cassio-0.1.10.tar.gz 35.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cassio 0.1.10
File Interpreter ABI Platform
cassio-0.1.10-py3-none-any.whl Python 3 none any Details

Total release size: 81.6 kB

Release files / cassio-0.1.10.tar.gz

Download URL cassio-0.1.10.tar.gz
Size 35.9 kB
Tags Source
SHA-256 checksum
How to use checksums
577f0a2ce5898a57c83195bf74811dec8794282477eb6fa4debd4ccec6cfab98
BLAKE2b-256 checksum
How to use checksums
8800a9a3a958169677f5f713bb3ed5a4afc1baf7abd1e08f37acad718aa923db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.11.2 Linux/6.1.0-21-amd64

Release files / cassio-0.1.10-py3-none-any.whl

Download URL cassio-0.1.10-py3-none-any.whl
Size 45.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9eebe5f18b627d0f328de4dbbf22c68cc76dbeecf46d846c0277e410de5cb1dc
BLAKE2b-256 checksum
How to use checksums
73ae25347dca6ca4032d421cd674fdb35bb02985baf5dcb8cbfac0cc95dfae49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.11.2 Linux/6.1.0-21-amd64

Release history Release notifications | RSS feed

This release

0.1.10 This release

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

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