Python Client
GeoDBClient
- class xcube_geodb.core.geodb.GeoDBClient(server_url: Optional[str] = None, server_port: Optional[int] = None, client_id: Optional[str] = None, client_secret: Optional[str] = None, username: Optional[str] = None, password: Optional[str] = None, access_token: Optional[str] = None, dotenv_file: str = '.env', auth_mode: Optional[str] = None, auth_aud: Optional[str] = None, config_file: str = '/home/docs/.geodb', database: Optional[str] = None, access_token_uri: Optional[str] = None, gs_server_url: Optional[str] = None, gs_server_port: Optional[int] = None, raise_it: bool = True)
Constructing the geoDB client. Depending on the setup it will automatically setup credentials from environment variables. The user can also pass credentials into the constructor.
- Parameters
server_url (str) – The URL of the PostGrest Rest API service
server_port (str) – The port to the PostGrest Rest API service
dotenv_file (str) – Name of the dotenv file [.env] to set client IDs and secrets
client_secret (str) – Client secret (overrides environment variables)
client_id (str) – Client ID (overrides environment variables)
auth_mode (str) – Authentication mode [silent]. Can be the oauth2 modes ‘client-credentials’, ‘password’,
and 'none' for no authentication ('interactive') –
auth_aud (str) – Authentication audience
config_file (str) – Filename that stores config info for the geodb client
- Raises
GeoDBError – if the auth mode does not exist
NotImplementedError – on auth mode interactive
Examples
>>> geodb = GeoDBClient(auth_mode='client-credentials', client_id='***', client_secret='***') >>> geodb.whoami my_user
- get_collection_info(collection: str, database: Optional[str] = None) → Dict
- Parameters
collection (str) – The name of the collection to inspect
database (str) – The database the collection resides in [current
database] –
- Returns
A dictionary with collection information
- Raises
GeoDBError – When the collection does not exist
Examples
>>> geodb = GeoDBClient(auth_mode='client-credentials', client_id='***', client_secret='***') >>> geodb.get_collection_info('my_collection') { 'required': ['id', 'geometry'], 'properties': { 'id': { 'format': 'integer', 'type': 'integer', 'description': 'Note:This is a Primary Key.' }, 'created_at': {'format': 'timestamp with time zone', 'type': 'string'}, 'modified_at': {'format': 'timestamp with time zone', 'type': 'string'}, 'geometry': {'format': 'public.geometry(Geometry,3794)', 'type': 'string'}, 'my_property1': {'format': 'double precision', 'type': 'number'}, 'my_property2': {'format': 'double precision', 'type': 'number'}, 'type': 'object' }
- get_collection_bbox(collection: str, database: Optional[str] = None, exact: Optional[bool] = False) → Union[None, Sequence]
Retrieves the bounding box for the collection, i.e. the union of all rows’ geometries.
- Parameters
collection (str) – The name of the collection to return the bounding box for.
database (str) – The database the collection resides in. Default: current database.
exact (bool) – If the exact bbox shall be computed. Warning: This may take much longer. Default: False.
- Returns
the bounding box given as tuple xmin, ymin, xmax, ymax or None if collection is empty
Examples
>>> geodb = GeoDBClient(auth_mode='client-credentials', client_id='***', client_secret='***') >>> geodb.get_collection_bbox('my_collection') (-5, 10, 5, 11)
- get_my_collections(database: Optional[str] = None) → Sequence
- Parameters
database (str) – The database to list collections from
- Returns
A Dataframe of collection names
Examples
>>> geodb = GeoDBClient(auth_mode='client-credentials', client_id='***', client_secret='***') >>> geodb.get_my_collections() owner database collection 0 geodb_9bfgsdfg-453f-445b-a459 geodb_9bfgsdfg-453f-445b-a459 land_use
- property raise_it: bool
Returns: The current error message behaviour
- property database: str
Returns: The current database
- property whoami: str
Returns: The current database user
- property capabilities: Dict
Returns: A dictionary of the geoDB PostGrest REST API service’s capabilities
- refresh_config_from_env(dotenv_file: str = '.env', use_dotenv: bool = False)
Refresh the configuration from environment variables. The variables can be preset by a dotenv file. :param dotenv_file: A dotenv config file :type dotenv_file: str :param use_dotenv: Whether to use GEODB_AUTH_CLIENT_ID a dotenv file. :type use_dotenv: bool
- get_my_usage(pretty=True) → Union[Dict, xcube_geodb.core.message.Message]
Get my geoDB data usage.
- Parameters
pretty (bool) – Whether to return in human readable form or in bytes
- Returns
A dict containing the usage in bytes (int) or as a human readable string
Example
>>> geodb = GeoDBClient() >>> geodb.get_my_usage(True) {'usage': '6432 kB'}
- create_collection_if_not_exists(collection: str, properties: Dict, crs: Union[int, str] = 4326, database: Optional[str] = None, **kwargs) → Union[Dict, xcube_geodb.core.message.Message]
Creates a collection only if the collection does not exist already.
- Parameters
collection (str) – The name of the collection to be created
properties (Dict) – Properties to be added to the collection
crs (int, str) – projection
database (str) – The database the collection is to be created in [current database]
kwargs – Placeholder for deprecated parameters
- Returns
Collection info id operation succeeds None: If operation fails
- Return type
Collection
Examples
See create_collection for an example
- create_collections_if_not_exist(collections: Dict, database: Optional[str] = None, **kwargs) → Dict
Creates collections only if collections do not exist already.
- Parameters
collections (Dict) – The name of the collection to be created
database (str) – The database the collection is to be created in [current database]
kwargs – Placeholder for deprecated parameters
- Returns
List of informations about created collections
- Return type
List of Collections
Examples
See create_collections for examples
- create_collections(collections: Dict, database: Optional[str] = None, clear: bool = False) → Union[Dict, xcube_geodb.core.message.Message]
Create collections from a dictionary :param clear: Delete collections prioer to creation :type clear: bool :param collections: A dictionalry of collections :type collections: Dict :param database: Database to use for creating the collection :type database: str
- Returns
Success
- Return type
bool
Examples
>>> geodb = GeoDBClient() >>> collections = {'[MyCollection]': {'crs': 1234, 'properties': {'[MyProp1]': 'float', '[MyProp2]': 'date'}}} >>> geodb.create_collections(collections)
- create_collection(collection: str, properties: Dict, crs: Union[int, str] = 4326, database: Optional[str] = None, clear: bool = False) → Dict
Create collections from a dictionary
- Parameters
collection (str) – Name of the collection to be created
clear (bool) – Whether to delete existing collections
properties (Dict) – Property definitions for the collection
database (str) – Database to use for creating the collection
crs – sfdv
- Returns
Success
- Return type
bool
Examples
>>> geodb = GeoDBClient() >>> properties = {'[MyProp1]': 'float', '[MyProp2]': 'date'} >>> geodb.create_collection(collection='[MyCollection]', crs=3794, properties=properties)
- drop_collection(collection: str, database: Optional[str] = None) → xcube_geodb.core.message.Message
- Parameters
collection (str) – Name of the collection to be dropped
database (str) – The database the colections resides in [current database]
- Returns
Success
- Return type
bool
Examples
>>> geodb = GeoDBClient() >>> geodb.drop_collection(collection='[MyCollection]')
- drop_collections(collections: Sequence[str], cascade: bool = False, database: Optional[str] = None) → xcube_geodb.core.message.Message
- Parameters
database (str) – The database the colections resides in [current database]
collections (Sequence[str]) – Collections to be dropped
cascade (bool) – Drop in cascade mode. This can be necessary if e.g. sequences have not been deleted properly
- Returns
Message
Examples
>>> geodb = GeoDBClient() >>> geodb.drop_collections(collections=['[MyCollection1]', '[MyCollection2]'])
- grant_access_to_collection(collection: str, usr: str, database: Optional[str] = None) → xcube_geodb.core.message.Message
- Parameters
collection (str) – Collection name to grant access to
usr (str) – Username to grant access to
database (str) – The database the collection resides in
- Returns
Success
- Return type
bool
- Raises
HttpError – when http request fails
Examples
>>> geodb = GeoDBClient() >>> geodb.grant_access_to_collection('[Collection]', '[User who gets access]') Access granted on Collection to User who gets access}
- rename_collection(collection: str, new_name: str, database: Optional[str] = None)
- Parameters
collection (str) – The name of the collection to be renamed
new_name (str) – The new name of the collection
database (str) – The database the collection resides in
- Raises
HttpError – When request fails
- move_collection(collection: str, new_database: str, database: Optional[str] = None)
Move a collection from one database to another.
- Parameters
collection (str) – The name of the collection to be moved
new_database (str) – The database the collection will be moved to
database (str) – The database the collection resides in
Examples
>>> geodb = GeoDBClient() >>> geodb.move_collection('collection', 'new_database')
- copy_collection(collection: str, new_collection: str, new_database: str, database: Optional[str] = None)
- Parameters
collection (str) – The name of the collection to be copied
new_collection (str) – The new name of the collection
database (str) – The database the collection resides in [current database]
new_database (str) – The database the collection will be copied to
Examples
>>> geodb = GeoDBClient() >>> geodb.copy_collection('col', 'col_new', 'target_db', 'source_db')
- publish_collection(collection: str, database: Optional[str] = None) → xcube_geodb.core.message.Message
Publish a collection. The collection will be accessible by all users in the geoDB.
- Parameters
database (str) – The database the collection resides in [current database]
collection (str) – The name of the collection that will be made public
- Returns
Message whether operation succeeded
- Return type
Message
Examples
>>> geodb = GeoDBClient() >>> geodb.publish_collection('[Collection]')
- unpublish_collection(collection: str, database: Optional[str] = None) → xcube_geodb.core.message.Message
Revoke public access to a collection. The collection will not be accessible by all users in the geoDB.
- Parameters
database (str) – The database the collection resides in [current database]
collection (str) – The name of the collection that will be removed from public access
- Returns
Message whether operation succeeded
- Return type
Message
Examples
>>> geodb = GeoDBClient() >>> geodb.unpublish_collection('[Collection]')
- revoke_access_from_collection(collection: str, usr: str, database: Optional[str] = None, **kwargs) → xcube_geodb.core.message.Message
Revoke access from a collection.
- Parameters
collection (str) – Name of the collection
usr (str) – User to revoke access from
database (str) – The database the collection resides in [current database]
- Returns
Whether operation has succeeded
- Return type
Message
- list_my_grants() → Union[pandas.DataFrame, xcube_geodb.core.message.Message]
List the access grants the current user has granted.
- Returns
A list of the current user’s access grants
- Return type
DataFrame
- Raises
GeoDBError – If access to geoDB fails
- add_property(collection: str, prop: str, typ: str, database: Optional[str] = None) → xcube_geodb.core.message.Message
Add a property to an existing collection.
- Parameters
collection (str) – The name of the collection to add a property to
prop (str) – Property name
typ (str) – The data type of the property (Postgres type)
database (str) – The database the collection resides in [current database]
- Returns
Success message
- Return type
Message
Examples
>>> geodb = GeoDBClient() >>> geodb.add_property(collection='[MyCollection]', name='[MyProperty]', type='[PostgresType]')
- add_properties(collection: str, properties: Dict, database: Optional[str] = None) → xcube_geodb.core.message.Message
Add properties to a collection.
- Parameters
collection (str) – The name of the collection to add properties to
properties (Dict) – Property definitions as dictionary
database (str) – The database the collection resides in [current database]
- Returns
Whether the operation succeeded
- Return type
Message
Examples
>>> properties = {'[MyName1]': '[PostgresType1]', '[MyName2]': '[PostgresType2]'} >>> geodb = GeoDBClient() >>> geodb.add_property(collection='[MyCollection]', properties=properties)
- drop_property(collection: str, prop: str, database: Optional[str] = None, **kwargs) → xcube_geodb.core.message.Message
Drop a property from a collection.
- Parameters
collection (str) – The name of the collection to drop the property from
prop (str) – The property to delete
database (str) – The database the collection resides in [current database]
- Returns
Whether the operation succeeded
- Return type
Message
Examples
>>> geodb = GeoDBClient() >>> geodb.drop_property(collection='[MyCollection]', prop='[MyProperty]')
- drop_properties(collection: str, properties: Sequence[str], database: Optional[str] = None) → xcube_geodb.core.message.Message
Drop properties from a collection.
- Parameters
collection (str) – The name of the collection to delete properties from
properties (List) – A list containing the property names
database (str) – The database the collection resides in [current database]
- Returns
Whether the operation succeeded
- Return type
Message
Examples
>>> geodb = GeoDBClient() >>> geodb.drop_properties(collection='MyCollection', properties=['MyProperty1', 'MyProperty2'])
- get_properties(collection: str, database: Optional[str] = None, **kwargs) → pandas.DataFrame
Get a list of properties of a collection.
- Parameters
collection (str) – The name of the collection to retrieve a list of properties from
database (str) – The database the collection resides in [current database]
- Returns
A list of properties
- Return type
DataFrame
- create_database(database: str) → xcube_geodb.core.message.Message
Create a database.
- Parameters
database (str) – The name of the database to be created
- Returns
A message about the success or failure of the operation
- Return type
Message
- truncate_database(database: str) → xcube_geodb.core.message.Message
Delete all tables in the given database.
- Parameters
database (str) – The name of the database to be created
- Returns
A message about the success or failure of the operation
- Return type
Message
- get_my_databases() → pandas.DataFrame
Get a list of databases the current user owns.
- Returns
A list of databases the user owns
- Return type
DataFrame
- database_exists(database: str) → bool
Checks whether a database exists.
- Parameters
database (str) – The name of the database to be checked
- Returns
database exists
- Return type
bool
- Raises
HttpError – If request fails
- delete_from_collection(collection: str, query: str, database: Optional[str] = None) → xcube_geodb.core.message.Message
Delete rows from collection.
- Parameters
collection (str) – The name of the collection to delete rows from
database (str) – The name of the database to be checked
query (str) – Filter which records to delete. Follow the
http – //postgrest.org/en/v6.0/api.html query convention.
- Returns
Whether the operation has succeeded
- Return type
Message
Examples
>>> geodb = GeoDBClient() >>> geodb.delete_from_collection('[MyCollection]', 'id=eq.1')
- update_collection(collection: str, values: Dict, query: str, database: Optional[str] = None, **kwargs) → xcube_geodb.core.message.Message
Update data in a collection by a query.
- Parameters
collection (str) – The name of the collection to be updated
database (str) – The name of the database to be checked
values (Dict) – Values to update
query (str) – Filter which values to be updated. Follow the http://postgrest.org/en/v6.0/api.html query
convention. –
- Returns
Success
- Return type
Message
- Raises
GeoDBError – if the values is not a Dict or request fails
Example:
- insert_into_collection(collection: str, values: geopandas.GeoDataFrame, upsert: bool = False, crs: Optional[Union[int, str]] = None, database: Optional[str] = None, max_transfer_chunk_size: int = 1000) → xcube_geodb.core.message.Message
Insert data into a collection.
- Parameters
collection (str) – Collection to be inserted to
database (str) – The name of the database the collection resides in [current database]
values (GeoDataFrame) – Values to be inserted
upsert (bool) – Whether the insert shall replace existing rows (by PK)
crs (int, str) – crs (in the form of an SRID) of the geometries. If not present, the method will attempt guessing it from the GeoDataFrame input. Must be in sync with the target collection in the GeoDatabase
max_transfer_chunk_size (int) – Maximum number of rows per chunk to be sent to the geodb.
- Raises
ValueError – When crs is not given and cannot be guessed from the GeoDataFrame
GeoDBError – If the values are not in format Dict
- Returns
Success
- Return type
bool
Example:
- static transform_bbox_crs(bbox: Tuple[float, float, float, float], from_crs: Union[int, str], to_crs: Union[int, str], wsg84_order: str = 'lat_lon')
This function can be used to reproject bboxes particularly with the use of GeoDBClient.get_collection_by_bbox.
- Parameters
bbox – Tuple[float, float, float, float]: bbox to be reprojected, given as MINX, MINY, MAXX, MAXY
from_crs – Source crs e.g. 3974
to_crs – Target crs e.g. 4326
wsg84_order (str) – WSG84 (EPSG:4326) is expected to be in Lat Lon format (“lat_lon”). Use “lon_lat” if Lon Lat is used.
- Returns
The reprojected bounding box
- Return type
Tuple[float, float, float, float]
Examples
>>> bbox = GeoDBClient.transform_bbox_crs(bbox=(450000, 100000, 470000, 110000), from_crs=3794, to_crs=4326) >>> bbox (49.36588643725233, 46.012889756941775, 14.311548793848758, 9.834303086688251)
- get_collection_by_bbox(collection: str, bbox: Tuple[float, float, float, float], comparison_mode: str = 'contains', bbox_crs: Union[int, str] = 4326, limit: int = 0, offset: int = 0, where: Optional[str] = 'id>-1', op: str = 'AND', database: Optional[str] = None, wsg84_order='lat_lon', **kwargs) → Union[geopandas.GeoDataFrame, pandas.DataFrame]
Query the database by a bounding box. Please be careful with the bbox crs. The easiest is using the same crs as the collection. However, if the bbox crs differs from the collection, the geoDB client will attempt to automatially transform the bbox crs according to the collection’s crs. You can also directly use the method GeoDBClient.transform_bbox_crs yourself before you pass the bbox into this method.
- Parameters
collection (str) – The name of the collection to be quried
bbox (Tuple[float, float, float, float]) – minx, miny, maxx, maxy
comparison_mode (str) – Filter mode. Can be ‘contains’ or ‘within’ [‘contains’]
bbox_crs (int, str) – Projection code. [4326]
op (str) – Operator for where (AND, OR) [‘AND’]
where (str) – Additional SQL where statement to further filter the collection
limit (int) – The maximum number of rows to be returned
offset (int) – Offset (start) of rows to return. Used in combination with limit.
database (str) – The name of the database the collection resides in [current database]
wsg84_order (str) – WSG84 (EPSG:4326) is expected to be in Lat Lon format (“lat_lon”). Use “lon_lat” if
Lat is used. (Lon) –
- Returns
A GeoPandas Dataframe
- Raises
HttpError – When the database raises an error
Examples
>>> geodb = GeoDBClient() >>> geodb.get_collection_by_bbox(table="[MyCollection]", bbox=(452750.0, 88909.549, 464000.0, 102486.299), comparison_mode="contains", bbox_crs=3794, limit=10, offset=10)
- count_collection_rows(collection: str, database: Optional[str] = None, exact_count: Optional[bool] = False) → Union[int, xcube_geodb.core.message.Message]
Return the number of rows in the given collection. By default, this function returns a rough estimate within the order of magnitude of the actual number; the exact count can also be retrieved, but this may take much longer. Note: in some cases, no estimate can be provided. In such cases, -1 is returned if exact_count == False.
- Parameters
collection (str) – The name of the collection
database (str) – The name of the database the collection resides in [current database]
exact_count (bool) – If True, the actual number of rows will be counted. Default value: false.
- Returns
the number of rows in the given collection, or -1 if exact_count is False and no estimate could be provided.
- Raises
GeoDBError – When the database raises an error
Examples
>>> geodb = GeoDBClient() >>> geodb.count_collection_rows('my_collection'], exact_count=True)
- count_collection_by_bbox(collection: str, bbox: Tuple[float, float, float, float], comparison_mode: str = 'contains', bbox_crs: Union[int, str] = 4326, where: Optional[str] = 'id>-1', op: str = 'AND', database: Optional[str] = None, wsg84_order='lat_lon') → Union[geopandas.GeoDataFrame, pandas.DataFrame]
Query the database by a bounding box and return the count. Please be careful with the bbox crs. The easiest is using the same crs as the collection. However, if the bbox crs differs from the collection, the geoDB client will attempt to automatially transform the bbox crs according to the collection’s crs. You can also directly use the method GeoDBClient.transform_bbox_crs yourself before you pass the bbox into this method.
- Parameters
collection (str) – The name of the collection to be quried
bbox (Tuple[float, float, float, float]) – minx, miny, maxx, maxy
comparison_mode (str) – Filter mode. Can be ‘contains’ or ‘within’ [‘contains’]
bbox_crs (int, str) – Projection code. [4326]
op (str) – Operator for where (AND, OR) [‘AND’]
where (str) – Additional SQL where statement to further filter the collection
database (str) – The name of the database the collection resides in [current database]
wsg84_order (str) – WSG84 (EPSG:4326) is expected to be in Lat Lon format (“lat_lon”). Use “lon_lat” if
Lat is used. (Lon) –
- Returns
A GeoPandas Dataframe
- Raises
HttpError – When the database raises an error
Examples
>>> geodb = GeoDBClient() >>> geodb.count_collection_by_bbox(table="[MyCollection]", bbox=(452750.0, 88909.549, 464000.0, 102486.299), comparison_mode="contains", bbox_crs=3794)
- head_collection(collection: str, num_lines: int = 10, database: Optional[str] = None) → Union[geopandas.GeoDataFrame, pandas.DataFrame]
Get the first num_lines of a collection.
- Parameters
collection (str) – The collection’s name
num_lines (int) – The number of line to return
database (str) – The name of the database the collection resides in [current database]
- Returns
results
- Return type
GeoDataFrame or DataFrame
- Raises
HttpError – When the database raises an error
Examples
>>> geodb = GeoDBClient() >>> geodb.head_collection(collection='[MyCollection]', num_lines=10)
- get_collection(collection: str, query: Optional[str] = None, database: Optional[str] = None, limit: Optional[int] = None, offset: int = 0) → Union[geopandas.GeoDataFrame, pandas.DataFrame]
Query a collection.
- Parameters
collection (str) – The collection’s name.
query (str) – A query. Follow the http://postgrest.org/en/v6.0/api.html query convention.
database (str) – The name of the database the collection resides in [current database].
limit (int) – The maximum number of rows to be returned.
offset (int) – Offset (start) of rows to return. Used in combination with limit.
- Returns
results
- Return type
GeoDataFrame or DataFrame
- Raises
HttpError – When the database raises an error
Examples
>>> geodb = GeoDBClient() >>> geodb.get_collection(collection='[MyCollection]', query='id=ge.1000')
- get_collection_pg(collection: str, select: str = '*', where: Optional[str] = None, group: Optional[str] = None, order: Optional[str] = None, limit: Optional[int] = None, offset: Optional[int] = None, database: Optional[str] = None) → Union[geopandas.GeoDataFrame, pandas.DataFrame]
- Parameters
collection (str) – The name of the collection to query
select (str) – Properties (columns) to return. Can contain aggregation functions
where (Optional[str]) – SQL WHERE statement
group (Optional[str]) – SQL GROUP statement
order (Optional[str]) – SQL ORDER statement
limit (Optional[int]) – Limit for paging
offset (Optional[int]) – Offset (start) of rows to return. Used in combination with limit.
database (str) – The name of the database the collection resides in [current database]
- Returns
results
- Return type
GeoDataFrame or DataFrame
- Raises
HttpError – When the database raises an error
Examples
>>> geodb = GeoDBClient() >>> df = geodb.get_collection_pg(collection='[MyCollection]', where='raba_id=1410', group='d_od', select='COUNT(d_od) as ct, d_od')
- property server_url: str
Get URL of the geoDB server.
- Returns
The URL of the geoDB REST service
- Return type
str
- get_collection_srid(collection: str, database: Optional[str] = None) → Union[str, None, xcube_geodb.core.message.Message]
Get the SRID of a collection.
- Parameters
collection (str) – The collection’s name
database (str) – The name of the database the collection resides in [current database]
- Returns
The name of the SRID
- publish_gs(collection: str, database: Optional[str] = None)
Publishes collection to a BC geoservice (geoserver instance). Requires access registration.
- Parameters
collection (str) – Name of the collection
database (Optional[str]) – Name of the database. Defaults to user database
- Returns
Dict
- get_all_published_gs(database: Optional[str] = None) → Union[Sequence, xcube_geodb.core.message.Message]
- Parameters
database (str) – The database to list collections from a database which are published via geoserver
- Returns
A Dataframe of collection names
- get_published_gs(database: Optional[str] = None) → Union[Sequence, xcube_geodb.core.message.Message]
- Parameters
database (str) – The database to list collections from a database which are published via geoserver
- Returns
A Dataframe of collection names
Examples
>>> geodb = GeoDBClient(auth_mode='client-credentials', client_id='***', client_secret='***') >>> geodb.get_published_gs() owner database collection 0 geodb_9bfgsdfg-453f-445b-a459 geodb_9bfgsdfg-453f-445b-a459 land_use
- unpublish_gs(collection: str, database: str)
‘Unpublishes’ collection from a BC geoservice (geoserver instance). Requires access registration.
- Parameters
collection (str) – Name of the collection
database (Optional[str]) – Name of the database. Defaults to user database
- Returns
Dict
- property auth_access_token: str
Get the user’s access token.
- Returns
The current authentication access_token
- Raises
GeoDBError on missing ipython shell –
- refresh_auth_access_token()
Refresh the authentication token.
- collection_exists(collection: str, database: str) → bool
Checks whether a collection exists
- Parameters
collection (str) – The collection’s name
database (str) – The name of the database the collection resides in [current database]
- Returns
Whether the collection exists
- get_event_log(collection: Optional[str] = None, database: Optional[str] = None, event_type: Optional[xcube_geodb.core.geodb.EventType] = None) → pandas.DataFrame
- Parameters
collection (str) – The name of the collection for which to get the event log; if None, all collections are returned
database (str) – The database of the collection
event_type (EventType) – The type of the events for which to get the event log; if None, all events are returned
- Returns
Whether the stored procedure exists
- Raises
GeoDBError if the stored procedure does not exist –
- static setup(host: Optional[str] = None, port: Optional[str] = None, user: Optional[str] = None, passwd: Optional[str] = None, dbname: Optional[str] = None, conn: Optional[any] = None)
Sets up the database. Needs DB credentials and the database user requires CREATE TABLE/FUNCTION grants.