Skip to main content

GCS io utility functions

Project description

gcp-io

codecov

This library provides an easy interface to do some common I/O tasks on Google Cloud Storage (GCS). Those include:

  • Reading/writing an image file from and to GCS.
  • Reading/writing a video file from and to GCS.
  • Reading/writing a yaml file from and to GCS.
  • Uploading/downloading a file from and to GCS.
  • Checking md5 checksum of a file.
  • Checking if a file exists in GCS.
  • Listing directories in GCS.

Installation

pip install git+https://github.com/kiwicampus/gcp-io.git@main

or with poetry

poetry add git+https://github.com/kiwicampus/gcp-io.git@main

Usage

from gcp_io import GCPInterface

# this will try to load credentials from environment variable 
# GOOGLE_APPLICATION_CREDENTIALS or from gsutil if installed
interface = GCPInterface()

# this will try to load credentials from a .json file
interface = GCPInterface("/key/to/credentials.json")

# this will be authenticated directly using a storage.Client object
from google.cloud import storage
interface = GCPInterface(storage.Client())

# Use its methods comfortably
image = interface.read_image("gs://bucket/path/to/image.jpg")
interface.write_image("gs://bucket/path/to/image.jpg", image)

Contributing

Feel free to send PRs if you want to implement something or to propose changes. For that remember to run the tests and if implementing something new to make the proper tests and coverage.

Running the tests

Because of the nature of this library you'll need to be authenticated to google cloud. Our test bucket is public so anyone authenticated could run the tests. For this purpose you need to set the GOOGLE_APPLICATION_CREDENTIALS environment variable to your .json authentification file. Also you need to install pytest and pytest-cov. After that just run:

pytest test

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

gcp_io_util-0.1.0.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

gcp_io_util-0.1.0-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file gcp_io_util-0.1.0.tar.gz.

File metadata

  • Download URL: gcp_io_util-0.1.0.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.8.3 Linux/6.8.0-76060800daily20240311-generic

File hashes

Hashes for gcp_io_util-0.1.0.tar.gz
Algorithm Hash digest
SHA256 39bf854bb1ecf7d48a1d7c21bc17dcb5fe34ddce5397edb8bc47a38424ed57e1
MD5 30605ca481a3911fc1ec7113cd5288c7
BLAKE2b-256 1aba26453a1b7c3e2bb5f1e44f27a292c7269b9d0d92c7554fe02252136994fe

See more details on using hashes here.

File details

Details for the file gcp_io_util-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: gcp_io_util-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.8.3 Linux/6.8.0-76060800daily20240311-generic

File hashes

Hashes for gcp_io_util-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 255238d2adbe0134a12f425e716525fb460303a6439e9faf4569bfa55b45180f
MD5 bf67abcbb91b94acc87ad664c7315029
BLAKE2b-256 6a2b61fb139c6d3a74c6455f2ff30c4ba9169dbe86ae213465a0766beb330fa1

See more details on using hashes here.

Supported by

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