%global _empty_manifest_terminate_build 0
Name: python-gs-wrap
Version: 1.0.5
Release: 1
Summary: gs-wrap wraps Google Cloud Storage API for multi-threaded data manipulations.
License: License :: OSI Approved :: MIT License
URL: https://github.com/Parquery/gs-wrap
Source0: https://mirrors.nju.edu.cn/pypi/web/packages/a7/91/bdf2ae5eacf95ade786abf45611bd5a2dd8a7dc80d191ac40261ee4e3ece/gs-wrap-1.0.5.tar.gz
BuildArch: noarch
%description
``gs-wrap`` wraps `Google Cloud Storage API `_
for multi-threaded data manipulation including copying, reading, writing and
hashing.
Originally, we used our `gsutilwrap `_,
a thin wrapper around ``gsutil`` command-line interface, to simplify
the deployment and backup tasks related to Google Cloud Storage.
However, ``gsutilwrap`` was prohibitively slow at copying many objects into
different destinations.
Therefore we developed ``gs-wrap`` to accelerate these operations while keeping
it equally fast or faster than ``gsutilwrap`` at other operations.
While the `google-cloud-storage
`_
library provided by Google offers sophisticated features and good performance,
its use cases and behavior differ from ``gsutil``.
Since we wanted the simplicity and usage patterns of ``gsutil``, we created
``gs-wrap``, which wraps ``google-cloud-storage`` in its core and with its
interface set to behave like ``gsutil``.
``gs-wrap`` is not the first Python library wrapping Google Cloud Storage API.
`cloud-storage-client `_
takes a similar approach and aims to manage both Amazon's S3 and Google Cloud
Storage. Parts of it are also based on ``google-cloud-storage``, however the
library's behaviour differs from ``gsutil`` which made it hard to use as an
in-place replacement for ``gsutilwrap``. Additionally, the library did not
offer all needed operations, for example copying to many destinations, reading,
writing and hashing.
The main strength of ``gs-wrap`` is the ability to copy many objects from many
different paths to multiple destinations, while still mimicking ``gsutil``
interface. A direct comparison of performance between ``gs-wrap`` and
``gsutilwrap`` can be found in the `section Benchmarks
`_.
%package -n python3-gs-wrap
Summary: gs-wrap wraps Google Cloud Storage API for multi-threaded data manipulations.
Provides: python-gs-wrap
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-gs-wrap
``gs-wrap`` wraps `Google Cloud Storage API `_
for multi-threaded data manipulation including copying, reading, writing and
hashing.
Originally, we used our `gsutilwrap `_,
a thin wrapper around ``gsutil`` command-line interface, to simplify
the deployment and backup tasks related to Google Cloud Storage.
However, ``gsutilwrap`` was prohibitively slow at copying many objects into
different destinations.
Therefore we developed ``gs-wrap`` to accelerate these operations while keeping
it equally fast or faster than ``gsutilwrap`` at other operations.
While the `google-cloud-storage
`_
library provided by Google offers sophisticated features and good performance,
its use cases and behavior differ from ``gsutil``.
Since we wanted the simplicity and usage patterns of ``gsutil``, we created
``gs-wrap``, which wraps ``google-cloud-storage`` in its core and with its
interface set to behave like ``gsutil``.
``gs-wrap`` is not the first Python library wrapping Google Cloud Storage API.
`cloud-storage-client `_
takes a similar approach and aims to manage both Amazon's S3 and Google Cloud
Storage. Parts of it are also based on ``google-cloud-storage``, however the
library's behaviour differs from ``gsutil`` which made it hard to use as an
in-place replacement for ``gsutilwrap``. Additionally, the library did not
offer all needed operations, for example copying to many destinations, reading,
writing and hashing.
The main strength of ``gs-wrap`` is the ability to copy many objects from many
different paths to multiple destinations, while still mimicking ``gsutil``
interface. A direct comparison of performance between ``gs-wrap`` and
``gsutilwrap`` can be found in the `section Benchmarks
`_.
%package help
Summary: Development documents and examples for gs-wrap
Provides: python3-gs-wrap-doc
%description help
``gs-wrap`` wraps `Google Cloud Storage API `_
for multi-threaded data manipulation including copying, reading, writing and
hashing.
Originally, we used our `gsutilwrap `_,
a thin wrapper around ``gsutil`` command-line interface, to simplify
the deployment and backup tasks related to Google Cloud Storage.
However, ``gsutilwrap`` was prohibitively slow at copying many objects into
different destinations.
Therefore we developed ``gs-wrap`` to accelerate these operations while keeping
it equally fast or faster than ``gsutilwrap`` at other operations.
While the `google-cloud-storage
`_
library provided by Google offers sophisticated features and good performance,
its use cases and behavior differ from ``gsutil``.
Since we wanted the simplicity and usage patterns of ``gsutil``, we created
``gs-wrap``, which wraps ``google-cloud-storage`` in its core and with its
interface set to behave like ``gsutil``.
``gs-wrap`` is not the first Python library wrapping Google Cloud Storage API.
`cloud-storage-client `_
takes a similar approach and aims to manage both Amazon's S3 and Google Cloud
Storage. Parts of it are also based on ``google-cloud-storage``, however the
library's behaviour differs from ``gsutil`` which made it hard to use as an
in-place replacement for ``gsutilwrap``. Additionally, the library did not
offer all needed operations, for example copying to many destinations, reading,
writing and hashing.
The main strength of ``gs-wrap`` is the ability to copy many objects from many
different paths to multiple destinations, while still mimicking ``gsutil``
interface. A direct comparison of performance between ``gs-wrap`` and
``gsutilwrap`` can be found in the `section Benchmarks
`_.
%prep
%autosetup -n gs-wrap-1.0.5
%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-gs-wrap -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Fri May 05 2023 Python_Bot - 1.0.5-1
- Package Spec generated