API¶
pgstacrs.Client ¶
A pgstac client.
open
async
classmethod
¶
open(params: str) -> Client
Opens a new client, backed by a connection pool.
Parameters:
-
params(str) –The connection parameters, either in
postgresql://orhost=localhost user=usernameformat.
Returns:
-
Client–A pgstac client
Examples:
>>> from pgstacrs import Client
>>> client = await Client.open("postgresql://username:password@localhost:5432/pgstac")
>>> client = await Client.open("user=username password=password dbname=pgstac")
search
async
¶
search(
*,
intersects: str | dict[str, Any] | None = None,
ids: str | list[str] | None = None,
collections: str | list[str] | None = None,
limit: int | None = None,
bbox: list[float] | None = None,
datetime: str | None = None,
include: str | list[str] | None = None,
exclude: str | list[str] | None = None,
sortby: str | list[str] | None = None,
filter: str | dict[str, Any] | None = None,
query: dict[str, Any] | None = None,
**kwargs: str,
) -> dict[str, Any]
Searches the database with STAC API item search.
Parameters:
-
collections(str | list[str] | None, default:None) –Array of one or more Collection IDs that each matching Item must be in.
-
ids(str | list[str] | None, default:None) –Array of Item ids to return.
-
intersects(str | dict[str, Any] | None, default:None) –Searches items by performing intersection between their geometry and provided GeoJSON geometry.
-
bbox(list[float] | None, default:None) –Requested bounding box.
-
datetime(str | None, default:None) –Single date+time, or a range (
/separator), formatted to RFC 3339, section 5.6. Use double dots .. for open date ranges. -
include(str | list[str] | None, default:None) –Fields to include in the response (see the extension docs) for more on the semantics).
-
exclude(str | list[str] | None, default:None) –Fields to exclude from the response (see the extension docs) for more on the semantics).
-
sortby(str | list[str] | None, default:None) –Fields by which to sort results (use
-fieldto sort descending). -
filter(str | dict[str, Any] | None, default:None) –CQL2 filter expression. Strings will be interpreted as cql2-text, dictionaries as cql2-json.
-
query(dict[str, Any] | None, default:None) –Additional filtering based on properties. It is recommended to use filter instead, if possible.
-
limit(int | None, default:None) –The page size returned from the server.
-
kwargs(str, default:{}) –Any additional arguments to pass down into the search, e.g a pagination token
print_config
async
¶
print_config() -> None
Prints the postgresql configuration.
Redacts the password
set_setting
async
¶
set_setting(key: str, value: str) -> None
Sets a pgstac setting.
Parameters:
-
key(str) –The setting name, e.g.
base_url -
value(str) –The setting value, e.g.
http://pgstacrs.test
get_version
async
¶
get_version() -> str
Returns the pgstac version.
Returns:
-
str–The pgstac version as a string
get_collection
async
¶
get_collection(id: str) -> dict[str, Any] | None
Returns a collection by id, or none if one does not exist.
Parameters:
-
id(str) –The collection id
Returns:
-
dict[str, Any] | None–A STAC collection, or None
create_collection
async
¶
create_collection(collection: dict[str, Any]) -> None
Creates a new collection.
Parameters:
-
collection(dict[str, Any]) –The collection
Raises:
-
PgstacError–If the collection already exists.
update_collection
async
¶
update_collection(collection: dict[str, Any]) -> None
Updates a collection.
Parameters:
-
collection(dict[str, Any]) –The collection
Raises:
-
PgstacError–If the collection does not exist.
update_collection_extents
async
¶
update_collection_extents() -> None
Updates all collection extents.
upsert_collection
async
¶
upsert_collection(collection: dict[str, Any]) -> None
Upserts a collection.
Parameters:
-
collection(dict[str, Any]) –The collection
delete_collection
async
¶
delete_collection(id: str) -> None
Deletes a collection by id.
Parameters:
-
id(str) –The collection id
all_collections
async
¶
all_collections() -> list[dict[str, Any]]
Returns all collections.
Returns:
-
list[dict[str, Any]]–All collections in the database
get_item
async
¶
get_item(
id: str, collection_id: str | None = None
) -> dict[str, Any] | None
Returns an item by id.
Parameters:
-
id(str) –The item id
-
collection_id(str | None, default:None) –The optional collection id
Returns:
-
dict[str, Any] | None–The item, or None if the item does not exist
create_item
async
¶
create_item(item: dict[str, Any]) -> None
Creates an item.
Parameters:
-
item(dict[str, Any]) –The item
Raises:
-
PgstacError–If the item's collection does not exist. The collection is determined by the
collectionattribute of the item.
create_items
async
¶
create_items(items: list[dict[str, Any]]) -> None
Creates many items.
Parameters:
-
items(list[dict[str, Any]]) –The items
Raises:
-
PgstacError–If the items' collection(s) does not exist.
update_item
async
¶
update_item(item: dict[str, Any]) -> None
Updates an item.
Parameters:
-
item(dict[str, Any]) –The item
Raises:
-
PgstacError–If the item does not exist
upsert_item
async
¶
upsert_item(item: dict[str, Any]) -> None
Upserts an item.
Parameters:
-
item(dict[str, Any]) –The item
Raises:
-
PgstacError–If the item's collection does not exist.
upsert_items
async
¶
upsert_items(items: list[dict[str, Any]]) -> None
Upserts many items.
Parameters:
-
items(list[dict[str, Any]]) –The items
Raises:
-
PgstacError–If the items' collection(s) does not exist.
delete_item
async
¶
delete_item(
id: str, collection_id: str | None = None
) -> None
Deletes an item by id.
Parameters:
-
id(str) –The item id
-
collection_id(str | None, default:None) –The optional collection id
Raises:
-
PgstacError–If the item cannot be found
pgstacrs.StacError ¶
Something doesn't match the STAC specification
pgstacrs.PgstacError ¶
An exception returned from pgstac