Skip to main content

Storage functionality for Mindtrace

Project description

PyPI version License Downloads

Storage Module

This directory contains the storage-related components for the Mindtrace project. It provides abstractions and implementations for interacting with various storage backends, such as Google Cloud Storage (GCS).

Structure

  • mindtrace/storage — Contains the core storage handler implementations and interfaces.
  • pyproject.toml — Build and dependency configuration for the storage package.

Main Components

  • base.py: Defines the abstract StorageHandler interface for storage operations.
  • gcs.py: Implements GCSStorageHandler, a wrapper around Google Cloud Storage APIs for uploading, downloading, listing, and managing objects in GCS buckets.

Google Cloud Storage (GCS) Usage

Usage Example

To use the GCS storage handler:

from mindtrace.storage.gcs import GCSStorageHandler

handler = GCSStorageHandler(
    bucket_name="your-bucket-name",
    project_id="your-gcp-project-id",
    credentials_path="/path/to/service-account.json",  # Optional if using ADC
    create_if_missing=True,
)

# Upload a file
gcs_uri = handler.upload("local_file.txt", "remote/path/in/bucket.txt")

# List objects
print(handler.list_objects(prefix="remote/path/"))

Available GCS APIs

The following methods are available via the GCSStorageHandler for explicit use:

  • upload(local_path, remote_path, metadata=None): Upload a local file to a GCS bucket.
  • download(remote_path, local_path): Download a file from GCS to a local path.
  • delete(remote_path): Delete an object from the GCS bucket.
  • list_objects(prefix="", max_results=None): List objects in the bucket, optionally filtered by prefix.
  • exists(remote_path): Check if an object exists in the bucket.
  • get_presigned_url(remote_path, expiration_minutes=60, method="GET"): Generate a presigned URL for accessing an object.
  • get_object_metadata(remote_path): Retrieve metadata for a specific object.

Notes

  • Ensure you have the required Google Cloud credentials and permissions to access the target bucket.
  • For local development, you can use gcloud auth application-default login to set up default credentials.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mindtrace_storage-0.9.4.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mindtrace_storage-0.9.4-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file mindtrace_storage-0.9.4.tar.gz.

File metadata

  • Download URL: mindtrace_storage-0.9.4.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mindtrace_storage-0.9.4.tar.gz
Algorithm Hash digest
SHA256 ead160825ac1367dd879a60b0506f88da024976c80b5b2f65ed9a6ec88c17a5a
MD5 11d8ac2f79e86d492f2406df84460b26
BLAKE2b-256 6fa5ecd8e21f31bd769ce1fd50a9d4c1f2c134e07bf4513a01bf709cd15a0e36

See more details on using hashes here.

File details

Details for the file mindtrace_storage-0.9.4-py3-none-any.whl.

File metadata

  • Download URL: mindtrace_storage-0.9.4-py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mindtrace_storage-0.9.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6c343d2e55068ec8ad04dc4b2e0b29604658fccc7851b54bcb2d62fd1135232b
MD5 1f7df806aff2841e1a4747a1d767136c
BLAKE2b-256 3855f412416165034579f8468d6b5e68869a13b323167210982e2d2060885231

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page