Easily read and write to different storage platforms in Python.


Keywords
boto3, s3, google, cloud, filesystem, file, uri, url, http, ftp
License
Apache-2.0
Install
pip install uriutils==0.1.6

Documentation

uriutils 0.1

https://readthedocs.org/projects/uriutils/badge/?version=latest

Working with multiple storage platforms (i.e., local filesystem, S3, Google Cloud, etc.) can be quite a hassle. This package aims to make it transparent to the user and the developer the underlying storage system by wrapping the different protocols in a common interface.

Documentation available at http://uriutils.readthedocs.io/

Usage

Example:

with uri_open('http://www.example.com', mode='r') as f:
    contents = f.read()

Example with argument parser:

parser = ArgumentParser(description='Read text file from URI.')
parser.add_argument('-i', '--input', type=URIFileType('r'), metavar='<input>', help='Input file URI.')
A = parser.parse_args()

contents = A.input.read()
print(contents)

Or, writing to a file with argument parser is as easy as:

parser = ArgumentParser(description='Write text file to URI.')
parser.add_argument('-o', '--output', type=URIFileType('w'), metavar='<output>', help='Output file URI.')
A = parser.parse_args()

A.output.write('Hello world!\n')
A.output.close()

And you can run python uri.py --output s3://example-bucket/output.txt.

For complete documentation, please see uriutils-0.1 documentation.

Contribution

For bugs and issues, please file them on the issues page. Thanks!