Files
tfm_ainventory/graphify-out/cache/8f423680f14eed104aa52479392b0cef133b0844399e59f798566e7763e3b7e6.json

1 line
68 KiB
JSON

{"nodes": [{"id": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "label": "typing.py", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L1"}, {"id": "typing_is_fwd_none", "label": "is_fwd_none()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L77"}, {"id": "typing_argstypeprotocol", "label": "ArgsTypeProtocol", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L86"}, {"id": "protocol", "label": "Protocol", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "typing_genericprotocol", "label": "GenericProtocol", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L96"}, {"id": "typing_supportskeysandgetitem", "label": "SupportsKeysAndGetItem", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L116"}, {"id": "typing_supportskeysandgetitem_keys", "label": ".keys()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L117"}, {"id": "typing_supportskeysandgetitem_getitem", "label": ".__getitem__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L119"}, {"id": "typing_de_stringify_annotation", "label": "de_stringify_annotation()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L126"}, {"id": "typing_fixup_container_fwd_refs", "label": "fixup_container_fwd_refs()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L197"}, {"id": "typing_copy_generic_annotation_with", "label": "_copy_generic_annotation_with()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L238"}, {"id": "typing_eval_expression", "label": "eval_expression()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L249"}, {"id": "typing_eval_name_only", "label": "eval_name_only()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L285"}, {"id": "typing_resolve_name_to_real_class_name", "label": "resolve_name_to_real_class_name()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L319"}, {"id": "typing_is_pep593", "label": "is_pep593()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L328"}, {"id": "typing_is_non_string_iterable", "label": "is_non_string_iterable()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L332"}, {"id": "typing_is_literal", "label": "is_literal()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L338"}, {"id": "typing_is_newtype", "label": "is_newtype()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L342"}, {"id": "typing_is_generic", "label": "is_generic()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L350"}, {"id": "typing_is_pep695", "label": "is_pep695()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L354"}, {"id": "typing_flatten_newtype", "label": "flatten_newtype()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L364"}, {"id": "typing_pep695_values", "label": "pep695_values()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L371"}, {"id": "typing_is_fwd_ref", "label": "is_fwd_ref()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L408"}, {"id": "typing_de_optionalize_union_types", "label": "de_optionalize_union_types()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L429"}, {"id": "typing_de_optionalize_fwd_ref_union_types", "label": "_de_optionalize_fwd_ref_union_types()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L483"}, {"id": "typing_make_union_type", "label": "make_union_type()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L548"}, {"id": "typing_includes_none", "label": "includes_none()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L554"}, {"id": "typing_is_a_type", "label": "is_a_type()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L585"}, {"id": "typing_is_union", "label": "is_union()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L595"}, {"id": "typing_is_origin_of_cls", "label": "is_origin_of_cls()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L599"}, {"id": "typing_is_origin_of", "label": "is_origin_of()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L612"}, {"id": "typing_get_type_name", "label": "_get_type_name()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L627"}, {"id": "typing_descriptorproto", "label": "DescriptorProto", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L638"}, {"id": "typing_descriptorproto_get", "label": ".__get__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L639"}, {"id": "typing_descriptorproto_set", "label": ".__set__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L641"}, {"id": "typing_descriptorproto_delete", "label": ".__delete__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L643"}, {"id": "typing_descriptorreference", "label": "DescriptorReference", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L649"}, {"id": "typing_get", "label": "__get__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L662"}, {"id": "typing_set", "label": "__set__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L664"}, {"id": "typing_delete", "label": "__delete__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L666"}, {"id": "typing_rodescriptorreference", "label": "RODescriptorReference", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L672"}, {"id": "typing_callablereference", "label": "CallableReference", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L692"}, {"id": "typing_typinginstances", "label": "_TypingInstances", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L710"}, {"id": "typing_typinginstances_getattr", "label": ".__getattr__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L711"}, {"id": "typing_rationale_87", "label": "protocol for types that have ``__args__`` there's no public interface for t", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L87"}, {"id": "typing_rationale_97", "label": "protocol for generic types. this since Python.typing _GenericAlias is priva", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L97"}, {"id": "typing_rationale_136", "label": "Resolve annotations that may be string based into real objects. This is par", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L136"}, {"id": "typing_rationale_200", "label": "Correct dict['x', 'y'] into dict[ForwardRef('x'), ForwardRef('y')] and simil", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L200"}, {"id": "typing_rationale_372", "label": "Extracts the value from a TypeAliasType, recursively exploring unions and in", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L372"}, {"id": "typing_rationale_445", "label": "Given a type, filter out ``Union`` types that include ``NoneType`` to not in", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L445"}, {"id": "typing_rationale_497", "label": "return the non-optional type for Optional[], Union[None, ...], x|None, etc.", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L497"}, {"id": "typing_rationale_555", "label": "Returns if the type annotation ``type_`` allows ``None``. This function sup", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L555"}, {"id": "typing_rationale_602", "label": "return True if the given type has an __origin__ that shares a base with the", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L602"}, {"id": "typing_rationale_615", "label": "return True if the given type has an __origin__ with the given name and opti", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L615"}, {"id": "typing_rationale_650", "label": "a descriptor that refers to a descriptor. used for cases where we need to h", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L650"}, {"id": "typing_rationale_673", "label": "a descriptor that refers to a descriptor. same as :class:`.DescriptorRefere", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L673"}, {"id": "typing_rationale_693", "label": "a descriptor that refers to a callable. works around mypy's limitation of n", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L693"}, {"id": "typing_rationale_355", "label": "# NOTE: a generic TAT does not instance check as TypeAliasType outside of", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L355"}, {"id": "typing_rationale_358", "label": "# NOTE: things seems to work also without this additional check", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L358"}], "edges": [{"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "builtins", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L11", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "collections", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L12", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "collections_abc", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L13", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "re", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L14", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "sys", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L15", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L16", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L17", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L18", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L19", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L20", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L21", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L22", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L23", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L24", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L25", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L26", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L27", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L28", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L29", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L30", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L31", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L32", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L33", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_extensions", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L35", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_init_py", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L37", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_extensions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L40", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_extensions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L41", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_extensions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L42", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_extensions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L45", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_extensions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L46", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_extensions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L47", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_extensions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L48", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_extensions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L49", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_extensions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L50", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_extensions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L51", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_extensions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L52", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_extensions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L53", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_extensions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L54", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_extensions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L55", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_extensions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L56", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_extensions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L57", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_extensions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L58", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_extensions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L59", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_extensions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L60", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "types", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L72", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_is_fwd_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L77", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_argstypeprotocol", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L86", "weight": 1.0}, {"source": "typing_argstypeprotocol", "target": "protocol", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L86", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_genericprotocol", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L96", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_supportskeysandgetitem", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L116", "weight": 1.0}, {"source": "typing_supportskeysandgetitem", "target": "typing_supportskeysandgetitem_keys", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L117", "weight": 1.0}, {"source": "typing_supportskeysandgetitem", "target": "typing_supportskeysandgetitem_getitem", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L119", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_de_stringify_annotation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L126", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_fixup_container_fwd_refs", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L197", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_copy_generic_annotation_with", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L238", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_eval_expression", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L249", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_eval_name_only", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L285", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_resolve_name_to_real_class_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L319", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_is_pep593", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L328", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_is_non_string_iterable", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L332", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_is_literal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L338", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_is_newtype", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L342", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_is_generic", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L350", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_is_pep695", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L354", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_flatten_newtype", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L364", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_pep695_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L371", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_is_fwd_ref", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L408", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_de_optionalize_union_types", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L429", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_de_optionalize_union_types", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L433", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_de_optionalize_union_types", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L437", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_de_optionalize_union_types", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L442", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_de_optionalize_fwd_ref_union_types", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L483", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_de_optionalize_fwd_ref_union_types", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L489", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_de_optionalize_fwd_ref_union_types", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L494", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_make_union_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L548", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_includes_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L554", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_is_a_type", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L585", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_is_union", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L595", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_is_origin_of_cls", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L599", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_is_origin_of", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L612", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_get_type_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L627", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_descriptorproto", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L638", "weight": 1.0}, {"source": "typing_descriptorproto", "target": "protocol", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L638", "weight": 1.0}, {"source": "typing_descriptorproto", "target": "typing_descriptorproto_get", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L639", "weight": 1.0}, {"source": "typing_descriptorproto", "target": "typing_descriptorproto_set", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L641", "weight": 1.0}, {"source": "typing_descriptorproto", "target": "typing_descriptorproto_delete", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L643", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_descriptorreference", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L649", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_get", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L662", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_set", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L664", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_delete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L666", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_rodescriptorreference", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L672", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_get", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L682", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_set", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L684", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_delete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L686", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_callablereference", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L692", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_get", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L703", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_set", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L705", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_delete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L707", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "target": "typing_typinginstances", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L710", "weight": 1.0}, {"source": "typing_typinginstances", "target": "typing_typinginstances_getattr", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L711", "weight": 1.0}, {"source": "typing_de_stringify_annotation", "target": "typing_is_fwd_ref", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L151", "weight": 1.0}, {"source": "typing_de_stringify_annotation", "target": "typing_eval_expression", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L158", "weight": 1.0}, {"source": "typing_de_stringify_annotation", "target": "typing_is_generic", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L164", "weight": 1.0}, {"source": "typing_de_stringify_annotation", "target": "typing_is_literal", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L165", "weight": 1.0}, {"source": "typing_de_stringify_annotation", "target": "typing_copy_generic_annotation_with", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L192", "weight": 1.0}, {"source": "typing_fixup_container_fwd_refs", "target": "typing_is_generic", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L206", "weight": 1.0}, {"source": "typing_eval_name_only", "target": "typing_eval_expression", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L292", "weight": 1.0}, {"source": "typing_resolve_name_to_real_class_name", "target": "typing_eval_name_only", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L321", "weight": 1.0}, {"source": "typing_is_pep695", "target": "typing_is_generic", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L359", "weight": 1.0}, {"source": "typing_flatten_newtype", "target": "typing_is_newtype", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L366", "weight": 1.0}, {"source": "typing_pep695_values", "target": "typing_is_fwd_none", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L402", "weight": 1.0}, {"source": "typing_is_fwd_ref", "target": "typing_is_generic", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L417", "weight": 1.0}, {"source": "typing_de_optionalize_union_types", "target": "typing_is_fwd_ref", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L453", "weight": 1.0}, {"source": "typing_de_optionalize_union_types", "target": "typing_de_optionalize_fwd_ref_union_types", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L454", "weight": 1.0}, {"source": "typing_de_optionalize_union_types", "target": "typing_is_union", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L456", "weight": 1.0}, {"source": "typing_de_optionalize_union_types", "target": "typing_includes_none", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L456", "weight": 1.0}, {"source": "typing_de_optionalize_union_types", "target": "typing_is_fwd_none", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L474", "weight": 1.0}, {"source": "typing_de_optionalize_union_types", "target": "typing_make_union_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L476", "weight": 1.0}, {"source": "typing_de_optionalize_fwd_ref_union_types", "target": "typing_make_union_type", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L533", "weight": 1.0}, {"source": "typing_includes_none", "target": "typing_is_fwd_ref", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L566", "weight": 1.0}, {"source": "typing_includes_none", "target": "typing_de_optionalize_fwd_ref_union_types", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L567", "weight": 1.0}, {"source": "typing_includes_none", "target": "typing_is_union", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L568", "weight": 1.0}, {"source": "typing_includes_none", "target": "typing_is_pep593", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L570", "weight": 1.0}, {"source": "typing_includes_none", "target": "typing_is_pep695", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L572", "weight": 1.0}, {"source": "typing_includes_none", "target": "typing_pep695_values", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L573", "weight": 1.0}, {"source": "typing_includes_none", "target": "typing_is_newtype", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L574", "weight": 1.0}, {"source": "typing_includes_none", "target": "typing_is_fwd_none", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L577", "weight": 1.0}, {"source": "typing_is_union", "target": "typing_is_origin_of", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L596", "weight": 1.0}, {"source": "typing_is_origin_of", "target": "typing_get_type_name", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L622", "weight": 1.0}, {"source": "typing_rationale_87", "target": "typing_argstypeprotocol", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L87", "weight": 1.0}, {"source": "typing_rationale_97", "target": "typing_genericprotocol", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L97", "weight": 1.0}, {"source": "typing_rationale_136", "target": "typing_de_stringify_annotation", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L136", "weight": 1.0}, {"source": "typing_rationale_200", "target": "typing_fixup_container_fwd_refs", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L200", "weight": 1.0}, {"source": "typing_rationale_372", "target": "typing_pep695_values", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L372", "weight": 1.0}, {"source": "typing_rationale_445", "target": "typing_de_optionalize_union_types", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L445", "weight": 1.0}, {"source": "typing_rationale_497", "target": "typing_de_optionalize_fwd_ref_union_types", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L497", "weight": 1.0}, {"source": "typing_rationale_555", "target": "typing_includes_none", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L555", "weight": 1.0}, {"source": "typing_rationale_602", "target": "typing_is_origin_of_cls", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L602", "weight": 1.0}, {"source": "typing_rationale_615", "target": "typing_is_origin_of", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L615", "weight": 1.0}, {"source": "typing_rationale_650", "target": "typing_descriptorreference", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L650", "weight": 1.0}, {"source": "typing_rationale_673", "target": "typing_rodescriptorreference", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L673", "weight": 1.0}, {"source": "typing_rationale_693", "target": "typing_callablereference", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L693", "weight": 1.0}, {"source": "typing_rationale_355", "target": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L355", "weight": 1.0}, {"source": "typing_rationale_358", "target": "backend_venv_lib_python3_12_site_packages_sqlalchemy_util_typing_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L358", "weight": 1.0}], "raw_calls": [{"caller_nid": "typing_is_fwd_none", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L78"}, {"caller_nid": "typing_de_stringify_annotation", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L154"}, {"caller_nid": "typing_de_stringify_annotation", "callee": "str_cleanup_fn", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L156"}, {"caller_nid": "typing_de_stringify_annotation", "callee": "set", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L168"}, {"caller_nid": "typing_de_stringify_annotation", "callee": "add", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L177"}, {"caller_nid": "typing_de_stringify_annotation", "callee": "tuple", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L179"}, {"caller_nid": "typing_fixup_container_fwd_refs", "callee": "get_origin", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L207"}, {"caller_nid": "typing_fixup_container_fwd_refs", "callee": "match", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L222"}, {"caller_nid": "typing_fixup_container_fwd_refs", "callee": "repr", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L223"}, {"caller_nid": "typing_fixup_container_fwd_refs", "callee": "__class_getitem__", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L227"}, {"caller_nid": "typing_fixup_container_fwd_refs", "callee": "get_origin", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L227"}, {"caller_nid": "typing_fixup_container_fwd_refs", "callee": "tuple", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L228"}, {"caller_nid": "typing_fixup_container_fwd_refs", "callee": "ForwardRef", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L230"}, {"caller_nid": "typing_fixup_container_fwd_refs", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L230"}, {"caller_nid": "typing_fixup_container_fwd_refs", "callee": "get_args", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L231"}, {"caller_nid": "typing_copy_generic_annotation_with", "callee": "hasattr", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L241"}, {"caller_nid": "typing_copy_generic_annotation_with", "callee": "copy_with", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L243"}, {"caller_nid": "typing_eval_expression", "callee": "NameError", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L259"}, {"caller_nid": "typing_eval_expression", "callee": "dict", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L266"}, {"caller_nid": "typing_eval_expression", "callee": "setdefault", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L267"}, {"caller_nid": "typing_eval_expression", "callee": "update", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L272"}, {"caller_nid": "typing_eval_expression", "callee": "eval", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L274"}, {"caller_nid": "typing_eval_expression", "callee": "eval", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L276"}, {"caller_nid": "typing_eval_expression", "callee": "NameError", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L278"}, {"caller_nid": "typing_eval_name_only", "callee": "NameError", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L297"}, {"caller_nid": "typing_eval_name_only", "callee": "NameError", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L314"}, {"caller_nid": "typing_resolve_name_to_real_class_name", "callee": "getattr", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L325"}, {"caller_nid": "typing_is_pep593", "callee": "get_origin", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L329"}, {"caller_nid": "typing_is_non_string_iterable", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L333"}, {"caller_nid": "typing_is_non_string_iterable", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L333"}, {"caller_nid": "typing_is_literal", "callee": "get_origin", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L339"}, {"caller_nid": "typing_is_newtype", "callee": "hasattr", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L343"}, {"caller_nid": "typing_is_generic", "callee": "hasattr", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L351"}, {"caller_nid": "typing_is_generic", "callee": "hasattr", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L351"}, {"caller_nid": "typing_is_pep695", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L361"}, {"caller_nid": "typing_pep695_values", "callee": "set", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L378"}, {"caller_nid": "typing_pep695_values", "callee": "recursive_value", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L393"}, {"caller_nid": "typing_pep695_values", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L394"}, {"caller_nid": "typing_pep695_values", "callee": "set", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L395"}, {"caller_nid": "typing_pep695_values", "callee": "deque", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L396"}, {"caller_nid": "typing_pep695_values", "callee": "popleft", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L398"}, {"caller_nid": "typing_pep695_values", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L399"}, {"caller_nid": "typing_pep695_values", "callee": "extend", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L400"}, {"caller_nid": "typing_pep695_values", "callee": "add", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L402"}, {"caller_nid": "typing_is_fwd_ref", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L413"}, {"caller_nid": "typing_is_fwd_ref", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L415"}, {"caller_nid": "typing_is_fwd_ref", "callee": "any", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L418"}, {"caller_nid": "typing_de_optionalize_union_types", "callee": "set", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L458"}, {"caller_nid": "typing_de_optionalize_union_types", "callee": "deque", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L462"}, {"caller_nid": "typing_de_optionalize_union_types", "callee": "set", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L463"}, {"caller_nid": "typing_de_optionalize_union_types", "callee": "popleft", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L465"}, {"caller_nid": "typing_de_optionalize_union_types", "callee": "append", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L468"}, {"caller_nid": "typing_de_optionalize_union_types", "callee": "add", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L470"}, {"caller_nid": "typing_de_optionalize_union_types", "callee": "discard", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L472"}, {"caller_nid": "typing_de_optionalize_fwd_ref_union_types", "callee": "match", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L506"}, {"caller_nid": "typing_de_optionalize_fwd_ref_union_types", "callee": "split", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L508"}, {"caller_nid": "typing_de_optionalize_fwd_ref_union_types", "callee": "group", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L508"}, {"caller_nid": "typing_de_optionalize_fwd_ref_union_types", "callee": "ForwardRef", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L510"}, {"caller_nid": "typing_de_optionalize_fwd_ref_union_types", "callee": "group", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L510"}, {"caller_nid": "typing_de_optionalize_fwd_ref_union_types", "callee": "group", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L512"}, {"caller_nid": "typing_de_optionalize_fwd_ref_union_types", "callee": "group", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L517"}, {"caller_nid": "typing_de_optionalize_fwd_ref_union_types", "callee": "append", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L523"}, {"caller_nid": "typing_de_optionalize_fwd_ref_union_types", "callee": "strip", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L523"}, {"caller_nid": "typing_de_optionalize_fwd_ref_union_types", "callee": "join", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L523"}, {"caller_nid": "typing_de_optionalize_fwd_ref_union_types", "callee": "clear", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L524"}, {"caller_nid": "typing_de_optionalize_fwd_ref_union_types", "callee": "append", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L526"}, {"caller_nid": "typing_de_optionalize_fwd_ref_union_types", "callee": "split", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L528"}, {"caller_nid": "typing_de_optionalize_fwd_ref_union_types", "callee": "group", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L528"}, {"caller_nid": "typing_de_optionalize_fwd_ref_union_types", "callee": "ForwardRef", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L529"}, {"caller_nid": "typing_de_optionalize_fwd_ref_union_types", "callee": "len", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L531"}, {"caller_nid": "typing_de_optionalize_fwd_ref_union_types", "callee": "len", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L531"}, {"caller_nid": "typing_de_optionalize_fwd_ref_union_types", "callee": "split", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L537"}, {"caller_nid": "typing_de_optionalize_fwd_ref_union_types", "callee": "join", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L542"}, {"caller_nid": "typing_de_optionalize_fwd_ref_union_types", "callee": "ForwardRef", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L543"}, {"caller_nid": "typing_includes_none", "callee": "any", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L569"}, {"caller_nid": "typing_includes_none", "callee": "get_args", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L569"}, {"caller_nid": "typing_includes_none", "callee": "get_args", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L571"}, {"caller_nid": "typing_includes_none", "callee": "any", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L573"}, {"caller_nid": "typing_is_a_type", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L587"}, {"caller_nid": "typing_is_a_type", "callee": "get_origin", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L588"}, {"caller_nid": "typing_is_a_type", "callee": "getattr", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L589"}, {"caller_nid": "typing_is_a_type", "callee": "type", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L591"}, {"caller_nid": "typing_is_origin_of_cls", "callee": "get_origin", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L605"}, {"caller_nid": "typing_is_origin_of_cls", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L609"}, {"caller_nid": "typing_is_origin_of_cls", "callee": "issubclass", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L609"}, {"caller_nid": "typing_is_origin_of", "callee": "get_origin", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L618"}, {"caller_nid": "typing_is_origin_of", "callee": "startswith", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L623"}, {"caller_nid": "typing_get_type_name", "callee": "getattr", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L631"}, {"caller_nid": "typing_get_type_name", "callee": "getattr", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L633"}, {"caller_nid": "typing_typinginstances_getattr", "callee": "tuple", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L712"}, {"caller_nid": "typing_typinginstances_getattr", "callee": "getattr", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L716"}, {"caller_nid": "typing_typinginstances_getattr", "callee": "getattr", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L717"}, {"caller_nid": "typing_typinginstances_getattr", "callee": "AttributeError", "source_file": "backend/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.py", "source_location": "L723"}]}