docs: def crypto_config_from_table_info(materials_provider, attribute_actions, table_info):
      """Build a crypto config from the provided values and table info.
  
      :returns: crypto config and updated kwargs
      :rtype: tuple(CryptoConfig, dict)
      """
      ec_kwargs = table_info.encryption_context_values
      if table_info.primary_index is not None:
          ec_kwargs.update(
              {"partition_key_name": table_info.primary_index.partition, "sort_key_name": table_info.primary_index.sort}
          )
  
      return CryptoConfig(
          materials_provider=materials_provider,
          encryption_context=EncryptionContext(**ec_kwargs),
          attribute_actions=attribute_actions,
      )