Skip to main content

PyPI Python License

evoid-scylla

ScyllaDB/Cassandra storage engine — Intent Handler system

Quick StartIntent HandlerConfigAPI


Quick Start

uv add evoid-scylla

Method 1: Intent Handler (Recommended)

from evoid_scylla import register_handlers
from evoid.core.storage import storage_read, storage_write, storage_delete

# Register ScyllaDB as storage handler
register_handlers(
    contact_points=["127.0.0.1"],
    port=9042,
    keyspace="evoid",
)

# Use high-level API
await storage_write("user:1", {"name": "Alice"})
user = await storage_read("user:1")
await storage_delete("user:1")

Method 2: Direct API

from evoid_scylla import create_storage

storage = create_storage(contact_points=["127.0.0.1"], port=9042)
await storage.write("user:1", {"name": "Alice"})
user = await storage.read("user:1")

Intent Handler

evoid-scylla registers these Intent handlers:

Intent Handler Description
storage.read handle_read Read from ScyllaDB
storage.write handle_write Write to ScyllaDB
storage.delete handle_delete Delete from ScyllaDB
storage.health handle_health Check connection

Configuration

TOML

[engines]
storage = "scylla"

[engines.options.scylla]
contact_points = ["127.0.0.1"]
port = 9042
keyspace = "evoid"

API

register_handlers(contact_points, port, keyspace)

Register ScyllaDB as Intent handlers.

Parameter Type Default Description
contact_points list[str] ["127.0.0.1"] Cassandra/ScyllaDB nodes
port int 9042 Native transport port
keyspace str evoid Keyspace name

create_storage(contact_points, port, keyspace) -> ScyllaStorage

Factory function for direct API access.


DI Integration

When you call register_handlers(), ScyllaDB is auto-registered as storage.scylla in evoid-di:

from evoid_di import di

# After register_handlers(), set up fallback chain:
di.set_fallback("storage.scylla", ["storage.sqlite", "cache.redis"])

# Auto-fallback on failure:
storage = di.resolve_with_fallback("storage.scylla")

Dependencies

  • evoid>=0.4.0
  • cassandra-driver>=3.29.0

Links

License

MIT

Release files for evoid-scylla 0.2.0

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

Built distribution (wheel)

Table of built distributions (wheels) for evoid-scylla 0.2.0
File Interpreter ABI Platform
evoid_scylla-0.2.0-py3-none-any.whl Python 3 none any Details

Release files / evoid_scylla-0.2.0-py3-none-any.whl

Download URL evoid_scylla-0.2.0-py3-none-any.whl
Size 5.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a661c8603860ba80b568558ad4c4b3e3fc83f4949a692c8139e6472696886ed3
BLAKE2b-256 checksum
How to use checksums
c5ed1811ac5cf97deb6023a22ffa38109494429f75e92e5006537e2158d8655d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.2.0 This release

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

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