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
$ pip install objectio
For the Github version:
$ pip install git+https://github.com/tmbdev/objectio.git
Documentation
Command Line Usage
$ 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
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:
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 csvobj 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.
Metadata
Release files for objectio 0.2.29
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| objectio-0.2.29.tar.gz | 6.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| objectio-0.2.29-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.9 kB
Release files / objectio-0.2.29.tar.gz
| Download URL | objectio-0.2.29.tar.gz |
|---|---|
| Size | 6.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dde87388b5bc97342878264115be0960d3107da569ed5c2e9242a72924c428bb
|
|
BLAKE2b-256 checksum How to use checksums |
4d8f544dcb8717777c3552d6ac6d4a14da334da3f49810c7f04b34b3069c6411
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6
|
Release files / objectio-0.2.29-py3-none-any.whl
| Download URL | objectio-0.2.29-py3-none-any.whl |
|---|---|
| Size | 7.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2577426a393d0e8a5b27370798e493b89f2d8c5619614199ea5521e4feee6f11
|
|
BLAKE2b-256 checksum How to use checksums |
86e3a132a91c4e9fd5e59c947263c7ef4e3415640fa151344f858e2def8c1726
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6
|