Skip to main content

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

Release files for gcp-io-util 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gcp-io-util 0.1.1
File Size Uploaded
gcp_io_util-0.1.1.tar.gz 7.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gcp-io-util 0.1.1
File Interpreter ABI Platform
gcp_io_util-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 15.5 kB

Release files / gcp_io_util-0.1.1.tar.gz

Download URL gcp_io_util-0.1.1.tar.gz
Size 7.5 kB
Tags Source
SHA-256 checksum
How to use checksums
315a96516d4b80c66153ec22e06095b63395cd6faf2b2afda642caad9eaaca31
BLAKE2b-256 checksum
How to use checksums
3d76b815fe93f402de3d3a50454fa51b59508efa45aa6586487cc6725f24b2b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.8.3 Linux/6.8.0-76060800daily20240311-generic

Release files / gcp_io_util-0.1.1-py3-none-any.whl

Download URL gcp_io_util-0.1.1-py3-none-any.whl
Size 8.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3133e8c1493c4511219792375ebf076514adba06afc5187bd81cb8695f691091
BLAKE2b-256 checksum
How to use checksums
1cc40b56c69ebde68f751e8f712359c2969bf389bc28f18d85df828ff6cdfe51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.8.3 Linux/6.8.0-76060800daily20240311-generic

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page