# CassandraChatMessageHistory

> **Class** in `langchain_community`

📖 [View in docs](https://reference.langchain.com/python/langchain-community/chat_message_histories/cassandra/CassandraChatMessageHistory)

Chat message history that is backed by Cassandra.

## Signature

```python
CassandraChatMessageHistory(
    self,
    session_id: str,
    session: Optional[Session] = None,
    keyspace: Optional[str] = None,
    table_name: str = DEFAULT_TABLE_NAME,
    ttl_seconds: Optional[int] = DEFAULT_TTL_SECONDS,
    *,
    setup_mode: SetupMode = SetupMode.SYNC,
)
```

## Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `session_id` | `str` | Yes | arbitrary key that is used to store the messages of a single chat session. |
| `session` | `Optional[Session]` | No | Cassandra driver session. If not provided, it is resolved from cassio. (default: `None`) |
| `keyspace` | `Optional[str]` | No | Cassandra key space. If not provided, it is resolved from cassio. (default: `None`) |
| `table_name` | `str` | No | name of the table to use. (default: `DEFAULT_TABLE_NAME`) |
| `ttl_seconds` | `Optional[int]` | No | time-to-live (seconds) for automatic expiration of stored entries. None (default) for no expiration. (default: `DEFAULT_TTL_SECONDS`) |
| `setup_mode` | `SetupMode` | No | mode used to create the Cassandra table (SYNC, ASYNC or OFF). (default: `SetupMode.SYNC`) |

## Extends

- `BaseChatMessageHistory`

## Constructors

```python
__init__(
    self,
    session_id: str,
    session: Optional[Session] = None,
    keyspace: Optional[str] = None,
    table_name: str = DEFAULT_TABLE_NAME,
    ttl_seconds: Optional[int] = DEFAULT_TTL_SECONDS,
    *,
    setup_mode: SetupMode = SetupMode.SYNC,
) -> None
```

| Name | Type |
|------|------|
| `session_id` | `str` |
| `session` | `Optional[Session]` |
| `keyspace` | `Optional[str]` |
| `table_name` | `str` |
| `ttl_seconds` | `Optional[int]` |
| `setup_mode` | `SetupMode` |


## Properties

- `session_id`
- `ttl_seconds`
- `table`
- `messages`

## Methods

- [`aget_messages()`](https://reference.langchain.com/python/langchain-community/chat_message_histories/cassandra/CassandraChatMessageHistory/aget_messages)
- [`add_message()`](https://reference.langchain.com/python/langchain-community/chat_message_histories/cassandra/CassandraChatMessageHistory/add_message)
- [`aadd_messages()`](https://reference.langchain.com/python/langchain-community/chat_message_histories/cassandra/CassandraChatMessageHistory/aadd_messages)
- [`clear()`](https://reference.langchain.com/python/langchain-community/chat_message_histories/cassandra/CassandraChatMessageHistory/clear)
- [`aclear()`](https://reference.langchain.com/python/langchain-community/chat_message_histories/cassandra/CassandraChatMessageHistory/aclear)

---

[View source on GitHub](https://github.com/langchain-ai/langchain-community/blob/a6a6079511ac8a5c1293337f88096b8641562e77/libs/community/langchain_community/chat_message_histories/cassandra.py#L33)