create_database_engine

safir.database.create_database_engine(url, password, *, isolation_level=None, connect_args=None)

Create a new async database engine.

Parameters:
  • url (str | Url) – Database connection URL, not including the password.

  • password (str | SecretStr | None) – Database connection password.

  • isolation_level (str | None, default: None) – If specified, sets a non-default isolation level for the database engine.

  • connect_args (dict[str, Any] | None, default: None) – Additional connection arguments to pass directly to the underlying database driver.

Returns:

Newly-created database engine. When done with the engine, the caller must call await engine.dispose().

Return type:

sqlalchemy.ext.asyncio.AsyncEngine

Raises:

ValueError – A password was provided but the connection URL has no username.