diff options
Diffstat (limited to 'python-say.spec')
| -rw-r--r-- | python-say.spec | 369 |
1 files changed, 369 insertions, 0 deletions
diff --git a/python-say.spec b/python-say.spec new file mode 100644 index 0000000..8610652 --- /dev/null +++ b/python-say.spec @@ -0,0 +1,369 @@ +%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 <http://say.readthedocs.org/en/latest/>`_. + + + + +%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 <http://say.readthedocs.org/en/latest/>`_. + + + + +%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 <http://say.readthedocs.org/en/latest/>`_. + + + + +%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 <Python_Bot@openeuler.org> - 1.6.6-1 +- Package Spec generated |
