%global _empty_manifest_terminate_build 0 Name: python-say Version: 1.6.6 Release: 1 Summary: print and format on steroids License: Apache License 2.0 URL: https://bitbucket.org/jeunice/say Source0: https://mirrors.nju.edu.cn/pypi/web/packages/f6/b6/6a5445ca37d13addb30953ee79aea3f3e67e67360460e4d6e6b8235b40ba/say-1.6.6.tar.gz BuildArch: noarch Requires: python3-six Requires: python3-options Requires: python3-simplere Requires: python3-mementos Requires: python3-ansicolors Requires: python3-ansiwrap %description | |version| |versions| |impls| |wheel| |coverage| .. |version| image:: http://img.shields.io/pypi/v/say.svg?style=flat :alt: PyPI Package latest release :target: https://pypi.org/project/say .. |versions| image:: https://img.shields.io/pypi/pyversions/say.svg :alt: Supported versions :target: https://pypi.org/project/say .. |impls| image:: https://img.shields.io/pypi/implementation/say.svg :alt: Supported implementations :target: https://pypi.org/project/say .. |wheel| image:: https://img.shields.io/pypi/wheel/say.svg :alt: Wheel packaging support :target: https://pypi.org/project/say .. |coverage| image:: https://img.shields.io/badge/test_coverage-97%25-blue.svg :alt: Test line coverage :target: https://pypi.org/project/say It's been *almost fifty years* since ``C`` introduced ``printf()`` and the basic formatted printing of positional parameters. Isn't it time for an upgrade? **You betcha!** ``say`` evolves Python's ``print`` statement/function, ``format`` function/method, and ``%`` string interpolation operator with simpler, higher-level facilities. For example, it provides direct template formatting:: from say import * x, nums, name = 12, list(range(4)), 'Fred' say("There are {x} things.") say("Nums has {len(nums)} items: {nums}") say("Name: {name!r}") yields:: There are 12 things. Nums has 4 items: [0, 1, 2, 3] Name: 'Fred' Or instead of printing the string immediately, you want the string itself, the ``fmt()`` function is our version of ``sprintf()``.:: >>> fmt("{name} has {x} things and {len(nums)} numbers.") 'Fred has 12 things and 4 numbers.' The more items being printed, and the more complicated the ``format`` invocation, the more valuable this simple inline specification becomes. But as nice as replacing positional templates with inline templates is--a fact *finally* officially accommodated with formatted string literals of Python 3.6--``say`` does a lot more. It also works in a variety of ways to up-level the output-generation task. For example:: say.title('Discovered') say("Name: {name:style=blue}", indent='+1') say("Age: {age:style=blue}", indent='+1') Prints a nicely formatted text block, with a proper title and indentation, and just the variable information in blue. .. image:: http://content.screencast.com/users/jonathaneunice/folders/Jing/media/81bf4738-c875-4998-82ac-a91d211d000b/00000745.png :align: left ``say`` provides: * DRY, Pythonic, inline string templates that piggyback Python's well-proven ``format()`` method, syntax, and underlying engine. * A single output mechanism that works the same way across Python 2 or Python 3. * A companion ``fmt()`` object for string formatting. * Higher-order line formatting such as line numbering, indentation, and line-wrapping built in. You can get substantially better output formatting with almost no additional code. * Convenient methods for common formatting items such as titles, horizontal separators, and vertical whitespace. * Easy styled output, including ANSI colors and user-defined styles and text transforms. * Easy output to one or more files, without additional code or complexity. * Super-duper template/text aggregator objects for easily building, reading, and writing multi-line texts. Take it for a test drive today! See `the full documentation at Read the Docs `_. %package -n python3-say Summary: print and format on steroids Provides: python-say BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-say | |version| |versions| |impls| |wheel| |coverage| .. |version| image:: http://img.shields.io/pypi/v/say.svg?style=flat :alt: PyPI Package latest release :target: https://pypi.org/project/say .. |versions| image:: https://img.shields.io/pypi/pyversions/say.svg :alt: Supported versions :target: https://pypi.org/project/say .. |impls| image:: https://img.shields.io/pypi/implementation/say.svg :alt: Supported implementations :target: https://pypi.org/project/say .. |wheel| image:: https://img.shields.io/pypi/wheel/say.svg :alt: Wheel packaging support :target: https://pypi.org/project/say .. |coverage| image:: https://img.shields.io/badge/test_coverage-97%25-blue.svg :alt: Test line coverage :target: https://pypi.org/project/say It's been *almost fifty years* since ``C`` introduced ``printf()`` and the basic formatted printing of positional parameters. Isn't it time for an upgrade? **You betcha!** ``say`` evolves Python's ``print`` statement/function, ``format`` function/method, and ``%`` string interpolation operator with simpler, higher-level facilities. For example, it provides direct template formatting:: from say import * x, nums, name = 12, list(range(4)), 'Fred' say("There are {x} things.") say("Nums has {len(nums)} items: {nums}") say("Name: {name!r}") yields:: There are 12 things. Nums has 4 items: [0, 1, 2, 3] Name: 'Fred' Or instead of printing the string immediately, you want the string itself, the ``fmt()`` function is our version of ``sprintf()``.:: >>> fmt("{name} has {x} things and {len(nums)} numbers.") 'Fred has 12 things and 4 numbers.' The more items being printed, and the more complicated the ``format`` invocation, the more valuable this simple inline specification becomes. But as nice as replacing positional templates with inline templates is--a fact *finally* officially accommodated with formatted string literals of Python 3.6--``say`` does a lot more. It also works in a variety of ways to up-level the output-generation task. For example:: say.title('Discovered') say("Name: {name:style=blue}", indent='+1') say("Age: {age:style=blue}", indent='+1') Prints a nicely formatted text block, with a proper title and indentation, and just the variable information in blue. .. image:: http://content.screencast.com/users/jonathaneunice/folders/Jing/media/81bf4738-c875-4998-82ac-a91d211d000b/00000745.png :align: left ``say`` provides: * DRY, Pythonic, inline string templates that piggyback Python's well-proven ``format()`` method, syntax, and underlying engine. * A single output mechanism that works the same way across Python 2 or Python 3. * A companion ``fmt()`` object for string formatting. * Higher-order line formatting such as line numbering, indentation, and line-wrapping built in. You can get substantially better output formatting with almost no additional code. * Convenient methods for common formatting items such as titles, horizontal separators, and vertical whitespace. * Easy styled output, including ANSI colors and user-defined styles and text transforms. * Easy output to one or more files, without additional code or complexity. * Super-duper template/text aggregator objects for easily building, reading, and writing multi-line texts. Take it for a test drive today! See `the full documentation at Read the Docs `_. %package help Summary: Development documents and examples for say Provides: python3-say-doc %description help | |version| |versions| |impls| |wheel| |coverage| .. |version| image:: http://img.shields.io/pypi/v/say.svg?style=flat :alt: PyPI Package latest release :target: https://pypi.org/project/say .. |versions| image:: https://img.shields.io/pypi/pyversions/say.svg :alt: Supported versions :target: https://pypi.org/project/say .. |impls| image:: https://img.shields.io/pypi/implementation/say.svg :alt: Supported implementations :target: https://pypi.org/project/say .. |wheel| image:: https://img.shields.io/pypi/wheel/say.svg :alt: Wheel packaging support :target: https://pypi.org/project/say .. |coverage| image:: https://img.shields.io/badge/test_coverage-97%25-blue.svg :alt: Test line coverage :target: https://pypi.org/project/say It's been *almost fifty years* since ``C`` introduced ``printf()`` and the basic formatted printing of positional parameters. Isn't it time for an upgrade? **You betcha!** ``say`` evolves Python's ``print`` statement/function, ``format`` function/method, and ``%`` string interpolation operator with simpler, higher-level facilities. For example, it provides direct template formatting:: from say import * x, nums, name = 12, list(range(4)), 'Fred' say("There are {x} things.") say("Nums has {len(nums)} items: {nums}") say("Name: {name!r}") yields:: There are 12 things. Nums has 4 items: [0, 1, 2, 3] Name: 'Fred' Or instead of printing the string immediately, you want the string itself, the ``fmt()`` function is our version of ``sprintf()``.:: >>> fmt("{name} has {x} things and {len(nums)} numbers.") 'Fred has 12 things and 4 numbers.' The more items being printed, and the more complicated the ``format`` invocation, the more valuable this simple inline specification becomes. But as nice as replacing positional templates with inline templates is--a fact *finally* officially accommodated with formatted string literals of Python 3.6--``say`` does a lot more. It also works in a variety of ways to up-level the output-generation task. For example:: say.title('Discovered') say("Name: {name:style=blue}", indent='+1') say("Age: {age:style=blue}", indent='+1') Prints a nicely formatted text block, with a proper title and indentation, and just the variable information in blue. .. image:: http://content.screencast.com/users/jonathaneunice/folders/Jing/media/81bf4738-c875-4998-82ac-a91d211d000b/00000745.png :align: left ``say`` provides: * DRY, Pythonic, inline string templates that piggyback Python's well-proven ``format()`` method, syntax, and underlying engine. * A single output mechanism that works the same way across Python 2 or Python 3. * A companion ``fmt()`` object for string formatting. * Higher-order line formatting such as line numbering, indentation, and line-wrapping built in. You can get substantially better output formatting with almost no additional code. * Convenient methods for common formatting items such as titles, horizontal separators, and vertical whitespace. * Easy styled output, including ANSI colors and user-defined styles and text transforms. * Easy output to one or more files, without additional code or complexity. * Super-duper template/text aggregator objects for easily building, reading, and writing multi-line texts. Take it for a test drive today! See `the full documentation at Read the Docs `_. %prep %autosetup -n say-1.6.6 %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-say -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 1.6.6-1 - Package Spec generated