%global _empty_manifest_terminate_build 0 Name: python-py7za Version: 0.2.8 Release: 1 Summary: Description License: MIT URL: https://gitlab.com/Jaap.vanderVelde/py7za Source0: https://mirrors.nju.edu.cn/pypi/web/packages/3f/00/e878e8af313cf84e22eb1d9f977414e7e28fb0ef1a832e5e1af7fee84624/py7za-0.2.8.tar.gz BuildArch: noarch %description # Py7za ("pizza") Python wrapper for running the 7za.exe utility from https://www.7-zip.org/ The wrapper simply runs the application in a separate process and added functionality primarily aimed at running the tool in several parallel processes from the command-line. Other than providing that utility, the wrapper tries to provide users Python API access to 7za in a way as simple, and as close to the original as possible. See some documentation for the command line options here https://sevenzip.osdn.jp/chm/cmdline/index.htm (no affiliation). Additionally, the package contains the generic `AsyncIOPool` class, which allows you to queue up a large number of asynchronous tasks, and it will keep a certain number of them running at all times, until all tasks are done. This works for any `asyncio` `Task`, but can be handily combined with the `Py7za` class. Finally, a command line utility `py7za-box` ("pizza box", and its aliases `box` and `unbox`) is included, which allows you to quickly replace individual files with their zipped equivalent in-place and vice versa, without writing any code. The idea is that a user may want to zip many files in a large project, without removing them from their original location, and still be able to find them by name and easily extract them individually. For more information, check the [Py7za documentation at Read the Docs (py7za.readthedocs.io)](https://py7za.readthedocs.io). ## Install Install the package for use from scripts: ```commandline pip install py7za ``` Of if you want to use the command-line interface `py7za-box` as well, make sure the dependencies for it are installed like this: ```commandline pip install py7za[box] py7za-box --help box --help unbox --help ``` On Linux, you will have to have `p7zip` installed for `py7za` to work, as there is no Linux binary included in the package. For example: ```commandline sudo yum install -y p7zip sudo apt-get install -y p7zip ``` ### Command line py7za-box To quickly replace every .csv file in a directory and in all its subdirectories with a zip-file containing that .csv: ```commandline py7za-box **/*.csv ``` And the reverse: ```commandline py7za-box **/*.csv.zip --unbox ``` More in the documentation https://py7za.readthedocs.io ## Dependencies The only external dependency is on `conffu` for the configuration of the command-line tool. If you only want to use the Py7za class, and just use `pip install py7za`, this dependency won't be installed. To install the dependency, use `pip install py7za[box]`. ## License This package is licensed under the MIT license. See [LICENSE.txt](https://gitlab.com/Jaap.vanderVelde/py7za/-/blob/master/LICENSE.txt). ## Changelog See [CHANGELOG.md](https://gitlab.com/Jaap.vanderVelde/py7za/-/blob/master/CHANGELOG.md). %package -n python3-py7za Summary: Description Provides: python-py7za BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-py7za # Py7za ("pizza") Python wrapper for running the 7za.exe utility from https://www.7-zip.org/ The wrapper simply runs the application in a separate process and added functionality primarily aimed at running the tool in several parallel processes from the command-line. Other than providing that utility, the wrapper tries to provide users Python API access to 7za in a way as simple, and as close to the original as possible. See some documentation for the command line options here https://sevenzip.osdn.jp/chm/cmdline/index.htm (no affiliation). Additionally, the package contains the generic `AsyncIOPool` class, which allows you to queue up a large number of asynchronous tasks, and it will keep a certain number of them running at all times, until all tasks are done. This works for any `asyncio` `Task`, but can be handily combined with the `Py7za` class. Finally, a command line utility `py7za-box` ("pizza box", and its aliases `box` and `unbox`) is included, which allows you to quickly replace individual files with their zipped equivalent in-place and vice versa, without writing any code. The idea is that a user may want to zip many files in a large project, without removing them from their original location, and still be able to find them by name and easily extract them individually. For more information, check the [Py7za documentation at Read the Docs (py7za.readthedocs.io)](https://py7za.readthedocs.io). ## Install Install the package for use from scripts: ```commandline pip install py7za ``` Of if you want to use the command-line interface `py7za-box` as well, make sure the dependencies for it are installed like this: ```commandline pip install py7za[box] py7za-box --help box --help unbox --help ``` On Linux, you will have to have `p7zip` installed for `py7za` to work, as there is no Linux binary included in the package. For example: ```commandline sudo yum install -y p7zip sudo apt-get install -y p7zip ``` ### Command line py7za-box To quickly replace every .csv file in a directory and in all its subdirectories with a zip-file containing that .csv: ```commandline py7za-box **/*.csv ``` And the reverse: ```commandline py7za-box **/*.csv.zip --unbox ``` More in the documentation https://py7za.readthedocs.io ## Dependencies The only external dependency is on `conffu` for the configuration of the command-line tool. If you only want to use the Py7za class, and just use `pip install py7za`, this dependency won't be installed. To install the dependency, use `pip install py7za[box]`. ## License This package is licensed under the MIT license. See [LICENSE.txt](https://gitlab.com/Jaap.vanderVelde/py7za/-/blob/master/LICENSE.txt). ## Changelog See [CHANGELOG.md](https://gitlab.com/Jaap.vanderVelde/py7za/-/blob/master/CHANGELOG.md). %package help Summary: Development documents and examples for py7za Provides: python3-py7za-doc %description help # Py7za ("pizza") Python wrapper for running the 7za.exe utility from https://www.7-zip.org/ The wrapper simply runs the application in a separate process and added functionality primarily aimed at running the tool in several parallel processes from the command-line. Other than providing that utility, the wrapper tries to provide users Python API access to 7za in a way as simple, and as close to the original as possible. See some documentation for the command line options here https://sevenzip.osdn.jp/chm/cmdline/index.htm (no affiliation). Additionally, the package contains the generic `AsyncIOPool` class, which allows you to queue up a large number of asynchronous tasks, and it will keep a certain number of them running at all times, until all tasks are done. This works for any `asyncio` `Task`, but can be handily combined with the `Py7za` class. Finally, a command line utility `py7za-box` ("pizza box", and its aliases `box` and `unbox`) is included, which allows you to quickly replace individual files with their zipped equivalent in-place and vice versa, without writing any code. The idea is that a user may want to zip many files in a large project, without removing them from their original location, and still be able to find them by name and easily extract them individually. For more information, check the [Py7za documentation at Read the Docs (py7za.readthedocs.io)](https://py7za.readthedocs.io). ## Install Install the package for use from scripts: ```commandline pip install py7za ``` Of if you want to use the command-line interface `py7za-box` as well, make sure the dependencies for it are installed like this: ```commandline pip install py7za[box] py7za-box --help box --help unbox --help ``` On Linux, you will have to have `p7zip` installed for `py7za` to work, as there is no Linux binary included in the package. For example: ```commandline sudo yum install -y p7zip sudo apt-get install -y p7zip ``` ### Command line py7za-box To quickly replace every .csv file in a directory and in all its subdirectories with a zip-file containing that .csv: ```commandline py7za-box **/*.csv ``` And the reverse: ```commandline py7za-box **/*.csv.zip --unbox ``` More in the documentation https://py7za.readthedocs.io ## Dependencies The only external dependency is on `conffu` for the configuration of the command-line tool. If you only want to use the Py7za class, and just use `pip install py7za`, this dependency won't be installed. To install the dependency, use `pip install py7za[box]`. ## License This package is licensed under the MIT license. See [LICENSE.txt](https://gitlab.com/Jaap.vanderVelde/py7za/-/blob/master/LICENSE.txt). ## Changelog See [CHANGELOG.md](https://gitlab.com/Jaap.vanderVelde/py7za/-/blob/master/CHANGELOG.md). %prep %autosetup -n py7za-0.2.8 %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-py7za -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Wed May 31 2023 Python_Bot - 0.2.8-1 - Package Spec generated