%global _empty_manifest_terminate_build 0 Name: python-GrailSort Version: 1.2.2 Release: 1 Summary: Cython wrapper around GrailSort (https://github.com/gaming32/GrailSort-Maintained) License: License :: OSI Approved :: MIT License URL: https://github.com/gaming32/grailsort Source0: https://mirrors.aliyun.com/pypi/web/packages/42/f0/9242784eeb26e32c8c5dfaa7d2dcdb968fcc9dd8ed32fca80d9d76c6d0c5/GrailSort-1.2.2.tar.gz %description ![PyPI - Downloads](https://img.shields.io/pypi/dm/GrailSort) ![PyPI - License](https://img.shields.io/pypi/l/GrailSort) ![Libraries.io SourceRank](https://img.shields.io/librariesio/sourcerank/pypi/GrailSort?color=green) ![PyPI](https://img.shields.io/pypi/v/GrailSort) ![PyPI - Format](https://img.shields.io/pypi/format/GrailSort) ![GitHub last commit](https://img.shields.io/github/last-commit/gaming32/grailsort) ![Discord](https://img.shields.io/discord/673206188825116713?color=%237289DA&label=support&logo=discord&logoColor=white) [Join the Discord channel for live tech support!](https://discord.com/channels/673206188825116713/772978855752368149) # GrailSort for Python GrailSort for Python is a Python API for the [GrailSort algorithm](https://github.com/Mrrl/GrailSort). ## Installation You can install GrailSort for Python from source: ```shell $ git clone https://github.com/gaming32/grailsort $ cd grailsort $ python setup.py install ``` Or you can install it from PyPI: ```shell $ python -m pip install GrailSort ``` ## Usage GrailSort for Python comes with two modules: a strict one, and a slower one. The strict module (`cGrailSort`) only deals with `array.array('d')` objects, while the slower module (`grailsort`) deals with any Python sequence that contains comparable objects. It is generally unnescessary to deal with the `grailsort` module, as you might as well use the built-in `list.sort` method or the `sorted` function. However, TimSort is not in-place, while GrailSort is. `cGrailSort` is useful when you need to sort with speed. ## Example ### grailsort ```python import grailsort import random def print_out_of_order_index(): index = next((i for i in range(len(l) - 1) if l[i] > l[i + 1]), None) print('Out of order index:', index) l = list(range(1024)) print_out_of_order_index() random.shuffle(l) print_out_of_order_index() grailsort.grailsort(l) print_out_of_order_index() ``` ### cGrailSort ```python import cGrailSort import array import random def print_out_of_order_index(): index = next((i for i in range(len(a) - 1) if a[i] > a[i + 1]), None) print('Out of order index:', index) a = array.array('d', range(1024)) print_out_of_order_index() random.shuffle(a) print_out_of_order_index() cGrailSort.grailsort(a) print_out_of_order_index() ``` %package -n python3-GrailSort Summary: Cython wrapper around GrailSort (https://github.com/gaming32/GrailSort-Maintained) Provides: python-GrailSort BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip BuildRequires: python3-cffi BuildRequires: gcc BuildRequires: gdb %description -n python3-GrailSort ![PyPI - Downloads](https://img.shields.io/pypi/dm/GrailSort) ![PyPI - License](https://img.shields.io/pypi/l/GrailSort) ![Libraries.io SourceRank](https://img.shields.io/librariesio/sourcerank/pypi/GrailSort?color=green) ![PyPI](https://img.shields.io/pypi/v/GrailSort) ![PyPI - Format](https://img.shields.io/pypi/format/GrailSort) ![GitHub last commit](https://img.shields.io/github/last-commit/gaming32/grailsort) ![Discord](https://img.shields.io/discord/673206188825116713?color=%237289DA&label=support&logo=discord&logoColor=white) [Join the Discord channel for live tech support!](https://discord.com/channels/673206188825116713/772978855752368149) # GrailSort for Python GrailSort for Python is a Python API for the [GrailSort algorithm](https://github.com/Mrrl/GrailSort). ## Installation You can install GrailSort for Python from source: ```shell $ git clone https://github.com/gaming32/grailsort $ cd grailsort $ python setup.py install ``` Or you can install it from PyPI: ```shell $ python -m pip install GrailSort ``` ## Usage GrailSort for Python comes with two modules: a strict one, and a slower one. The strict module (`cGrailSort`) only deals with `array.array('d')` objects, while the slower module (`grailsort`) deals with any Python sequence that contains comparable objects. It is generally unnescessary to deal with the `grailsort` module, as you might as well use the built-in `list.sort` method or the `sorted` function. However, TimSort is not in-place, while GrailSort is. `cGrailSort` is useful when you need to sort with speed. ## Example ### grailsort ```python import grailsort import random def print_out_of_order_index(): index = next((i for i in range(len(l) - 1) if l[i] > l[i + 1]), None) print('Out of order index:', index) l = list(range(1024)) print_out_of_order_index() random.shuffle(l) print_out_of_order_index() grailsort.grailsort(l) print_out_of_order_index() ``` ### cGrailSort ```python import cGrailSort import array import random def print_out_of_order_index(): index = next((i for i in range(len(a) - 1) if a[i] > a[i + 1]), None) print('Out of order index:', index) a = array.array('d', range(1024)) print_out_of_order_index() random.shuffle(a) print_out_of_order_index() cGrailSort.grailsort(a) print_out_of_order_index() ``` %package help Summary: Development documents and examples for GrailSort Provides: python3-GrailSort-doc %description help ![PyPI - Downloads](https://img.shields.io/pypi/dm/GrailSort) ![PyPI - License](https://img.shields.io/pypi/l/GrailSort) ![Libraries.io SourceRank](https://img.shields.io/librariesio/sourcerank/pypi/GrailSort?color=green) ![PyPI](https://img.shields.io/pypi/v/GrailSort) ![PyPI - Format](https://img.shields.io/pypi/format/GrailSort) ![GitHub last commit](https://img.shields.io/github/last-commit/gaming32/grailsort) ![Discord](https://img.shields.io/discord/673206188825116713?color=%237289DA&label=support&logo=discord&logoColor=white) [Join the Discord channel for live tech support!](https://discord.com/channels/673206188825116713/772978855752368149) # GrailSort for Python GrailSort for Python is a Python API for the [GrailSort algorithm](https://github.com/Mrrl/GrailSort). ## Installation You can install GrailSort for Python from source: ```shell $ git clone https://github.com/gaming32/grailsort $ cd grailsort $ python setup.py install ``` Or you can install it from PyPI: ```shell $ python -m pip install GrailSort ``` ## Usage GrailSort for Python comes with two modules: a strict one, and a slower one. The strict module (`cGrailSort`) only deals with `array.array('d')` objects, while the slower module (`grailsort`) deals with any Python sequence that contains comparable objects. It is generally unnescessary to deal with the `grailsort` module, as you might as well use the built-in `list.sort` method or the `sorted` function. However, TimSort is not in-place, while GrailSort is. `cGrailSort` is useful when you need to sort with speed. ## Example ### grailsort ```python import grailsort import random def print_out_of_order_index(): index = next((i for i in range(len(l) - 1) if l[i] > l[i + 1]), None) print('Out of order index:', index) l = list(range(1024)) print_out_of_order_index() random.shuffle(l) print_out_of_order_index() grailsort.grailsort(l) print_out_of_order_index() ``` ### cGrailSort ```python import cGrailSort import array import random def print_out_of_order_index(): index = next((i for i in range(len(a) - 1) if a[i] > a[i + 1]), None) print('Out of order index:', index) a = array.array('d', range(1024)) print_out_of_order_index() random.shuffle(a) print_out_of_order_index() cGrailSort.grailsort(a) print_out_of_order_index() ``` %prep %autosetup -n GrailSort-1.2.2 %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-GrailSort -f filelist.lst %dir %{python3_sitearch}/* %files help -f doclist.lst %{_docdir}/* %changelog * Thu Jun 08 2023 Python_Bot - 1.2.2-1 - Package Spec generated