code: def from_env(cls) -> "DuckDbIndexConfig":
      env = Env(expand_vars=True)
      with env.prefixed("DUCKDB_INDEX_"):
          return cls(
              cache_directory=env.str(
                  name="CACHE_DIRECTORY",
                  default=DUCKDB_INDEX_CACHE_DIRECTORY,
              ),
              commit_message=env.str(
                  name="COMMIT_MESSAGE",
                  default=DUCKDB_INDEX_COMMIT_MESSAGE,
              ),
              committer_hf_token=env.str(
                  name="COMMITTER_HF_TOKEN",
                  default=DUCKDB_INDEX_COMMITTER_HF_TOKEN,
              ),
              target_revision=env.str(
                  name="TARGET_REVISION",
                  default=DUCKDB_INDEX_TARGET_REVISION,
              ),
              url_template=env.str(
                  name="URL_TEMPLATE", default=DUCKDB_INDEX_URL_TEMPLATE
              ),
              max_dataset_size_bytes=env.int(
                  name="MAX_DATASET_SIZE_BYTES",
                  default=DUCKDB_INDEX_MAX_DATASET_SIZE_BYTES,
              ),
              extensions_directory=env.str(
                  name="EXTENSIONS_DIRECTORY",
                  default=DUCKDB_INDEX_EXTENSIONS_DIRECTORY,
              ),
          )
  
imports: from dataclasses import dataclass, field
  from typing import Optional
  from environs import Env
  from libcommon.config import AssetsConfig, CacheConfig, CommonConfig, LogConfig, ParquetMetadataConfig, QueueConfig, RowsIndexConfig, S3Config
label_desc: Use image node_id 1 for calling the DuckDbIndexConfig obj's underlying member method code with example usage: obj.from_env(cls) and returns: cls