Upload Files¶
This example demonstrates the efficient way to upload files using the External API SDK’s client.upload_files() method.
from io import BytesIO
from pathlib import Path
from uncountable.core import AuthDetailsApiKey, Client
from uncountable.core.client import ClientConfig
from uncountable.core.file_upload import DataFileUpload, UploadedFile
client: Client = Client(
base_url="<BASE_URL>",
auth_details=AuthDetailsApiKey(
api_id="<API_ID>", api_secret_key="<API_SECRET_KEY>"
),
config=ClientConfig(allow_insecure_tls=False),
)
filepath = Path("<YOUR_FILE_PATH>")
file_io: BytesIO = BytesIO(filepath.read_bytes())
upload_file_response: list[UploadedFile] = client.upload_files(
file_uploads=[DataFileUpload(data=file_io, name=filepath.name)]
)
uploaded_file_name = upload_file_response[0].name
uploaded_file_id = upload_file_response[0].file_id