%global _empty_manifest_terminate_build 0 Name: python-objectio Version: 0.2.29 Release: 1 Summary: Generic object storage interface and commands. License: MIT URL: http://github.com/tmbdev/objectio Source0: https://mirrors.nju.edu.cn/pypi/web/packages/4d/8f/544dcb8717777c3552d6ac6d4a14da334da3f49810c7f04b34b3069c6411/objectio-0.2.29.tar.gz BuildArch: noarch Requires: python3-pyyaml Requires: python3-braceexpand Requires: python3-simplejson Requires: python3-typer %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. %package -n python3-objectio Summary: Generic object storage interface and commands. Provides: python-objectio BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-objectio [![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. %package help Summary: Development documents and examples for objectio Provides: python3-objectio-doc %description help [![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. %prep %autosetup -n objectio-0.2.29 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-objectio -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Wed May 31 2023 Python_Bot - 0.2.29-1 - Package Spec generated