%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