Skip to main content

Test TestPip DeepSource

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

ReadTheDocs

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 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.

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)

Source distribution for objectio 0.2.29
File Size Uploaded
objectio-0.2.29.tar.gz 6.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for objectio 0.2.29
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.2.29 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page