GCS io utility functions
Project description
gcp-io
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39bf854bb1ecf7d48a1d7c21bc17dcb5fe34ddce5397edb8bc47a38424ed57e1 |
|
MD5 | 30605ca481a3911fc1ec7113cd5288c7 |
|
BLAKE2b-256 | 1aba26453a1b7c3e2bb5f1e44f27a292c7269b9d0d92c7554fe02252136994fe |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 255238d2adbe0134a12f425e716525fb460303a6439e9faf4569bfa55b45180f |
|
MD5 | bf67abcbb91b94acc87ad664c7315029 |
|
BLAKE2b-256 | 6a2b61fb139c6d3a74c6455f2ff30c4ba9169dbe86ae213465a0766beb330fa1 |