diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-heapdict.spec | 125 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 127 insertions, 0 deletions
@@ -0,0 +1 @@ +/HeapDict-1.0.1.tar.gz diff --git a/python-heapdict.spec b/python-heapdict.spec new file mode 100644 index 0000000..e215d7f --- /dev/null +++ b/python-heapdict.spec @@ -0,0 +1,125 @@ +%global _empty_manifest_terminate_build 0 +Name: python-HeapDict +Version: 1.0.1 +Release: 1 +Summary: a heap with decrease-key and increase-key operations +License: BSD +URL: http://stutzbachenterprises.com/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/5a/9b/d8963ae7e388270b695f3b556b6dc9adb70ae9618fba09aa1e7b1886652d/HeapDict-1.0.1.tar.gz +BuildArch: noarch + + +%description +heapdict implements the MutableMapping ABC, meaning it works pretty +much like a regular Python dict. It's designed to be used as a +priority queue, where items are added and consumed as follows: + hd = heapdict() + hd[obj1] = priority1 + hd[obj2] = priority2 + # ... + (obj, priority) = hd.popitem() +Compared to an ordinary dict, a heapdict has the following differences: +popitem(): + Remove and return the (key, priority) pair with the lowest + priority, instead of a random object. +peekitem(): + Return the (key, priority) pair with the lowest priority, without + removing it. +Unlike the Python standard library's heapq module, the heapdict +supports efficiently changing the priority of an existing object +(often called "decrease-key" in textbooks). Altering the priority is +important for many algorithms such as Dijkstra's Algorithm and A*. + +%package -n python3-HeapDict +Summary: a heap with decrease-key and increase-key operations +Provides: python-HeapDict +BuildRequires: python3-devel +BuildRequires: python3-setuptools +%description -n python3-HeapDict +heapdict implements the MutableMapping ABC, meaning it works pretty +much like a regular Python dict. It's designed to be used as a +priority queue, where items are added and consumed as follows: + hd = heapdict() + hd[obj1] = priority1 + hd[obj2] = priority2 + # ... + (obj, priority) = hd.popitem() +Compared to an ordinary dict, a heapdict has the following differences: +popitem(): + Remove and return the (key, priority) pair with the lowest + priority, instead of a random object. +peekitem(): + Return the (key, priority) pair with the lowest priority, without + removing it. +Unlike the Python standard library's heapq module, the heapdict +supports efficiently changing the priority of an existing object +(often called "decrease-key" in textbooks). Altering the priority is +important for many algorithms such as Dijkstra's Algorithm and A*. + +%package help +Summary: Development documents and examples for HeapDict +Provides: python3-HeapDict-doc +%description help +heapdict implements the MutableMapping ABC, meaning it works pretty +much like a regular Python dict. It's designed to be used as a +priority queue, where items are added and consumed as follows: + hd = heapdict() + hd[obj1] = priority1 + hd[obj2] = priority2 + # ... + (obj, priority) = hd.popitem() +Compared to an ordinary dict, a heapdict has the following differences: +popitem(): + Remove and return the (key, priority) pair with the lowest + priority, instead of a random object. +peekitem(): + Return the (key, priority) pair with the lowest priority, without + removing it. +Unlike the Python standard library's heapq module, the heapdict +supports efficiently changing the priority of an existing object +(often called "decrease-key" in textbooks). Altering the priority is +important for many algorithms such as Dijkstra's Algorithm and A*. + +%prep +%autosetup -n HeapDict-1.0.1 + +%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-HeapDict -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Sat Feb 25 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.1-1 +- Package Spec generated @@ -0,0 +1 @@ +095327c14b6104bd89c33c14b9ac0c39 HeapDict-1.0.1.tar.gz |