Toggle Menu
Prev Up Next

# `langchain.storage.file_system`.LocalFileStore

class langchain.storage.file_system.LocalFileStore(root_path: Union[str, Path], *, chmod_file: Optional[int] = None, chmod_dir: Optional[int] = None)

  BaseStore interface that works on the local file system.

  Examples

  Create a LocalFileStore instance and perform operations on it:

      from langchain.storage import LocalFileStore

      # Instantiate the LocalFileStore with the root path
      file_store = LocalFileStore("/path/to/root")

      # Set values for keys
      file_store.mset([("key1", b"value1"), ("key2", b"value2")])

      # Get values for keys
      values = file_store.mget(["key1", "key2"])  # Returns [b"value1", b"value2"]

      # Delete keys
      file_store.mdelete(["key1"])

      # Iterate over keys
      for key in file_store.yield_keys():
          print(key)  # noqa: T201

  Implement the BaseStore interface for the local file system.

  Parameters

    - root_path (Union[str, Path]) – The root path of the file store. All keys are interpreted as paths relative to this root.

    - chmod_file (Optional[int]) – (optional, defaults to None) If specified, sets permissions for newly created files, overriding the current umask if needed.

    - chmod_dir (Optional[int]) – (optional, defaults to None) If specified, sets permissions for newly created dirs, overriding the current umask if needed.

  Methods

  `__init__`(root_path, *[, chmod_file, chmod_dir]) | Implement the BaseStore interface for the local file system.
  `amdelete`(keys) | Delete the given keys and their associated values.
  `amget`(keys) | Get the values associated with the given keys.
  `amset`(key_value_pairs) | Set the values for the given keys.
  `ayield_keys`(*[, prefix]) | Get an iterator over keys that match the given prefix.
  `mdelete`(keys) | Delete the given keys and their associated values.
  `mget`(keys) | Get the values associated with the given keys.
  `mset`(key_value_pairs) | Set the values for the given keys.
  `yield_keys`([prefix]) | Get an iterator over keys that match the given prefix.

  __init__(root_path: Union[str, Path], *, chmod_file: Optional[int] = None, chmod_dir: Optional[int] = None) → None

    Implement the BaseStore interface for the local file system.

    Parameters

      - root_path (Union[str, Path]) – The root path of the file store. All keys are interpreted as paths relative to this root.

      - chmod_file (Optional[int]) – (optional, defaults to None) If specified, sets permissions for newly created files, overriding the current umask if needed.

      - chmod_dir (Optional[int]) – (optional, defaults to None) If specified, sets permissions for newly created dirs, overriding the current umask if needed.

    Return type

      None

  async amdelete(keys: Sequence[K]) → None

    Delete the given keys and their associated values.

    Parameters

      keys (Sequence[K]) – A sequence of keys to delete.

    Return type

      None

  async amget(keys: Sequence[K]) → List[Optional[V]]

    Get the values associated with the given keys.

    Parameters

      keys (Sequence[K]) – A sequence of keys.

    Returns

      A sequence of optional values associated with the keys. If a key is not found, the corresponding value will be None.

    Return type

      List[Optional[V]]

  async amset(key_value_pairs: Sequence[Tuple[K, V]]) → None

    Set the values for the given keys.

    Parameters

      key_value_pairs (Sequence[Tuple[K, V]]) – A sequence of key-value pairs.

    Return type

      None

  async ayield_keys(*, prefix: Optional[str] = None) → Union[AsyncIterator[K], AsyncIterator[str]]

    Get an iterator over keys that match the given prefix.

    Parameters

      prefix (str) – The prefix to match.

    Returns

      An iterator over keys that match the given prefix.

      This method is allowed to return an iterator over either K or str depending on what makes more sense for the given store.

    Return type

      Iterator[K | str]

  mdelete(keys: Sequence[str]) → None

    Delete the given keys and their associated values.

    Parameters

      keys (Sequence[str]) – A sequence of keys to delete.

    Returns

      None

    Return type

      None

  mget(keys: Sequence[str]) → List[Optional[bytes]]

    Get the values associated with the given keys.

    Parameters

      keys (Sequence[str]) – A sequence of keys.

    Returns

      A sequence of optional values associated with the keys. If a key is not found, the corresponding value will be None.

    Return type

      List[Optional[bytes]]

  mset(key_value_pairs: Sequence[Tuple[str, bytes]]) → None

    Set the values for the given keys.

    Parameters

      key_value_pairs (Sequence[Tuple[str, bytes]]) – A sequence of key-value pairs.

    Returns

      None

    Return type

      None

  yield_keys(prefix: Optional[str] = None) → Iterator[str]

    Get an iterator over keys that match the given prefix.

    Parameters

      prefix (Optional[str]) – The prefix to match.

    Returns

      An iterator over keys that match the given prefix.

    Return type

      Iterator[str]

# Examples using LocalFileStore

- Swapping the `ByteStore` {#swapping-the-bytestore}

- file_system.md