Metadata-Version: 2.1
Name: objectio
Version: 0.2.22
Summary: Generic object storage interface and commands.
Home-page: http://github.com/tmbdev/objectio
Author: Thomas Breuel
Author-email: tmbdev+removeme@gmail.com
License: MIT
Description: [![Test](https://github.com/tmbdev/objectio/workflows/Test/badge.svg)](http://github.com/tmbdev/objectio/actions)
        [![TestPip](https://github.com/tmbdev/objectio/workflows/TestPip/badge.svg)](http://github.com/tmbdev/objectio/actions)
        [![DeepSource](https://static.deepsource.io/deepsource-badge-light-mini.svg)](https://deepsource.io/gh/tmbdev/objectio/?ref=repository-badge)
        
        # The Object IO Library and Command
        
        Object stores (S3, Google, Azure, Minio, Swift, etc.) all have their own
        command line interfaces with their own conventions for accessing objects.
        This library and command provides a simple, uniform interface to object
        store facilities, both from the command line and from within Python.
        
        
        # Installation
        
        ```Bash
            $ pip install objectio
        ```
        
        For the Github version:
        
        ```Bash
            $ pip install git+https://github.com/tmbdev/objectio.git
        ```
        
        # Documentation
        
        [ReadTheDocs](http://objectio.readthedocs.io)
        
        # Command Line Usage
        
        ```Bash
            $ obj cat az://container/blobname
            $ obj cat gs://bucket/blobname
            $ obj cat s3://bucket/blobname
            $ obj cat file:/path
            $ cat file | obj put gs://bucket/blobname
        ```
        
        # Python Usage
        
        ```Python
            import objectio
        
            with objectio.gopen("gs://bucket/blob", "rb") as stream:
                contents = stream.read()
        ```
        
        # New Protocols
        
        You can define new schemes by creating a `./objectio.yaml` or `~/.objectio.yaml`
        file. For example:
        
        ```YAML
            schemes:
                random:
                    read:
                        cmd: ["cat", "/dev/random"]
        ```
        
        # Future Extensions
        
        The intention is to keep this library simple and always allow command line
        programs to be configured for I/O as needed by end users.
        
        Additional functionality:
        
        - better error handling of non-zero return codes
        - `obj dir az://container --format csv`
        - `obj del gs://container/blob`
        - possibly port to Go 
        
        Note that for Python, running I/O in a separate process is _preferable_ to using
        Python-native libraries, since the latter do not run concurrently. For a Go
        language implementation, protocol implementations using built in native client
        libraries are potentially useful.
        
Keywords: object store,client,deep learning
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Python: >=3.6
Description-Content-Type: text/markdown
