SYMBOL INDEX (316 symbols across 44 files) FILE: collect_script.py function get_os_info (line 6) | def get_os_info(): function get_python_info (line 17) | def get_python_info(): function get_pip_list (line 25) | def get_pip_list(): function write_to_log_file (line 38) | def write_to_log_file(content, filename="env_output.log"): function main (line 43) | def main(): FILE: examples/data_analysis.py class Attachment (line 14) | class Attachment(TypedDict): function main (line 22) | async def main() -> None: FILE: examples/quick_start.py function main (line 11) | async def main() -> None: FILE: ipython/ipython-startup-scripts/98-udfs.py class FileEncoding (line 11) | class FileEncoding(NamedTuple): function detect_file_encodings (line 22) | def detect_file_encodings( function path_from_uri (line 57) | def path_from_uri(uri: str) -> Path: function file_extention (line 86) | def file_extention(file: str) -> str: function read_df (line 91) | def read_df(uri: str, *, autodetect_encoding: bool = True, **kwargs) -> ... function _read_df (line 108) | def _read_df(uri: str, encoding: str = "utf-8", **kwargs) -> pd.DataFrame: FILE: realtabbench/agent_eval/__main__.py function main (line 25) | async def main() -> None: FILE: realtabbench/agent_eval/config.py class DatasetSettings (line 14) | class DatasetSettings(BaseModel): class EvalSettings (line 18) | class EvalSettings(BaseSettings): function load_config (line 33) | def load_config() -> dict[str, Any]: FILE: realtabbench/agent_eval/evaluatee.py class AbstractEvaluatee (line 17) | class AbstractEvaluatee(AbstractAsyncContextManager, ABC): method _call (line 19) | async def _call(self, message: BaseMessage, **kwargs) -> list[BaseMess... method __call__ (line 21) | async def __call__(self, message: BaseMessage, **kwargs) -> list[BaseM... method context (line 26) | def context(self): method instance (line 31) | def instance(cls) -> Self: ... FILE: realtabbench/agent_eval/evaluator/__init__.py function create_evaluator_runnable (line 17) | def create_evaluator_runnable(llm: BaseLanguageModel): FILE: realtabbench/agent_eval/evaluator/output_parser.py class FloatScoreOutputParser (line 11) | class FloatScoreOutputParser(ScoreStringResultOutputParser): method parse (line 16) | def parse(self, text: str) -> dict[str, Any]: FILE: realtabbench/agent_eval/evaluator/prompt.py function format_criteria (line 28) | def format_criteria(criteria: list[str]) -> str: function format_redlines (line 40) | def format_redlines(attentions: list[str]) -> str: function format_reference_answer (line 50) | def format_reference_answer(reference_answer: str) -> str: FILE: realtabbench/agent_eval/questioner.py function main (line 65) | def main(dataset_path, questions_path: Path, description: str, *, nrows:... FILE: realtabbench/agent_eval/runner.py class Runner (line 28) | class Runner: method __init__ (line 34) | def __init__(self, config: EvalSettings) -> None: method run (line 45) | async def run(self, stop_event: asyncio.Event) -> None: function enqueue_samples (line 77) | async def enqueue_samples(queue: asyncio.Queue, dataset_configs: list[di... function construct_samples (line 103) | def construct_samples(dataset: list[dict[str, Any]]) -> list[BaseMessage]: FILE: realtabbench/agent_eval/tablegpt_evaluatee.py class IpythonSettings (line 34) | class IpythonSettings(BaseModel): class Settings (line 44) | class Settings(BaseSettings): function get_settings (line 71) | def get_settings() -> Settings: function get_llm_instance (line 76) | def get_llm_instance() -> BaseLanguageModel: function get_vlm_instance (line 82) | def get_vlm_instance() -> BaseLanguageModel: function get_guard_llm_instance (line 90) | def get_guard_llm_instance() -> BaseLanguageModel: function get_normalize_llm_instance (line 98) | def get_normalize_llm_instance() -> BaseLanguageModel: function get_pybox_manager (line 106) | def get_pybox_manager() -> BasePyBoxManager: class Attachment (line 122) | class Attachment(TypedDict): class TablegptEvaluatee (line 128) | class TablegptEvaluatee(AbstractEvaluatee): method __init__ (line 129) | def __init__( method __aenter__ (line 149) | async def __aenter__(self): method __aexit__ (line 159) | async def __aexit__(self, exc_type, exc_value, traceback): method _call (line 170) | async def _call(self, message: BaseMessage, **kwargs) -> list[BaseMess... method context (line 225) | def context(self): method instance (line 229) | def instance(cls) -> Self: FILE: realtabbench/agent_eval/worker.py class Worker (line 25) | class Worker: method __init__ (line 26) | def __init__( method run (line 42) | async def run(self) -> None: class EvalExecutor (line 64) | class EvalExecutor: method __init__ (line 65) | def __init__( method run (line 75) | async def run(self, sample: BaseMessage) -> None: FILE: realtabbench/inference.py function get_infer_kwargs (line 8) | def get_infer_kwargs(args) -> dict: function load_tokenizer_and_template (line 21) | def load_tokenizer_and_template(model_name_or_path, template=None): function load_model (line 38) | def load_model(model_name_or_path, max_model_len=None, gpus_num=1): function generate_outputs (line 54) | def generate_outputs(messages_batch, llm_model, tokenizer, generate_args): FILE: realtabbench/inference_encoder.py function extract_contrastive_table (line 16) | def extract_contrastive_table(df: pd.DataFrame): function cleanup (line 32) | def cleanup(): function inference_with_encoder (line 42) | def inference_with_encoder(args, format_msg_datas): function truncate (line 63) | def truncate(value, max_length=80): function format_encoder_tables (line 69) | def format_encoder_tables(df_names, table_paths): function build_encoder_table_part_content (line 97) | def build_encoder_table_part_content(df_names, table_paths): function read_df_head (line 126) | def read_df_head(table_path, head_num=3, format_type="string"): FILE: realtabbench/run_text2sql_eval.py function main (line 9) | def main(args): FILE: realtabbench/text2sql/src/evaluation.py function load_json (line 14) | def load_json(dir): # noqa: A002 function execute_sql (line 23) | def execute_sql(predicted_sql, ground_truth, db_path): function execute_model (line 41) | def execute_model(sql_pair, db_place, idx, meta_time_out): function package_sqls (line 56) | def package_sqls(sql_path, db_root_path, mode="gpt", data_mode="dev"): ... function run_sqls_parallel (line 82) | def run_sqls_parallel(sqls, db_places, num_cpus=1, meta_time_out=30.0): function sort_results (line 90) | def sort_results(list_of_dicts): function compute_acc_by_diff (line 94) | def compute_acc_by_diff(exec_results, contents): function print_data (line 140) | def print_data(score_lists, count_lists): function evaluation_main (line 153) | def evaluation_main(args, eval_datas, predicted_sql_path): FILE: realtabbench/text2sql/src/gpt_request.py function new_directory (line 18) | def new_directory(path): function load_json (line 23) | def load_json(data_path): function get_db_schemas (line 28) | def get_db_schemas(bench_root: str, db_name: str) -> dict[str, str]: function nice_look_table (line 46) | def nice_look_table(column_names: list, values: list): function generate_schema_prompt (line 60) | def generate_schema_prompt(db_path, num_rows=None): function generate_comment_prompt (line 97) | def generate_comment_prompt(question, knowledge=None): function cot_wizard (line 112) | def cot_wizard(): function few_shot (line 117) | def few_shot(): function few_shot_no_kg (line 125) | def few_shot_no_kg(): function generate_combined_prompts_one (line 133) | def generate_combined_prompts_one(db_path, question, knowledge=None): function quota_giveup (line 140) | def quota_giveup(e): function connect_gpt (line 144) | def connect_gpt(engine, prompt, max_tokens, temperature, stop): function llm_generate_result (line 154) | def llm_generate_result(model_name_or_path, gpus_num, prompt_ls, args=No... function gpt_generate_result (line 201) | def gpt_generate_result(model_name_or_path, gpus_num, prompt_ls, args=No... function parser_sql (line 250) | def parser_sql(text): function collect_response_from_gpt (line 266) | def collect_response_from_gpt(model_path, gpus_num, db_path_list, questi... function question_package (line 303) | def question_package(data_json, knowledge=False): # noqa: ARG001, FBT002 function knowledge_package (line 307) | def knowledge_package(data_json, knowledge=False): # noqa: ARG001, FBT002 function decouple_question_schema (line 311) | def decouple_question_schema(datasets, db_root_path): function generate_sql_file (line 324) | def generate_sql_file(sql_lst, output_path=None): function generate_main (line 338) | def generate_main(eval_data, args): FILE: realtabbench/text2sql/src/gpt_request_encoder.py function get_table_info (line 50) | def get_table_info(db_path, enum_num=None): function generate_combined_prompts_one_encoder (line 119) | def generate_combined_prompts_one_encoder(db_path, question, knowledge=N... function get_encoder_prompt (line 127) | def get_encoder_prompt(table_info): function get_messages_one (line 131) | def get_messages_one(db_path, question, knowledge=None): function calculate_table_num (line 170) | def calculate_table_num(): function llm_generate_result_encoder (line 206) | def llm_generate_result_encoder(model_name_or_path, gpus_num, messages_ls): function col_nums_max (line 234) | def col_nums_max(message): function llm_generate_result_encoder_one (line 246) | def llm_generate_result_encoder_one(model_name_or_path, gpus_num, messag... function collect_response_from_gpt_encoder (line 281) | def collect_response_from_gpt_encoder(model_path, gpus_num, db_path_list... function generate_main_encoder (line 313) | def generate_main_encoder(eval_data, args): function test_single (line 356) | def test_single(): FILE: realtabbench/utils.py function read_jsonl (line 17) | def read_jsonl(file_path): function load_json (line 22) | def load_json(data_path): function save_json (line 30) | def save_json(data_path, data_list): function get_dfs_info (line 38) | def get_dfs_info(table_paths): function sample_from_two_lists (line 55) | def sample_from_two_lists(list1, list2, threshold=0.5): function recraft_query (line 70) | def recraft_query(query, _locals): function extract_code_without_comments (line 76) | def extract_code_without_comments(code): function is_python_code (line 97) | def is_python_code(line: str) -> bool: function extract_text_before_code (line 126) | def extract_text_before_code(text: str) -> str: function extract_python_code (line 139) | def extract_python_code(text: str) -> str: function fix_indents (line 146) | def fix_indents(text: str) -> str: function filter_cot (line 150) | def filter_cot(completion: str): function filter_code (line 165) | def filter_code(completion: str) -> tuple[str, str]: function get_tool (line 191) | def get_tool(df: Any, df_names=None): function get_table_infos (line 214) | def get_table_infos(table_paths): class TimeoutException (line 232) | class TimeoutException(Exception): # noqa: N818 function timeout (line 238) | def timeout(time): function run_code (line 255) | def run_code(code, result, tool): function execute_with_timeout (line 263) | def execute_with_timeout(code, timeout_seconds, tool): FILE: src/tablegpt/__init__.py function _find_tablegpt_ipykernel_profile_dir (line 8) | def _find_tablegpt_ipykernel_profile_dir(): FILE: src/tablegpt/agent/__init__.py class AgentState (line 23) | class AgentState(MessagesState): function create_tablegpt_graph (line 35) | def create_tablegpt_graph( FILE: src/tablegpt/agent/data_analyzer.py class TruncationConfig (line 43) | class TruncationConfig: function get_data_analyzer_agent (line 120) | def get_data_analyzer_agent(llm: BaseLanguageModel) -> Runnable: class AgentState (line 124) | class AgentState(MessagesState): function create_data_analyze_workflow (line 133) | def create_data_analyze_workflow( FILE: src/tablegpt/agent/file_reading/__init__.py class Stage (line 33) | class Stage(Enum): class AgentState (line 39) | class AgentState(MessagesState): function create_file_reading_workflow (line 51) | def create_file_reading_workflow( FILE: src/tablegpt/agent/file_reading/data_normalizer.py function seq_to_md (line 25) | def seq_to_md(raw_table_info: list[list[Any]]) -> str: function is_split (line 55) | def is_split(origin: list[list[Any]], resp: list[list[Any]]) -> tuple[in... class EvalResultError (line 84) | class EvalResultError(OutputParserException): method __init__ (line 85) | def __init__(self, text: str): class OutputTypeError (line 89) | class OutputTypeError(OutputParserException): method __init__ (line 90) | def __init__(self, text: str, expected_type: str): class ListListOutputParser (line 94) | class ListListOutputParser(BaseTransformOutputParser[list[list[Any]]]): method parse (line 108) | def parse(self, text: str) -> list[list[Any]]: class ListTupleOutputParser (line 122) | class ListTupleOutputParser(BaseTransformOutputParser[list[list[Any]]]): method parse (line 136) | def parse(self, text: str) -> list[list[Any]]: function get_table_reformat_chain (line 169) | def get_table_reformat_chain(llm: BaseLanguageModel) -> Runnable: class NoFinalDFError (line 177) | class NoFinalDFError(OutputParserException): method __init__ (line 178) | def __init__(self): class NoPythonCodeError (line 182) | class NoPythonCodeError(OutputParserException): method __init__ (line 183) | def __init__(self): class CodeOutputParser (line 187) | class CodeOutputParser(StrOutputParser): method parse (line 194) | def parse(self, text: str) -> str: function get_data_normalize_chain (line 258) | def get_data_normalize_chain(llm: BaseLanguageModel) -> Runnable: function wrap_normalize_code (line 294) | def wrap_normalize_code(var_name: str, normalization_code: str) -> str: FILE: src/tablegpt/agent/output_parser.py function override (line 21) | def override(func): class MarkdownOutputParser (line 25) | class MarkdownOutputParser(BaseOutputParser[AgentAction | AgentFinish]): method parse (line 36) | def parse(self, text: str) -> AgentAction | AgentFinish: method _type (line 80) | def _type(self) -> str: FILE: src/tablegpt/errors.py class NoAttachmentsError (line 4) | class NoAttachmentsError(KeyError): method __init__ (line 5) | def __init__(self): class InvalidURIError (line 9) | class InvalidURIError(ValueError): ... class InvalidFileURIError (line 12) | class InvalidFileURIError(InvalidURIError): method __init__ (line 13) | def __init__(self, uri: str): class NonAbsoluteURIError (line 17) | class NonAbsoluteURIError(InvalidURIError): method __init__ (line 18) | def __init__(self, uri: str): class UnsupportedFileFormatError (line 22) | class UnsupportedFileFormatError(ValueError): method __init__ (line 23) | def __init__(self, ext: str): class UnsupportedEncodingError (line 29) | class UnsupportedEncodingError(ValueError): method __init__ (line 30) | def __init__(self, encoding: str): class EncodingDetectionError (line 36) | class EncodingDetectionError(LookupError): method __init__ (line 37) | def __init__(self, path: str): class SimpleOutputParserException (line 41) | class SimpleOutputParserException(OutputParserException): method __init__ (line 42) | def __init__(self, input_text: str): FILE: src/tablegpt/retriever/__init__.py function format_columns (line 19) | def format_columns( function format_values (line 47) | def format_values( FILE: src/tablegpt/retriever/compressor.py function override (line 14) | def override(func): class ColumnDocCompressor (line 24) | class ColumnDocCompressor(BaseDocumentCompressor): method compress_documents (line 32) | def compress_documents( FILE: src/tablegpt/retriever/loader.py function override (line 17) | def override(func): class CSVLoader (line 27) | class CSVLoader(BaseLoader): method __init__ (line 33) | def __init__( method lazy_load (line 59) | def lazy_load(self) -> Iterator[Document]: method alazy_load (line 66) | async def alazy_load(self) -> AsyncIterator[Document]: method column2docs (line 72) | def column2docs(self, column: Series) -> Iterator[Document]: FILE: src/tablegpt/safety.py class HazardOutputParser (line 32) | class HazardOutputParser(BaseTransformOutputParser[tuple[str, str | None... method parse (line 33) | def parse(self, text: str) -> tuple[str, str | None]: function create_hazard_classifier (line 63) | def create_hazard_classifier(llm: BaseLanguageModel) -> Runnable: FILE: src/tablegpt/tools.py function override (line 19) | def override(func): class Artifact (line 28) | class Artifact(BaseModel): method extract_filename (line 40) | def extract_filename(self) -> Self: method ensure_path_absolute (line 46) | def ensure_path_absolute(cls, v: Path) -> Path: class IPythonTool (line 50) | class IPythonTool(BaseTool): method _run (line 77) | def _run( method _arun (line 127) | async def _arun( method _guess_artifact_paths (line 176) | def _guess_artifact_paths(self, code: str) -> list[Path]: method _extract_error_trace (line 190) | def _extract_error_trace(self, e: ErrorContent) -> str: function process_content (line 210) | def process_content(content: str | list[str | dict]) -> list[dict]: FILE: src/tablegpt/translation.py function create_translator (line 24) | def create_translator(llm: BaseLanguageModel) -> Runnable: FILE: src/tablegpt/utils.py function path_from_uri (line 25) | def path_from_uri(uri: str) -> Path: function file_extension (line 61) | def file_extension(file: str) -> str: function read_df (line 74) | def read_df(uri: str, *, autodetect_encoding: bool = True, **kwargs) -> ... function _read_df (line 112) | def _read_df(uri: str, encoding: str = "utf-8", **kwargs) -> pd.DataFrame: class FileEncoding (line 149) | class FileEncoding(NamedTuple): function detect_file_encodings (line 160) | def detect_file_encodings(file_path: str | Path, timeout: int = 5) -> li... function filter_contents (line 194) | def filter_contents(messages: list[BaseMessage], keep: Sequence[str] | N... function filter_content (line 224) | def filter_content(message: BaseMessage, keep: Sequence[str] | None = No... FILE: tests/agent/file_reading/test_data_normalizer.py class TestListListOutputParser (line 12) | class TestListListOutputParser(unittest.TestCase): method setUp (line 13) | def setUp(self): method test_parse_within_text (line 16) | def test_parse_within_text(self): method test_parse_single_inner_list (line 21) | def test_parse_single_inner_list(self): method test_parse_multiple_inner_lists (line 26) | def test_parse_multiple_inner_lists(self): method test_parse_inner_lists_with_brackets (line 31) | def test_parse_inner_lists_with_brackets(self): method test_parse_list_with_empty_inner_list (line 36) | def test_parse_list_with_empty_inner_list(self): method test_parse_inner_list_with_single_element (line 41) | def test_parse_inner_list_with_single_element(self): method test_parse_whitespaces (line 46) | def test_parse_whitespaces(self): method test_parse_inner_list_with_commas (line 51) | def test_parse_inner_list_with_commas(self): method test_parse_outer_empty_list (line 56) | def test_parse_outer_empty_list(self): method test_parse_inner_empty_lists (line 61) | def test_parse_inner_empty_lists(self): method test_parse_inner_lists_with_mixed_item_types (line 66) | def test_parse_inner_lists_with_mixed_item_types(self): method test_parse_mixed_types (line 74) | def test_parse_mixed_types(self): method test_parse_inner_lists_with_special_characters (line 79) | def test_parse_inner_lists_with_special_characters(self): method test_one_dimension_array (line 95) | def test_one_dimension_array(self): method test_invalid_output (line 100) | def test_invalid_output(self): method test_parse_unrecognized (line 130) | def test_parse_unrecognized(self): class TestListTupleOutputParser (line 136) | class TestListTupleOutputParser(unittest.TestCase): method setUp (line 137) | def setUp(self): method test_parse_within_text (line 140) | def test_parse_within_text(self): method test_parse_single_inner_tuple_list (line 145) | def test_parse_single_inner_tuple_list(self): method test_parse_multiple_inner_tuple_lists (line 150) | def test_parse_multiple_inner_tuple_lists(self): method test_parse_inner_tuple_with_parentheses (line 155) | def test_parse_inner_tuple_with_parentheses(self): method test_parse_list_with_empty_tuple (line 160) | def test_parse_list_with_empty_tuple(self): method test_parse_single_element_tuple (line 165) | def test_parse_single_element_tuple(self): method test_parse_whitespaces (line 170) | def test_parse_whitespaces(self): method test_parse_inner_tuple_with_commas (line 175) | def test_parse_inner_tuple_with_commas(self): method test_parse_outer_empty_list (line 180) | def test_parse_outer_empty_list(self): method test_parse_inner_empty_tuples (line 185) | def test_parse_inner_empty_tuples(self): method test_parse_inner_tuples_with_mixed_item_types (line 190) | def test_parse_inner_tuples_with_mixed_item_types(self): method test_parse_mixed_types (line 198) | def test_parse_mixed_types(self): method test_parse_inner_tuples_with_special_characters (line 203) | def test_parse_inner_tuples_with_special_characters(self): method test_one_dimension_array (line 218) | def test_one_dimension_array(self): method test_invalid_output (line 223) | def test_invalid_output(self): method test_parse_unrecognized (line 257) | def test_parse_unrecognized(self): class TestCodeOutputParser (line 263) | class TestCodeOutputParser(unittest.TestCase): method setUp (line 264) | def setUp(self): method test_parse_valid_python (line 267) | def test_parse_valid_python(self): method test_parse_valid_python_without_newline (line 275) | def test_parse_valid_python_without_newline(self): method test_parse_unknown (line 283) | def test_parse_unknown(self): method test_parse_no_final_df (line 287) | def test_parse_no_final_df(self): class TestWrapNormalizeCode (line 296) | class TestWrapNormalizeCode(unittest.TestCase): method test_wrap_normalize_code_basic (line 297) | def test_wrap_normalize_code_basic(self): method test_wrap_empty_normalize_code (line 314) | def test_wrap_empty_normalize_code(self): method test_wrap_multi_line_normalize_code (line 331) | def test_wrap_multi_line_normalize_code(self): FILE: tests/agent/test_output_parser.py class TestMarkdownOutputParser (line 14) | class TestMarkdownOutputParser(unittest.TestCase): method test_valid_markdown_known_language_action (line 16) | def test_valid_markdown_known_language_action(self, mock_uuid): method test_valid_markdown_unknown_language (line 49) | def test_valid_markdown_unknown_language(self): method test_valid_markdown_no_code_block (line 57) | def test_valid_markdown_no_code_block(self): method test_valid_markdown_multiple_code_blocks (line 68) | def test_valid_markdown_multiple_code_blocks(self): method test_empty_input (line 105) | def test_empty_input(self): FILE: tests/retriever/test_compressor.py class TestCompressDocuments (line 7) | class TestCompressDocuments(unittest.TestCase): method setUp (line 8) | def setUp(self): method test_single_column_single_file (line 11) | def test_single_column_single_file(self): method test_multiple_columns_single_file (line 33) | def test_multiple_columns_single_file(self): method test_multiple_columns_multiple_files (line 59) | def test_multiple_columns_multiple_files(self): method test_empty_input (line 93) | def test_empty_input(self): FILE: tests/retriever/test_format.py class TestFormatColumns (line 7) | class TestFormatColumns(unittest.TestCase): method test_format_empty_column_docs (line 8) | def test_format_empty_column_docs(self): method test_format_column_docs (line 12) | def test_format_column_docs(self): method test_format_and_compress_column (line 33) | def test_format_and_compress_column(self): FILE: tests/retriever/test_loader.py function mock_df (line 10) | def mock_df(): function loader (line 16) | def loader(): function test_initialization (line 21) | def test_initialization(loader): function test_lazy_load (line 27) | def test_lazy_load(loader, mock_df): function test_lazy_load_with_missing_metadata (line 53) | def test_lazy_load_with_missing_metadata(mock_df): function test_column2docs (line 78) | def test_column2docs(loader, mock_df): function test_empty_csv (line 88) | def test_empty_csv(loader): function test_csv_with_non_string_column (line 95) | def test_csv_with_non_string_column(loader): FILE: tests/test_profile_init.py class TestTableGPTInit (line 6) | class TestTableGPTInit(unittest.TestCase): method setUp (line 7) | def setUp(self): method tearDown (line 20) | def tearDown(self): method test_find_tablegpt_ipykernel_profile_dir_found (line 30) | def test_find_tablegpt_ipykernel_profile_dir_found(self): method test_default_tablegpt_ipykernel_profile_dir_not_found (line 39) | def test_default_tablegpt_ipykernel_profile_dir_not_found(self): FILE: tests/test_safety.py class TestHazardOutputParser (line 6) | class TestHazardOutputParser(unittest.TestCase): method setUp (line 7) | def setUp(self): method test_parse_safe (line 10) | def test_parse_safe(self): method test_parse_safe_with_spaces (line 14) | def test_parse_safe_with_spaces(self): method test_parse_unknown (line 18) | def test_parse_unknown(self): method test_parse_unsafe_text_with_category (line 22) | def test_parse_unsafe_text_with_category(self): method test_parse_unsafe_text_with_invalid_format (line 27) | def test_parse_unsafe_text_with_invalid_format(self): FILE: tests/test_tools.py class TestProcessContent (line 6) | class TestProcessContent(unittest.TestCase): method test_single_string (line 7) | def test_single_string(self): method test_list_of_strings (line 12) | def test_list_of_strings(self): method test_list_of_mixed_strings_and_dicts (line 17) | def test_list_of_mixed_strings_and_dicts(self): method test_list_of_only_dicts (line 29) | def test_list_of_only_dicts(self): method test_empty_string (line 40) | def test_empty_string(self): method test_empty_list (line 45) | def test_empty_list(self): method test_list_with_empty_string (line 50) | def test_list_with_empty_string(self): method test_text_in_dict (line 58) | def test_text_in_dict(self): FILE: tests/test_utils.py class TestPathFromUri (line 11) | class TestPathFromUri(unittest.TestCase): method test_valid_file_uri_unix (line 13) | def test_valid_file_uri_unix(self): method test_valid_file_uri_windows (line 20) | def test_valid_file_uri_windows(self): method test_valid_file_uri_unc_path (line 27) | def test_valid_file_uri_unc_path(self): method test_invalid_file_uri (line 33) | def test_invalid_file_uri(self): method test_relative_file_uri (line 40) | def test_relative_file_uri(self): method test_invalid_dos_drive (line 48) | def test_invalid_dos_drive(self): method test_valid_file_uri_with_encoded_characters (line 55) | def test_valid_file_uri_with_encoded_characters(self): class TestFilterContent (line 62) | class TestFilterContent(unittest.TestCase): method test_filter_content_with_string_content (line 63) | def test_filter_content_with_string_content(self): method test_filter_content_with_list_of_strings (line 68) | def test_filter_content_with_list_of_strings(self): method test_filter_content_with_list_of_dicts (line 73) | def test_filter_content_with_list_of_dicts(self): method test_filter_content_with_custom_keep (line 84) | def test_filter_content_with_custom_keep(self): method test_filter_content_with_mixed_content (line 98) | def test_filter_content_with_mixed_content(self): method test_filter_content_with_no_text_type (line 110) | def test_filter_content_with_no_text_type(self):