Get a table (Python)
|
Tables with the Data API are currently in public preview. Development is ongoing, and the features and functionality are subject to change. Hyper-Converged Database (HCD), and the use of such, is subject to the DataStax Preview Terms. |
Gets a reference to a table for use with the Data API clients.
|
Ready to write code? See the examples for this method to get started. If you are new to the Data API, check out the quickstart. |
Result
Returns a Table object that corresponds to the specified table name.
This method returns a Table object even for tables that don’t exist.
Unless you specify the row_type parameter, the table is typed as Table[dict].
For more information, see Typing support.
Parameters
Use the get_table method, which belongs to the astrapy.Database class.
Method signature
get_table(
name: str,
*,
row_type: type[Any],
keyspace: str,
spawn_api_options: APIOptions,
) -> Table[ROW]
| Name | Type | Summary |
|---|---|---|
|
|
The name of the table. |
|
|
Optional.
A formal specifier for the type checker.
If provided, For an example, see Get a table and specify typing. Default: |
|
|
Optional if you specified a working keyspace when you created the Default: The working keyspace set when you created the |
|
Optional.
A complete or partial specification of the APIOptions to override the defaults inherited from the If |
Examples
The following examples demonstrate how to get a table.
Get a table
The following example uses untyped documents or rows, but you can define a client-side type for your collection to help statically catch errors. For examples, see Typing support.
from astrapy import DataAPIClient
from astrapy.authentication import UsernamePasswordTokenProvider
from astrapy.constants import Environment
# Get an existing table
client = DataAPIClient(environment=Environment.HCD)
database = client.get_database(
"API_ENDPOINT",
token=UsernamePasswordTokenProvider("USERNAME", "PASSWORD"),
keyspace="KEYSPACE_NAME",
)
table = database.get_table("TABLE_NAME")
Get a table and specify typing
Use the row_type parameter to specify typing for the row.
The value of row_type should be a subclass of TypedDict.
If you don’t specify the row_type parameter, the table is typed as Table[dict].
from datetime import date
from typing import Dict, Optional, Set, TypedDict
from astrapy import DataAPIClient, Table
from astrapy.authentication import UsernamePasswordTokenProvider
from astrapy.constants import Environment
# Define the typing
class TableSchema(TypedDict):
title: str
author: str
number_of_pages: int
rating: float
genres: Set[str]
metadata: Dict[str, str]
is_checked_out: bool
due_date: Optional[date]
# Get an existing table
client = DataAPIClient(environment=Environment.HCD)
database = client.get_database(
"API_ENDPOINT",
token=UsernamePasswordTokenProvider("USERNAME", "PASSWORD"),
keyspace="KEYSPACE_NAME",
)
table: Table[TableSchema] = database.get_table(
"TABLE_NAME", row_type=TableSchema
)
Client reference
For more information, see the client reference.