from stac_fastapi.extensions.core import ( FieldsExtension, QueryExtension, SortExtension, TransactionExtension, ) from stac_fastapi.extensions.third_party import BulkTransactionExtension from stac_fastapi.sqlalchemy.config import SqlalchemySettings from stac_fastapi.sqlalchemy.core import CoreCrudClient from stac_fastapi.sqlalchemy.session import Session from stac_fastapi.sqlalchemy.transactions import ( BulkTransactionsClient, TransactionsClient, ) settings = SqlalchemySettings() session = Session.create_from_settings(settings) api = StacApi( settings=settings, extensions=[ TransactionExtension(client=TransactionsClient(session=session)), BulkTransactionExtension(client=BulkTransactionsClient( session=session)), FieldsExtension(), QueryExtension(), SortExtension(), ], client=CoreCrudClient(session=session), ) app = api.app
def db_session() -> Session: return Session( reader_conn_string=settings.reader_connection_string, writer_conn_string=settings.writer_connection_string, )