summaryrefslogtreecommitdiff
path: root/python-ballpark.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-05 07:43:28 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-05 07:43:28 +0000
commit2f2661fa10d7ba0619c22430bcffdb57417ddc5c (patch)
tree84f7b8413e316b07629c075ed1fdaa88ec024adb /python-ballpark.spec
parent35f99e4ec62117693832edc36c5d15b40ba43ef4 (diff)
automatic import of python-ballparkopeneuler20.03
Diffstat (limited to 'python-ballpark.spec')
-rw-r--r--python-ballpark.spec288
1 files changed, 288 insertions, 0 deletions
diff --git a/python-ballpark.spec b/python-ballpark.spec
new file mode 100644
index 0000000..2ad3c0f
--- /dev/null
+++ b/python-ballpark.spec
@@ -0,0 +1,288 @@
+%global _empty_manifest_terminate_build 0
+Name: python-ballpark
+Version: 1.4.0
+Release: 1
+Summary: Better human-readable numbers.
+License: ISC
+URL: https://github.com/debrouwere/python-ballpark/
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/8f/5b/e259db671525c63202885c2cad5fc90cf095a65149a2ad3a7586fa73180f/ballpark-1.4.0.tar.gz
+BuildArch: noarch
+
+
+%description
+When people think of human-readable numbers, they think of rounding to
+two decimal places and adding a thousands separator. 12,214.17 is
+already quite an improvement over 12214.16666667. But standard formats
+for human-readable numbers still have various flaws:
+- even with a thousands separator, at a glance you might easily mistake
+ a billion for a trillion
+- even when rounding, an amount like 12,214.17 dollars is a lot of
+ number noise for communicating 12.2K
+- scientific notation leads to exponents like ``1.22e4`` which are hard
+ to interpret because we're used to working with thousands, millions
+ and billions – orders of magnitudes that are multiples of three
+- when comparing multiple measurements of the same underlying variable,
+ like the yearly sales numbers for 2010-2015, it's annoying to have
+ some numbers in thousands and other numbers in millions – you want
+ consistency so that digits in the same position are of the same
+ magnitude
+``python-ballpark`` introduces *business notation*, an offshoot of
+`engineering
+notation <https://en.wikipedia.org/wiki/Engineering_notation>`__, for
+producing better human-readable numbers.
+Install with ``pip install ballpark`` or ``pip3 install ballpark``.
+What it looks like
+~~~~~~~~~~~~~~~~~~
++---------------------+-----------------------+-----------------+-----------------+
+| numbers | rounded | engineering | **business |
+| | | notation | notation** |
++=====================+=======================+=================+=================+
+| 11234.22, | 11,234.22, | 11.2E+3, | 11K, 233K, |
+| 233000.55, | 233,000.55, | 233E+3, 1.18E+6 | 1,180K |
+| 1175125.2 | 1,175,125.2 | | |
++---------------------+-----------------------+-----------------+-----------------+
+| 111, 1111.23, | 111, 1,111.23, | 111, 1.11E+3, | 0.11K, 1.11K, |
+| 1175125.234 | 1,175,125.23 | 1.18E+6 | 1,180.00K |
++---------------------+-----------------------+-----------------+-----------------+
+How to use it
+~~~~~~~~~~~~~
+ >>> from ballpark import human, scientific, engineering, business, ballpark
+ >>> business([11234.22, 233000.55, 1175125.2])
+ ['11K', '233K', '1,180K']
+ >>>
+ >>> # business notation is also aliased as `ballpark`
+ >>> ballpark([11234.22, 233000.55, 1175125.2])
+ ['11K', '233K', '1,180K']
+ >>>
+ >>> # or use the shortcut functions
+ >>> from ballpark import H, S, E, B
+ >>> B([11234.22, 233000.55, 1175125.2])
+ ['11K', '233K', '1,180K']
+ >>>
+ >>> # all notations accept single numbers too, but then we can't guarantee
+ >>> # that all numbers will have the same prefix (kilo, mega etc.)
+ >>> [B(value) for value in [11234.22, 233000.55, 1175125.2]]
+ ['11.2K', '233K', '1.18M']
+How it works
+~~~~~~~~~~~~
+ business(values, precision=3, prefix=True, prefixes=SI, statistic=median)
+- **precision:** the amount of significant digits. When necessary,
+ ``business`` will round beyond the decimal sign as well: in the
+ example above, ``1175125.2`` was turned into ``1,180K`` rather than
+ ``1,175K`` to retain only 3 significant digits.
+- **prefix:** whether to use SI prefixes like m (milli), K (kilo) and
+ so on instead of scientific exponents like E+03.
+- **prefixes:** a mapping of orders of magnitude to prefixes, e.g.
+ ``{-3: 'm', 3: 'K'}``, allowing you to customize the prefixes, for
+ example using B for billion instead of T for tera.
+- **statistic:** a function to produce the reference number. The
+ reference number determines the order of magnitude and precision for
+ the entire group of numbers, so that for example when the reference
+ number is 23.3K, smaller numbers like 1.1K won't gain a decimal place
+ and larger numbers like 1,180K won't jump an order of magnitude to
+ 1.18M. The median often works well, but if you want more precision
+ for small outliers, try ``ballpark.statistics.Q1`` or even Python's
+ builtin ``min``.
+
+%package -n python3-ballpark
+Summary: Better human-readable numbers.
+Provides: python-ballpark
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-ballpark
+When people think of human-readable numbers, they think of rounding to
+two decimal places and adding a thousands separator. 12,214.17 is
+already quite an improvement over 12214.16666667. But standard formats
+for human-readable numbers still have various flaws:
+- even with a thousands separator, at a glance you might easily mistake
+ a billion for a trillion
+- even when rounding, an amount like 12,214.17 dollars is a lot of
+ number noise for communicating 12.2K
+- scientific notation leads to exponents like ``1.22e4`` which are hard
+ to interpret because we're used to working with thousands, millions
+ and billions – orders of magnitudes that are multiples of three
+- when comparing multiple measurements of the same underlying variable,
+ like the yearly sales numbers for 2010-2015, it's annoying to have
+ some numbers in thousands and other numbers in millions – you want
+ consistency so that digits in the same position are of the same
+ magnitude
+``python-ballpark`` introduces *business notation*, an offshoot of
+`engineering
+notation <https://en.wikipedia.org/wiki/Engineering_notation>`__, for
+producing better human-readable numbers.
+Install with ``pip install ballpark`` or ``pip3 install ballpark``.
+What it looks like
+~~~~~~~~~~~~~~~~~~
++---------------------+-----------------------+-----------------+-----------------+
+| numbers | rounded | engineering | **business |
+| | | notation | notation** |
++=====================+=======================+=================+=================+
+| 11234.22, | 11,234.22, | 11.2E+3, | 11K, 233K, |
+| 233000.55, | 233,000.55, | 233E+3, 1.18E+6 | 1,180K |
+| 1175125.2 | 1,175,125.2 | | |
++---------------------+-----------------------+-----------------+-----------------+
+| 111, 1111.23, | 111, 1,111.23, | 111, 1.11E+3, | 0.11K, 1.11K, |
+| 1175125.234 | 1,175,125.23 | 1.18E+6 | 1,180.00K |
++---------------------+-----------------------+-----------------+-----------------+
+How to use it
+~~~~~~~~~~~~~
+ >>> from ballpark import human, scientific, engineering, business, ballpark
+ >>> business([11234.22, 233000.55, 1175125.2])
+ ['11K', '233K', '1,180K']
+ >>>
+ >>> # business notation is also aliased as `ballpark`
+ >>> ballpark([11234.22, 233000.55, 1175125.2])
+ ['11K', '233K', '1,180K']
+ >>>
+ >>> # or use the shortcut functions
+ >>> from ballpark import H, S, E, B
+ >>> B([11234.22, 233000.55, 1175125.2])
+ ['11K', '233K', '1,180K']
+ >>>
+ >>> # all notations accept single numbers too, but then we can't guarantee
+ >>> # that all numbers will have the same prefix (kilo, mega etc.)
+ >>> [B(value) for value in [11234.22, 233000.55, 1175125.2]]
+ ['11.2K', '233K', '1.18M']
+How it works
+~~~~~~~~~~~~
+ business(values, precision=3, prefix=True, prefixes=SI, statistic=median)
+- **precision:** the amount of significant digits. When necessary,
+ ``business`` will round beyond the decimal sign as well: in the
+ example above, ``1175125.2`` was turned into ``1,180K`` rather than
+ ``1,175K`` to retain only 3 significant digits.
+- **prefix:** whether to use SI prefixes like m (milli), K (kilo) and
+ so on instead of scientific exponents like E+03.
+- **prefixes:** a mapping of orders of magnitude to prefixes, e.g.
+ ``{-3: 'm', 3: 'K'}``, allowing you to customize the prefixes, for
+ example using B for billion instead of T for tera.
+- **statistic:** a function to produce the reference number. The
+ reference number determines the order of magnitude and precision for
+ the entire group of numbers, so that for example when the reference
+ number is 23.3K, smaller numbers like 1.1K won't gain a decimal place
+ and larger numbers like 1,180K won't jump an order of magnitude to
+ 1.18M. The median often works well, but if you want more precision
+ for small outliers, try ``ballpark.statistics.Q1`` or even Python's
+ builtin ``min``.
+
+%package help
+Summary: Development documents and examples for ballpark
+Provides: python3-ballpark-doc
+%description help
+When people think of human-readable numbers, they think of rounding to
+two decimal places and adding a thousands separator. 12,214.17 is
+already quite an improvement over 12214.16666667. But standard formats
+for human-readable numbers still have various flaws:
+- even with a thousands separator, at a glance you might easily mistake
+ a billion for a trillion
+- even when rounding, an amount like 12,214.17 dollars is a lot of
+ number noise for communicating 12.2K
+- scientific notation leads to exponents like ``1.22e4`` which are hard
+ to interpret because we're used to working with thousands, millions
+ and billions – orders of magnitudes that are multiples of three
+- when comparing multiple measurements of the same underlying variable,
+ like the yearly sales numbers for 2010-2015, it's annoying to have
+ some numbers in thousands and other numbers in millions – you want
+ consistency so that digits in the same position are of the same
+ magnitude
+``python-ballpark`` introduces *business notation*, an offshoot of
+`engineering
+notation <https://en.wikipedia.org/wiki/Engineering_notation>`__, for
+producing better human-readable numbers.
+Install with ``pip install ballpark`` or ``pip3 install ballpark``.
+What it looks like
+~~~~~~~~~~~~~~~~~~
++---------------------+-----------------------+-----------------+-----------------+
+| numbers | rounded | engineering | **business |
+| | | notation | notation** |
++=====================+=======================+=================+=================+
+| 11234.22, | 11,234.22, | 11.2E+3, | 11K, 233K, |
+| 233000.55, | 233,000.55, | 233E+3, 1.18E+6 | 1,180K |
+| 1175125.2 | 1,175,125.2 | | |
++---------------------+-----------------------+-----------------+-----------------+
+| 111, 1111.23, | 111, 1,111.23, | 111, 1.11E+3, | 0.11K, 1.11K, |
+| 1175125.234 | 1,175,125.23 | 1.18E+6 | 1,180.00K |
++---------------------+-----------------------+-----------------+-----------------+
+How to use it
+~~~~~~~~~~~~~
+ >>> from ballpark import human, scientific, engineering, business, ballpark
+ >>> business([11234.22, 233000.55, 1175125.2])
+ ['11K', '233K', '1,180K']
+ >>>
+ >>> # business notation is also aliased as `ballpark`
+ >>> ballpark([11234.22, 233000.55, 1175125.2])
+ ['11K', '233K', '1,180K']
+ >>>
+ >>> # or use the shortcut functions
+ >>> from ballpark import H, S, E, B
+ >>> B([11234.22, 233000.55, 1175125.2])
+ ['11K', '233K', '1,180K']
+ >>>
+ >>> # all notations accept single numbers too, but then we can't guarantee
+ >>> # that all numbers will have the same prefix (kilo, mega etc.)
+ >>> [B(value) for value in [11234.22, 233000.55, 1175125.2]]
+ ['11.2K', '233K', '1.18M']
+How it works
+~~~~~~~~~~~~
+ business(values, precision=3, prefix=True, prefixes=SI, statistic=median)
+- **precision:** the amount of significant digits. When necessary,
+ ``business`` will round beyond the decimal sign as well: in the
+ example above, ``1175125.2`` was turned into ``1,180K`` rather than
+ ``1,175K`` to retain only 3 significant digits.
+- **prefix:** whether to use SI prefixes like m (milli), K (kilo) and
+ so on instead of scientific exponents like E+03.
+- **prefixes:** a mapping of orders of magnitude to prefixes, e.g.
+ ``{-3: 'm', 3: 'K'}``, allowing you to customize the prefixes, for
+ example using B for billion instead of T for tera.
+- **statistic:** a function to produce the reference number. The
+ reference number determines the order of magnitude and precision for
+ the entire group of numbers, so that for example when the reference
+ number is 23.3K, smaller numbers like 1.1K won't gain a decimal place
+ and larger numbers like 1,180K won't jump an order of magnitude to
+ 1.18M. The median often works well, but if you want more precision
+ for small outliers, try ``ballpark.statistics.Q1`` or even Python's
+ builtin ``min``.
+
+%prep
+%autosetup -n ballpark-1.4.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-ballpark -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 1.4.0-1
+- Package Spec generated