1 line
24 KiB
JSON
1 line
24 KiB
JSON
{"nodes": [{"id": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "label": "base.py", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L1"}, {"id": "base_wrap_errors", "label": "_wrap_errors()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L21"}, {"id": "base_storage", "label": "Storage", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L38"}, {"id": "lazydependency", "label": "LazyDependency", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "base_storage_init_subclass", "label": ".__init_subclass__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L46"}, {"id": "base_storage_init", "label": ".__init__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L59"}, {"id": "base_base_exceptions", "label": "base_exceptions()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L74"}, {"id": "base_incr", "label": "incr()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L78"}, {"id": "base_get", "label": "get()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L89"}, {"id": "base_get_expiry", "label": "get_expiry()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L96"}, {"id": "base_check", "label": "check()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L103"}, {"id": "base_reset", "label": "reset()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L110"}, {"id": "base_clear", "label": "clear()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L117"}, {"id": "base_movingwindowsupport", "label": "MovingWindowSupport", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L126"}, {"id": "abc", "label": "ABC", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "base_movingwindowsupport_init_subclass", "label": ".__init_subclass__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L132"}, {"id": "base_acquire_entry", "label": "acquire_entry()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L145"}, {"id": "base_get_moving_window", "label": "get_moving_window()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L157"}, {"id": "base_slidingwindowcountersupport", "label": "SlidingWindowCounterSupport", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L171"}, {"id": "base_slidingwindowcountersupport_init_subclass", "label": ".__init_subclass__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L177"}, {"id": "base_acquire_sliding_window_entry", "label": "acquire_sliding_window_entry()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L191"}, {"id": "base_get_sliding_window", "label": "get_sliding_window()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L210"}, {"id": "base_clear_sliding_window", "label": "clear_sliding_window()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L227"}, {"id": "base_rationale_39", "label": "Base class to extend when implementing an async storage backend.", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L39"}, {"id": "base_rationale_65", "label": ":param wrap_exceptions: Whether to wrap storage exceptions in :exc:`lim", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L65"}, {"id": "base_rationale_79", "label": "increments the counter for a given rate limit key :param key: the key t", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L79"}, {"id": "base_rationale_90", "label": ":param key: the key to get the counter value for", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L90"}, {"id": "base_rationale_97", "label": ":param key: the key to get the expiry for", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L97"}, {"id": "base_rationale_104", "label": "check if storage is healthy", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L104"}, {"id": "base_rationale_111", "label": "reset storage to clear limits", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L111"}, {"id": "base_rationale_118", "label": "resets the rate limit key :param key: the key to clear rate limits for", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L118"}, {"id": "base_rationale_127", "label": "Abstract base class for async storages that support the :ref:`strategies:mov", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L127"}, {"id": "base_rationale_148", "label": ":param key: rate limit key to acquire an entry in :param limit: amount o", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L148"}, {"id": "base_rationale_160", "label": "returns the starting point and the number of entries in the moving windo", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L160"}, {"id": "base_rationale_172", "label": "Abstract base class for async storages that support the :ref:`strategies:sli", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L172"}, {"id": "base_rationale_198", "label": "Acquire an entry if the weighted count of the current and previous windo", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L198"}, {"id": "base_rationale_213", "label": "Return the previous and current window information. :param key: the rat", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L213"}, {"id": "base_rationale_228", "label": "Resets the rate limit key(s) for the sliding window :param key: the key", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L228"}], "edges": [{"source": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "target": "functools", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L3", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "target": "abc", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L4", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "target": "deprecated_sphinx", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L6", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "target": "limits", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L8", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "target": "limits_storage_scheme", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L9", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "target": "limits_typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L10", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "target": "limits_util", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L18", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "target": "base_wrap_errors", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L21", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "target": "base_storage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L38", "weight": 1.0}, {"source": "base_storage", "target": "lazydependency", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L38", "weight": 1.0}, {"source": "base_storage", "target": "base_storage_init_subclass", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L46", "weight": 1.0}, {"source": "base_storage", "target": "base_storage_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L59", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "target": "base_base_exceptions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L74", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "target": "base_incr", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L78", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "target": "base_get", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L89", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "target": "base_get_expiry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L96", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "target": "base_check", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L103", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "target": "base_reset", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L110", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "target": "base_clear", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L117", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "target": "base_movingwindowsupport", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L126", "weight": 1.0}, {"source": "base_movingwindowsupport", "target": "abc", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L126", "weight": 1.0}, {"source": "base_movingwindowsupport", "target": "base_movingwindowsupport_init_subclass", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L132", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "target": "base_acquire_entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L145", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "target": "base_get_moving_window", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L157", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "target": "base_slidingwindowcountersupport", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L171", "weight": 1.0}, {"source": "base_slidingwindowcountersupport", "target": "abc", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L171", "weight": 1.0}, {"source": "base_slidingwindowcountersupport", "target": "base_slidingwindowcountersupport_init_subclass", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L177", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "target": "base_acquire_sliding_window_entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L191", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "target": "base_get_sliding_window", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L210", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_limits_aio_storage_base_py", "target": "base_clear_sliding_window", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L227", "weight": 1.0}, {"source": "base_storage_init_subclass", "target": "base_slidingwindowcountersupport_init_subclass", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L47", "weight": 1.0}, {"source": "base_storage_init_subclass", "target": "base_wrap_errors", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L56", "weight": 1.0}, {"source": "base_movingwindowsupport_init_subclass", "target": "base_wrap_errors", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L140", "weight": 1.0}, {"source": "base_movingwindowsupport_init_subclass", "target": "base_slidingwindowcountersupport_init_subclass", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L142", "weight": 1.0}, {"source": "base_slidingwindowcountersupport_init_subclass", "target": "base_wrap_errors", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L186", "weight": 1.0}, {"source": "base_rationale_39", "target": "base_storage", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L39", "weight": 1.0}, {"source": "base_rationale_65", "target": "base_storage_init", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L65", "weight": 1.0}, {"source": "base_rationale_79", "target": "base_storage_incr", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L79", "weight": 1.0}, {"source": "base_rationale_90", "target": "base_storage_get", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L90", "weight": 1.0}, {"source": "base_rationale_97", "target": "base_storage_get_expiry", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L97", "weight": 1.0}, {"source": "base_rationale_104", "target": "base_storage_check", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L104", "weight": 1.0}, {"source": "base_rationale_111", "target": "base_storage_reset", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L111", "weight": 1.0}, {"source": "base_rationale_118", "target": "base_storage_clear", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L118", "weight": 1.0}, {"source": "base_rationale_127", "target": "base_movingwindowsupport", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L127", "weight": 1.0}, {"source": "base_rationale_148", "target": "base_movingwindowsupport_acquire_entry", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L148", "weight": 1.0}, {"source": "base_rationale_160", "target": "base_movingwindowsupport_get_moving_window", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L160", "weight": 1.0}, {"source": "base_rationale_172", "target": "base_slidingwindowcountersupport", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L172", "weight": 1.0}, {"source": "base_rationale_198", "target": "base_slidingwindowcountersupport_acquire_sliding_window_entry", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L198", "weight": 1.0}, {"source": "base_rationale_213", "target": "base_slidingwindowcountersupport_get_sliding_window", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L213", "weight": 1.0}, {"source": "base_rationale_228", "target": "base_slidingwindowcountersupport_clear_sliding_window", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L228", "weight": 1.0}], "raw_calls": [{"caller_nid": "base_wrap_errors", "callee": "wraps", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L24"}, {"caller_nid": "base_storage_init_subclass", "callee": "super", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L47"}, {"caller_nid": "base_storage_init_subclass", "callee": "setattr", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L56"}, {"caller_nid": "base_storage_init_subclass", "callee": "getattr", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L56"}, {"caller_nid": "base_storage_init_subclass", "callee": "super", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L57"}, {"caller_nid": "base_storage_init", "callee": "super", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L69"}, {"caller_nid": "base_movingwindowsupport_init_subclass", "callee": "setattr", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L137"}, {"caller_nid": "base_movingwindowsupport_init_subclass", "callee": "getattr", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L140"}, {"caller_nid": "base_movingwindowsupport_init_subclass", "callee": "super", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L142"}, {"caller_nid": "base_slidingwindowcountersupport_init_subclass", "callee": "setattr", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L183"}, {"caller_nid": "base_slidingwindowcountersupport_init_subclass", "callee": "getattr", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L186"}, {"caller_nid": "base_slidingwindowcountersupport_init_subclass", "callee": "super", "source_file": "backend/venv/lib/python3.12/site-packages/limits/aio/storage/base.py", "source_location": "L188"}]} |