SYMBOL INDEX (173 symbols across 17 files) FILE: src/dotenv/__init__.py function load_ipython_extension (line 6) | def load_ipython_extension(ipython: Any) -> None: function get_cli_string (line 12) | def get_cli_string( FILE: src/dotenv/cli.py function enumerate_env (line 24) | def enumerate_env() -> Optional[str]: function cli (line 62) | def cli(ctx: click.Context, file: Any, quote: Any, export: Any) -> None: function stream_file (line 68) | def stream_file(path: os.PathLike) -> Iterator[IO[str]]: function list_values (line 93) | def list_values(ctx: click.Context, output_format: str) -> None: function set_value (line 116) | def set_value(ctx: click.Context, key: Any, value: Any) -> None: function get (line 137) | def get(ctx: click.Context, key: Any) -> None: function unset (line 154) | def unset(ctx: click.Context, key: Any) -> None: function run (line 184) | def run(ctx: click.Context, override: bool, commandline: tuple[str, ...]... function run_command (line 204) | def run_command(command: List[str], env: Dict[str, str]) -> None: FILE: src/dotenv/ipython.py class IPythonDotEnv (line 12) | class IPythonDotEnv(Magics): method dotenv (line 34) | def dotenv(self, line): function load_ipython_extension (line 48) | def load_ipython_extension(ipython): FILE: src/dotenv/main.py function _load_dotenv_disabled (line 22) | def _load_dotenv_disabled() -> bool: function with_warn_for_invalid_lines (line 32) | def with_warn_for_invalid_lines(mappings: Iterator[Binding]) -> Iterator... class DotEnv (line 42) | class DotEnv: method __init__ (line 43) | def __init__( method _get_stream (line 61) | def _get_stream(self) -> Iterator[IO[str]]: method dict (line 75) | def dict(self) -> Dict[str, Optional[str]]: method parse (line 91) | def parse(self) -> Iterator[Tuple[str, Optional[str]]]: method set_as_environment_variables (line 97) | def set_as_environment_variables(self) -> bool: method get (line 112) | def get(self, key: str) -> Optional[str]: function get_key (line 125) | def get_key( function rewrite (line 139) | def rewrite( function set_key (line 193) | def set_key( function unset_key (line 248) | def unset_key( function resolve_variables (line 289) | def resolve_variables( function _walk_to_root (line 314) | def _walk_to_root(path: str) -> Iterator[str]: function find_dotenv (line 332) | def find_dotenv( function load_dotenv (line 383) | def load_dotenv( function dotenv_values (line 433) | def dotenv_values( function _is_file_or_fifo (line 470) | def _is_file_or_fifo(path: StrPath) -> bool: FILE: src/dotenv/parser.py function make_regex (line 14) | def make_regex(string: str, extra_flags: int = 0) -> Pattern[str]: class Original (line 35) | class Original(NamedTuple): class Binding (line 40) | class Binding(NamedTuple): class Position (line 47) | class Position: method __init__ (line 48) | def __init__(self, chars: int, line: int) -> None: method start (line 53) | def start(cls) -> "Position": method set (line 56) | def set(self, other: "Position") -> None: method advance (line 60) | def advance(self, string: str) -> None: class Error (line 65) | class Error(Exception): class Reader (line 69) | class Reader: method __init__ (line 70) | def __init__(self, stream: IO[str]) -> None: method has_next (line 75) | def has_next(self) -> bool: method set_mark (line 78) | def set_mark(self) -> None: method get_marked (line 81) | def get_marked(self) -> Original: method peek (line 87) | def peek(self, count: int) -> str: method read (line 90) | def read(self, count: int) -> str: method read_regex (line 97) | def read_regex(self, regex: Pattern[str]) -> Sequence[str]: function decode_escapes (line 105) | def decode_escapes(regex: Pattern[str], string: str) -> str: function parse_key (line 112) | def parse_key(reader: Reader) -> Optional[str]: function parse_unquoted_value (line 123) | def parse_unquoted_value(reader: Reader) -> str: function parse_value (line 128) | def parse_value(reader: Reader) -> str: function parse_binding (line 142) | def parse_binding(reader: Reader) -> Binding: function parse_stream (line 179) | def parse_stream(stream: IO[str]) -> Iterator[Binding]: FILE: src/dotenv/variables.py class Atom (line 18) | class Atom(metaclass=ABCMeta): method __ne__ (line 19) | def __ne__(self, other: object) -> bool: method resolve (line 26) | def resolve(self, env: Mapping[str, Optional[str]]) -> str: ... class Literal (line 29) | class Literal(Atom): method __init__ (line 30) | def __init__(self, value: str) -> None: method __repr__ (line 33) | def __repr__(self) -> str: method __eq__ (line 36) | def __eq__(self, other: object) -> bool: method __hash__ (line 41) | def __hash__(self) -> int: method resolve (line 44) | def resolve(self, env: Mapping[str, Optional[str]]) -> str: class Variable (line 48) | class Variable(Atom): method __init__ (line 49) | def __init__(self, name: str, default: Optional[str]) -> None: method __repr__ (line 53) | def __repr__(self) -> str: method __eq__ (line 56) | def __eq__(self, other: object) -> bool: method __hash__ (line 61) | def __hash__(self) -> int: method resolve (line 64) | def resolve(self, env: Mapping[str, Optional[str]]) -> str: function parse_variables (line 70) | def parse_variables(value: str) -> Iterator[Atom]: FILE: tests/conftest.py function cli (line 6) | def cli(): function dotenv_path (line 13) | def dotenv_path(tmp_path): FILE: tests/test_cli.py function test_list (line 28) | def test_list( function test_list_non_existent_file (line 42) | def test_list_non_existent_file(cli): function test_list_not_a_file (line 49) | def test_list_not_a_file(cli): function test_list_no_file (line 56) | def test_list_no_file(cli): function test_get_existing_value (line 62) | def test_get_existing_value(cli, dotenv_path): function test_get_non_existent_value (line 70) | def test_get_non_existent_value(cli, dotenv_path): function test_get_non_existent_file (line 76) | def test_get_non_existent_file(cli): function test_get_not_a_file (line 83) | def test_get_not_a_file(cli): function test_unset_existing_value (line 90) | def test_unset_existing_value(cli, dotenv_path): function test_unset_non_existent_value (line 99) | def test_unset_non_existent_value(cli, dotenv_path): function test_set_quote_options (line 116) | def test_set_quote_options(cli, dotenv_path, quote_mode, variable, value... function test_set_export (line 143) | def test_set_export(cli, dotenv_path, export_mode, variable, value, expe... function test_set_non_existent_file (line 163) | def test_set_non_existent_file(cli): function test_set_no_file (line 169) | def test_set_no_file(cli): function test_get_default_path (line 176) | def test_get_default_path(tmp_path): function test_run (line 184) | def test_run(tmp_path): function test_run_with_existing_variable (line 192) | def test_run_with_existing_variable(tmp_path): function test_run_with_existing_variable_not_overridden (line 202) | def test_run_with_existing_variable_not_overridden(tmp_path): function test_run_with_none_value (line 214) | def test_run_with_none_value(tmp_path): function test_run_with_other_env (line 222) | def test_run_with_other_env(dotenv_path, tmp_path): function test_run_without_cmd (line 233) | def test_run_without_cmd(tmp_path): function test_run_with_invalid_cmd (line 240) | def test_run_with_invalid_cmd(dotenv_path, tmp_path): function test_run_with_env_missing_and_invalid_cmd (line 250) | def test_run_with_env_missing_and_invalid_cmd(tmp_path): function test_run_with_version (line 261) | def test_run_with_version(tmp_path): function test_run_with_command_flags (line 268) | def test_run_with_command_flags(dotenv_path, tmp_path): function test_run_with_dotenv_and_command_flags (line 284) | def test_run_with_dotenv_and_command_flags(dotenv_path, tmp_path): FILE: tests/test_fifo_dotenv.py function test_load_dotenv_from_fifo (line 13) | def test_load_dotenv_from_fifo(tmp_path: pathlib.Path, monkeypatch): FILE: tests/test_ipython.py function test_ipython_existing_variable_no_override (line 14) | def test_ipython_existing_variable_no_override(tmp_path): function test_ipython_existing_variable_override (line 33) | def test_ipython_existing_variable_override(tmp_path): function test_ipython_new_variable (line 52) | def test_ipython_new_variable(tmp_path): FILE: tests/test_is_interactive.py class TestIsInteractive (line 8) | class TestIsInteractive: method _create_dotenv_file (line 32) | def _create_dotenv_file(self, tmp_path): method _setup_subdir_and_chdir (line 38) | def _setup_subdir_and_chdir(self, tmp_path, monkeypatch): method _remove_ps_attributes (line 45) | def _remove_ps_attributes(self, monkeypatch): method _mock_main_import (line 52) | def _mock_main_import(self, monkeypatch, mock_main_module): method _mock_main_import_error (line 63) | def _mock_main_import_error(self, monkeypatch): method test_is_interactive_with_ps1 (line 74) | def test_is_interactive_with_ps1(self, tmp_path, monkeypatch): method test_is_interactive_with_ps2 (line 87) | def test_is_interactive_with_ps2(self, tmp_path, monkeypatch): method test_is_interactive_main_module_not_found (line 100) | def test_is_interactive_main_module_not_found(self, tmp_path, monkeypa... method test_is_interactive_main_without_file (line 113) | def test_is_interactive_main_without_file(self, tmp_path, monkeypatch): method test_is_interactive_main_with_file (line 129) | def test_is_interactive_main_with_file(self, tmp_path, monkeypatch): method test_is_interactive_precedence_ps1_over_main (line 147) | def test_is_interactive_precedence_ps1_over_main(self, tmp_path, monke... method test_is_interactive_ps1_and_ps2_both_exist (line 165) | def test_is_interactive_ps1_and_ps2_both_exist(self, tmp_path, monkeyp... method test_is_interactive_main_module_with_file_attribute_none (line 179) | def test_is_interactive_main_module_with_file_attribute_none( method test_is_interactive_no_ps_attributes_and_normal_execution (line 201) | def test_is_interactive_no_ps_attributes_and_normal_execution( method test_is_interactive_with_usecwd_override (line 218) | def test_is_interactive_with_usecwd_override(self, tmp_path, monkeypat... FILE: tests/test_lib.py function run_dotenv (line 6) | def run_dotenv( function check_process (line 26) | def check_process( FILE: tests/test_main.py function test_set_key_no_file (line 15) | def test_set_key_no_file(tmp_path): function test_set_key (line 44) | def test_set_key(dotenv_path, before, key, value, expected, after): function test_set_key_encoding (line 56) | def test_set_key_encoding(dotenv_path): function test_set_key_preserves_file_mode (line 68) | def test_set_key_preserves_file_mode(dotenv_path): function test_rewrite_closes_file_handle_on_lstat_failure (line 79) | def test_rewrite_closes_file_handle_on_lstat_failure(tmp_path): function test_set_key_symlink_to_existing_file (line 101) | def test_set_key_symlink_to_existing_file(tmp_path): function test_set_key_symlink_to_missing_file (line 118) | def test_set_key_symlink_to_missing_file(tmp_path): function test_set_key_follow_symlinks (line 133) | def test_set_key_follow_symlinks(tmp_path): function test_set_key_permission_error (line 149) | def test_set_key_permission_error(dotenv_path): function test_get_key_no_file (line 168) | def test_get_key_no_file(tmp_path): function test_get_key_not_found (line 189) | def test_get_key_not_found(dotenv_path): function test_get_key_ok (line 199) | def test_get_key_ok(dotenv_path): function test_get_key_encoding (line 210) | def test_get_key_encoding(dotenv_path): function test_get_key_none (line 219) | def test_get_key_none(dotenv_path): function test_unset_with_value (line 230) | def test_unset_with_value(dotenv_path): function test_unset_no_value (line 242) | def test_unset_no_value(dotenv_path): function test_unset_encoding (line 254) | def test_unset_encoding(dotenv_path): function test_unset_non_existent_file (line 264) | def test_unset_non_existent_file(tmp_path): function test_unset_key_symlink_to_existing_file (line 281) | def test_unset_key_symlink_to_existing_file(tmp_path): function test_unset_key_symlink_to_missing_file (line 297) | def test_unset_key_symlink_to_missing_file(tmp_path): function test_unset_key_follow_symlinks (line 314) | def test_unset_key_follow_symlinks(tmp_path): function prepare_file_hierarchy (line 326) | def prepare_file_hierarchy(path): function test_find_dotenv_no_file_raise (line 345) | def test_find_dotenv_no_file_raise(tmp_path): function test_find_dotenv_no_file_no_raise (line 353) | def test_find_dotenv_no_file_no_raise(tmp_path): function test_find_dotenv_found (line 362) | def test_find_dotenv_found(tmp_path): function test_load_dotenv_existing_file (line 377) | def test_load_dotenv_existing_file(dotenv_path): function test_load_dotenv_disabled (line 402) | def test_load_dotenv_disabled(dotenv_path, flag_value): function test_load_dotenv_disabled_notification (line 431) | def test_load_dotenv_disabled_notification(dotenv_path, flag_value): function test_load_dotenv_enabled (line 467) | def test_load_dotenv_enabled(dotenv_path, flag_value): function test_load_dotenv_enabled_no_notification (line 497) | def test_load_dotenv_enabled_no_notification(dotenv_path, flag_value): function test_load_dotenv_doesnt_disable_itself (line 512) | def test_load_dotenv_doesnt_disable_itself(dotenv_path): function test_load_dotenv_no_file_verbose (line 521) | def test_load_dotenv_no_file_verbose(): function test_load_dotenv_existing_variable_no_override (line 537) | def test_load_dotenv_existing_variable_no_override(dotenv_path): function test_load_dotenv_existing_variable_override (line 550) | def test_load_dotenv_existing_variable_override(dotenv_path): function test_load_dotenv_redefine_var_used_in_file_no_override (line 563) | def test_load_dotenv_redefine_var_used_in_file_no_override(dotenv_path): function test_load_dotenv_redefine_var_used_in_file_with_override (line 576) | def test_load_dotenv_redefine_var_used_in_file_with_override(dotenv_path): function test_load_dotenv_string_io_utf_8 (line 589) | def test_load_dotenv_string_io_utf_8(): function test_load_dotenv_file_stream (line 602) | def test_load_dotenv_file_stream(dotenv_path): function test_load_dotenv_in_current_dir (line 612) | def test_load_dotenv_in_current_dir(tmp_path): function test_dotenv_values_file (line 637) | def test_dotenv_values_file(dotenv_path): function test_dotenv_values_string_io (line 681) | def test_dotenv_values_string_io(env, string, interpolate, expected): function test_dotenv_values_file_stream (line 691) | def test_dotenv_values_file_stream(dotenv_path): FILE: tests/test_parser.py function test_parse_stream (line 550) | def test_parse_stream(test_input, expected): FILE: tests/test_utils.py function test_to_cli_string (line 4) | def test_to_cli_string(): FILE: tests/test_variables.py function test_parse_variables (line 32) | def test_parse_variables(value, expected): FILE: tests/test_zip_imports.py function walk_to_root (line 11) | def walk_to_root(path: str): class FileToAdd (line 20) | class FileToAdd: method __init__ (line 21) | def __init__(self, content: str, path: str): function setup_zipfile (line 26) | def setup_zipfile(path, files: List[FileToAdd]): function test_load_dotenv_gracefully_handles_zip_imports_when_no_env_file (line 42) | def test_load_dotenv_gracefully_handles_zip_imports_when_no_env_file(tmp... function test_load_dotenv_outside_zip_file_when_called_in_zipfile (line 64) | def test_load_dotenv_outside_zip_file_when_called_in_zipfile(tmp_path):