Skip to content

Python module for transparently handling file I/O between different storage mechanisms.

License

Notifications You must be signed in to change notification settings

skylander86/uriutils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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!

About

Python module for transparently handling file I/O between different storage mechanisms.

Resources

License

Stars

Watchers

Forks

Packages

No packages published