def initialize_pyrit()

in pyrit/common/initialization.py [0:0]


def initialize_pyrit(memory_db_type: Union[MemoryDatabaseType, str], **memory_instance_kwargs: Optional[Any]) -> None:
    """
    Initializes PyRIT with the provided memory instance and loads environment files.

    Args:
        memory_db_type (MemoryDatabaseType): The MemoryDatabaseType string literal which indicates the memory
            instance to use for central memory. Options include "InMemory", "DuckDB", and "AzureSQL".
        **memory_instance_kwargs (Optional[Any]): Additional keyword arguments to pass to the memory instance.
    """
    if memory_db_type not in get_args(MemoryDatabaseType):
        raise ValueError(
            f"Memory database type '{memory_db_type}' is not a supported type {get_args(MemoryDatabaseType)}"
        )

    _load_environment_files()

    from pyrit.memory import (
        AzureSQLMemory,
        CentralMemory,
        DuckDBMemory,
        MemoryInterface,
    )

    memory: MemoryInterface = None
    if memory_db_type == IN_MEMORY:
        logger.info("Using in-memory DuckDB database.")
        memory = DuckDBMemory(db_path=":memory:", **memory_instance_kwargs)
    elif memory_db_type == DUCK_DB:
        logger.info("Using persistent DuckDB database.")
        memory = DuckDBMemory(**memory_instance_kwargs)
    else:
        logger.info("Using AzureSQL database.")
        memory = AzureSQLMemory(**memory_instance_kwargs)

    CentralMemory.set_memory_instance(memory)