File Manager Drivers
Overview
File Manager Drivers can be used to load and save files with local or external file systems.
You can use File Manager Drivers with Loaders:
from griptape.drivers.file_manager.local import LocalFileManagerDriver
from griptape.loaders import TextLoader
local_file_manager_driver = LocalFileManagerDriver()
loader = TextLoader(file_manager_driver=local_file_manager_driver)
text_artifact = loader.load("tests/resources/test.txt")
print(text_artifact.value)
Or use them independently as shown below for each driver:
File Manager Drivers
Griptape Cloud
The GriptapeCloudFileManagerDriver allows you to load and save files sourced from Griptape Cloud Asset and Bucket resources.
import os
from griptape.drivers.file_manager.griptape_cloud import GriptapeCloudFileManagerDriver
gtc_file_manager_driver = GriptapeCloudFileManagerDriver(
api_key=os.environ["GT_CLOUD_API_KEY"],
bucket_id=os.environ["GT_CLOUD_BUCKET_ID"],
)
# Download File
file_contents = gtc_file_manager_driver.load_file(os.environ["GT_CLOUD_ASSET_NAME"])
print(file_contents)
# Upload File
response = gtc_file_manager_driver.save_file(os.environ["GT_CLOUD_ASSET_NAME"], file_contents.value)
print(response)
Local
The LocalFileManagerDriver allows you to load and save files sourced from a local directory.
from griptape.drivers.file_manager.local import LocalFileManagerDriver
local_file_manager_driver = LocalFileManagerDriver()
# Download File
file_contents = local_file_manager_driver.load_file("tests/resources/test.txt")
print(file_contents)
# Upload File
response = local_file_manager_driver.save_file("tests/resources/test.txt", file_contents.value)
print(response)
Amazon S3
Info
This driver requires the drivers-file-manager-amazon-s3
extra.
The LocalFile ManagerDriver allows you to load and save files sourced from an Amazon S3 bucket.
import os
import boto3
from griptape.drivers.file_manager.amazon_s3 import AmazonS3FileManagerDriver
amazon_s3_file_manager_driver = AmazonS3FileManagerDriver(
bucket=os.environ["AMAZON_S3_BUCKET"],
session=boto3.Session(
region_name=os.environ["AWS_DEFAULT_REGION"],
aws_access_key_id=os.environ["AWS_ACCESS_KEY_ID"],
aws_secret_access_key=os.environ["AWS_SECRET_ACCESS_KEY"],
),
)
# Download File
file_contents = amazon_s3_file_manager_driver.load_file(os.environ["AMAZON_S3_KEY"])
print(file_contents)
# Upload File
response = amazon_s3_file_manager_driver.save_file(os.environ["AMAZON_S3_KEY"], file_contents.value)
print(response)