skeydula.server.config.schema.database module

Configuration schema and validation for connecting to the database.

class skeydula.server.config.schema.database.DatabaseDialect

Bases: Enum

Supported database dialects.

postgresql = 1
skeydula.server.config.schema.database.DatabaseDriver

Union of all possible database drivers.

class skeydula.server.config.schema.database.DatabaseConfig

Bases: Config

Schema for configuring the connection to a database.

host: str
port: int
user: str
password: str
name: str
dialect: DatabaseDialect
driver: skeydula.server.config.schema.database.PostgresDriver | None
classmethod validate_driver(
dialect,
driver_unvalidated
)
Parameters:
Return type:

PostgresDriver

classmethod validate_dialect(
dialect_unvalidated
)

Validate that the dialect is valid, return normalized enum.

Parameters:

dialect_unvalidated (str) –

Return type:

DatabaseDialect

classmethod resolve_schema(
dialect
)
Parameters:

dialect (DatabaseDialect) –

Return type:

Type[DatabaseConfig]

classmethod resolve_defaults(
dialect
)
Parameters:

dialect (DatabaseDialect) –

Return type:

Defaults

classmethod from_env_config(
env_config
)
Parameters:

env_config (EnvConfig) –

Return type:

DatabaseConfig

__init__(
host,
port,
user,
password,
name,
dialect,
driver
)

Method generated by attrs for class DatabaseConfig.

Parameters:
Return type:

None

class skeydula.server.config.schema.database.PostgresDriver

Bases: Enum

The supported Postgres database drivers.

psycopg2 = 1
asyncpg = 2
class skeydula.server.config.schema.database.PostgresDatabaseConfig

Bases: DatabaseConfig

Specialized database connection configuration for Postgres.

dialect: DatabaseDialect
driver: PostgresDriver
__init__(
host,
user,
password,
name,
dialect,
driver,
port
)

Method generated by attrs for class PostgresDatabaseConfig.

Parameters:
Return type:

None

port: int
classmethod validate_driver(
dialect,
driver_unvalidated
)

Validate that the driver is valid given the dialect.

Parameters:
Return type:

PostgresDriver

skeydula.server.config.schema.database.POSTGRES_DATABASE_DEFAULTS = PostgresDatabaseDefaults(dialect=<DatabaseDialect.postgresql: 1>, driver=<PostgresDriver.asyncpg: 2>, port=5432)

Default configuration for PostgresDatabaseConfig.