%global _empty_manifest_terminate_build 0 Name: python-pyfil Version: 1.10.0 Release: 1 Summary: Python one-liners in the shell in the spirit of Perl and AWK License: BSD-2-Clause URL: https://github.com/ninjaaron/pyfil Source0: https://mirrors.aliyun.com/pypi/web/packages/70/b7/d5650c784bdf4dd37717b1defaf30eed80368f9a351a53d461d7878de870/pyfil-1.10.0.tar.gz BuildArch: noarch %description Python one-liners in the spirit of Perl and AWK. ``pyfil`` stands for PYthon FILter. One of the tenants of the `Unix design`_ is that every program is a filter. It's especially obvious of programs, like ``grep``, ``sed``, ``sort``, ``tr``, etc. One notable example is ``awk`` -- a Turing-complete, interpreted language for parsing text. While AWK scripts are still in use and it's a fine language, it has been superseded for parsing scripts by more general languages like Perl and later Python and Ruby. However, AWK was designed to be especially useful in the shell as a filter, and it is still in very commonly used for that today (in part because it is on every \*nix system, but also because it's great at what it does). AWK is able to be any arbitrary text filter that doesn't come as a coreutil. ``perl -e`` is also quite good as a filter, and Ruby has made a valiant attempt to do so as well. While Python does have a few good one-line uses (``python -m http.server``), some elements of its design make it less suited than the afore-mentioned languages. ``pyfil`` is one of several attempts to address this issue. In particular, it takes a lot of cues in the design of its CLI from AWK and Perl, and aims fundamentally to be a capable text filter, though it will evaluate any arbitrary Python expression and print its value (with modules being imported implicitly as required). As a more modern touch, it also has a special emphasis on interoperability with JSON. If the return value of the evaluated expression is a container type, Python will attempt to serialize it as JSON before printing, so you can pipe output into other tools that deal with JSON, store it to a file for later use, or send it over http. This, combined with the ability to read JSON from stdin (with --json) make ``pyfil`` a good translator between the web, which tends to speak JSON these days, and the POSIX environment, which tends to think about data in terms of lines in a file (frequently with multiple fields per line). pyfil is in pypi (i.e. you can get it easily with pip, if you want) note: pyfil has only been tested with python3, and only has wheels available for python3 %package -n python3-pyfil Summary: Python one-liners in the shell in the spirit of Perl and AWK Provides: python-pyfil BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-pyfil Python one-liners in the spirit of Perl and AWK. ``pyfil`` stands for PYthon FILter. One of the tenants of the `Unix design`_ is that every program is a filter. It's especially obvious of programs, like ``grep``, ``sed``, ``sort``, ``tr``, etc. One notable example is ``awk`` -- a Turing-complete, interpreted language for parsing text. While AWK scripts are still in use and it's a fine language, it has been superseded for parsing scripts by more general languages like Perl and later Python and Ruby. However, AWK was designed to be especially useful in the shell as a filter, and it is still in very commonly used for that today (in part because it is on every \*nix system, but also because it's great at what it does). AWK is able to be any arbitrary text filter that doesn't come as a coreutil. ``perl -e`` is also quite good as a filter, and Ruby has made a valiant attempt to do so as well. While Python does have a few good one-line uses (``python -m http.server``), some elements of its design make it less suited than the afore-mentioned languages. ``pyfil`` is one of several attempts to address this issue. In particular, it takes a lot of cues in the design of its CLI from AWK and Perl, and aims fundamentally to be a capable text filter, though it will evaluate any arbitrary Python expression and print its value (with modules being imported implicitly as required). As a more modern touch, it also has a special emphasis on interoperability with JSON. If the return value of the evaluated expression is a container type, Python will attempt to serialize it as JSON before printing, so you can pipe output into other tools that deal with JSON, store it to a file for later use, or send it over http. This, combined with the ability to read JSON from stdin (with --json) make ``pyfil`` a good translator between the web, which tends to speak JSON these days, and the POSIX environment, which tends to think about data in terms of lines in a file (frequently with multiple fields per line). pyfil is in pypi (i.e. you can get it easily with pip, if you want) note: pyfil has only been tested with python3, and only has wheels available for python3 %package help Summary: Development documents and examples for pyfil Provides: python3-pyfil-doc %description help Python one-liners in the spirit of Perl and AWK. ``pyfil`` stands for PYthon FILter. One of the tenants of the `Unix design`_ is that every program is a filter. It's especially obvious of programs, like ``grep``, ``sed``, ``sort``, ``tr``, etc. One notable example is ``awk`` -- a Turing-complete, interpreted language for parsing text. While AWK scripts are still in use and it's a fine language, it has been superseded for parsing scripts by more general languages like Perl and later Python and Ruby. However, AWK was designed to be especially useful in the shell as a filter, and it is still in very commonly used for that today (in part because it is on every \*nix system, but also because it's great at what it does). AWK is able to be any arbitrary text filter that doesn't come as a coreutil. ``perl -e`` is also quite good as a filter, and Ruby has made a valiant attempt to do so as well. While Python does have a few good one-line uses (``python -m http.server``), some elements of its design make it less suited than the afore-mentioned languages. ``pyfil`` is one of several attempts to address this issue. In particular, it takes a lot of cues in the design of its CLI from AWK and Perl, and aims fundamentally to be a capable text filter, though it will evaluate any arbitrary Python expression and print its value (with modules being imported implicitly as required). As a more modern touch, it also has a special emphasis on interoperability with JSON. If the return value of the evaluated expression is a container type, Python will attempt to serialize it as JSON before printing, so you can pipe output into other tools that deal with JSON, store it to a file for later use, or send it over http. This, combined with the ability to read JSON from stdin (with --json) make ``pyfil`` a good translator between the web, which tends to speak JSON these days, and the POSIX environment, which tends to think about data in terms of lines in a file (frequently with multiple fields per line). pyfil is in pypi (i.e. you can get it easily with pip, if you want) note: pyfil has only been tested with python3, and only has wheels available for python3 %prep %autosetup -n pyfil-1.10.0 %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-pyfil -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue Jun 20 2023 Python_Bot - 1.10.0-1 - Package Spec generated