summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-10 08:04:16 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-10 08:04:16 +0000
commit24de56a3ce34a9655fd8c9b3eae6d9edd6336180 (patch)
treed1f77014d8cd20ecdac3beed38c79bd9a583862f
parent7be3753b5a2a12fccfbdc2a3239ee60416085c16 (diff)
automatic import of python-sortedcontainers
-rw-r--r--.gitignore1
-rw-r--r--python-sortedcontainers.spec192
-rw-r--r--sources1
3 files changed, 194 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..adc7a7a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/sortedcontainers-2.4.0.tar.gz
diff --git a/python-sortedcontainers.spec b/python-sortedcontainers.spec
new file mode 100644
index 0000000..2cd4c90
--- /dev/null
+++ b/python-sortedcontainers.spec
@@ -0,0 +1,192 @@
+%global _empty_manifest_terminate_build 0
+Name: python-sortedcontainers
+Version: 2.4.0
+Release: 1
+Summary: Sorted Containers -- Sorted List, Sorted Dict, Sorted Set
+License: Apache 2.0
+URL: http://www.grantjenks.com/docs/sortedcontainers/
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/e8/c4/ba2f8066cceb6f23394729afe52f3bf7adec04bf9ed2c820b39e19299111/sortedcontainers-2.4.0.tar.gz
+BuildArch: noarch
+
+
+%description
+`Sorted Containers`_ is an Apache2 licensed `sorted collections library`_,
+written in pure-Python, and fast as C-extensions.
+Python's standard library is great until you need a sorted collections
+type. Many will attest that you can get really far without one, but the moment
+you **really need** a sorted list, sorted dict, or sorted set, you're faced
+with a dozen different implementations, most using C-extensions without great
+documentation and benchmarking.
+In Python, we can do better. And we can do it in pure-Python!
+ >>> from sortedcontainers import SortedList
+ >>> sl = SortedList(['e', 'a', 'c', 'd', 'b'])
+ >>> sl
+ SortedList(['a', 'b', 'c', 'd', 'e'])
+ >>> sl *= 10_000_000
+ >>> sl.count('c')
+ 10000000
+ >>> sl[-3:]
+ ['e', 'e', 'e']
+ >>> from sortedcontainers import SortedDict
+ >>> sd = SortedDict({'c': 3, 'a': 1, 'b': 2})
+ >>> sd
+ SortedDict({'a': 1, 'b': 2, 'c': 3})
+ >>> sd.popitem(index=-1)
+ ('c', 3)
+ >>> from sortedcontainers import SortedSet
+ >>> ss = SortedSet('abracadabra')
+ >>> ss
+ SortedSet(['a', 'b', 'c', 'd', 'r'])
+ >>> ss.bisect_left('c')
+ 2
+All of the operations shown above run in faster than linear time. The above
+demo also takes nearly a gigabyte of memory to run. When the sorted list is
+multiplied by ten million, it stores ten million references to each of "a"
+through "e". Each reference requires eight bytes in the sorted
+container. That's pretty hard to beat as it's the cost of a pointer to each
+object. It's also 66% less overhead than a typical binary tree implementation
+(e.g. Red-Black Tree, AVL-Tree, AA-Tree, Splay-Tree, Treap, etc.) for which
+every node must also store two pointers to children nodes.
+`Sorted Containers`_ takes all of the work out of Python sorted collections -
+making your deployment and use of Python easy. There's no need to install a C
+compiler or pre-build and distribute custom extensions. Performance is a
+feature and testing has 100% coverage with unit tests and hours of stress.
+
+%package -n python3-sortedcontainers
+Summary: Sorted Containers -- Sorted List, Sorted Dict, Sorted Set
+Provides: python-sortedcontainers
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-sortedcontainers
+`Sorted Containers`_ is an Apache2 licensed `sorted collections library`_,
+written in pure-Python, and fast as C-extensions.
+Python's standard library is great until you need a sorted collections
+type. Many will attest that you can get really far without one, but the moment
+you **really need** a sorted list, sorted dict, or sorted set, you're faced
+with a dozen different implementations, most using C-extensions without great
+documentation and benchmarking.
+In Python, we can do better. And we can do it in pure-Python!
+ >>> from sortedcontainers import SortedList
+ >>> sl = SortedList(['e', 'a', 'c', 'd', 'b'])
+ >>> sl
+ SortedList(['a', 'b', 'c', 'd', 'e'])
+ >>> sl *= 10_000_000
+ >>> sl.count('c')
+ 10000000
+ >>> sl[-3:]
+ ['e', 'e', 'e']
+ >>> from sortedcontainers import SortedDict
+ >>> sd = SortedDict({'c': 3, 'a': 1, 'b': 2})
+ >>> sd
+ SortedDict({'a': 1, 'b': 2, 'c': 3})
+ >>> sd.popitem(index=-1)
+ ('c', 3)
+ >>> from sortedcontainers import SortedSet
+ >>> ss = SortedSet('abracadabra')
+ >>> ss
+ SortedSet(['a', 'b', 'c', 'd', 'r'])
+ >>> ss.bisect_left('c')
+ 2
+All of the operations shown above run in faster than linear time. The above
+demo also takes nearly a gigabyte of memory to run. When the sorted list is
+multiplied by ten million, it stores ten million references to each of "a"
+through "e". Each reference requires eight bytes in the sorted
+container. That's pretty hard to beat as it's the cost of a pointer to each
+object. It's also 66% less overhead than a typical binary tree implementation
+(e.g. Red-Black Tree, AVL-Tree, AA-Tree, Splay-Tree, Treap, etc.) for which
+every node must also store two pointers to children nodes.
+`Sorted Containers`_ takes all of the work out of Python sorted collections -
+making your deployment and use of Python easy. There's no need to install a C
+compiler or pre-build and distribute custom extensions. Performance is a
+feature and testing has 100% coverage with unit tests and hours of stress.
+
+%package help
+Summary: Development documents and examples for sortedcontainers
+Provides: python3-sortedcontainers-doc
+%description help
+`Sorted Containers`_ is an Apache2 licensed `sorted collections library`_,
+written in pure-Python, and fast as C-extensions.
+Python's standard library is great until you need a sorted collections
+type. Many will attest that you can get really far without one, but the moment
+you **really need** a sorted list, sorted dict, or sorted set, you're faced
+with a dozen different implementations, most using C-extensions without great
+documentation and benchmarking.
+In Python, we can do better. And we can do it in pure-Python!
+ >>> from sortedcontainers import SortedList
+ >>> sl = SortedList(['e', 'a', 'c', 'd', 'b'])
+ >>> sl
+ SortedList(['a', 'b', 'c', 'd', 'e'])
+ >>> sl *= 10_000_000
+ >>> sl.count('c')
+ 10000000
+ >>> sl[-3:]
+ ['e', 'e', 'e']
+ >>> from sortedcontainers import SortedDict
+ >>> sd = SortedDict({'c': 3, 'a': 1, 'b': 2})
+ >>> sd
+ SortedDict({'a': 1, 'b': 2, 'c': 3})
+ >>> sd.popitem(index=-1)
+ ('c', 3)
+ >>> from sortedcontainers import SortedSet
+ >>> ss = SortedSet('abracadabra')
+ >>> ss
+ SortedSet(['a', 'b', 'c', 'd', 'r'])
+ >>> ss.bisect_left('c')
+ 2
+All of the operations shown above run in faster than linear time. The above
+demo also takes nearly a gigabyte of memory to run. When the sorted list is
+multiplied by ten million, it stores ten million references to each of "a"
+through "e". Each reference requires eight bytes in the sorted
+container. That's pretty hard to beat as it's the cost of a pointer to each
+object. It's also 66% less overhead than a typical binary tree implementation
+(e.g. Red-Black Tree, AVL-Tree, AA-Tree, Splay-Tree, Treap, etc.) for which
+every node must also store two pointers to children nodes.
+`Sorted Containers`_ takes all of the work out of Python sorted collections -
+making your deployment and use of Python easy. There's no need to install a C
+compiler or pre-build and distribute custom extensions. Performance is a
+feature and testing has 100% coverage with unit tests and hours of stress.
+
+%prep
+%autosetup -n sortedcontainers-2.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-sortedcontainers -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 2.4.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..f8888c8
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+50eeb6cb739568b590b28f9a3f445c78 sortedcontainers-2.4.0.tar.gz