finm.data._credentials#

Credential handling utilities for data module.

Provides credential resolution with the following precedence:

  1. CLI argument (highest priority)

  2. Environment variable

  3. .env file

  4. Interactive prompt (if terminal available)

Module Contents#

Functions#

get_credentials

Get credentials with precedence: CLI arg > env var > .env file > interactive.

get_data_dir

Get data directory with precedence: argument > env var > .env > default.

validate_credentials

Validate that required credentials are present.

API#

finm.data._credentials.get_credentials(wrds_username: Optional[str] = None, env_file: Optional[pathlib.Path] = None, interactive: bool = True) dict[str, Optional[str]][source]#

Get credentials with precedence: CLI arg > env var > .env file > interactive.

Parameters

wrds_username : str, optional WRDS username from CLI argument (highest priority). env_file : Path, optional Path to .env file. Defaults to .env in current directory. interactive : bool, default True If True and credential not found, prompt user interactively.

Returns

dict Dictionary with credential keys and values.

finm.data._credentials.get_data_dir(data_dir: Optional[str | pathlib.Path] = None, env_file: Optional[pathlib.Path] = None) pathlib.Path[source]#

Get data directory with precedence: argument > env var > .env > default.

Parameters

data_dir : str or Path, optional Data directory from argument (highest priority). env_file : Path, optional Path to .env file.

Returns

Path Resolved data directory path.

finm.data._credentials.validate_credentials(required: list[str], credentials: dict[str, Optional[str]]) None[source]#

Validate that required credentials are present.

Parameters

required : list[str] List of required credential keys. credentials : dict Dictionary of credential key-value pairs.

Raises

ValueError If any required credential is missing.