diff options
Diffstat (limited to 'python-distinctipy.spec')
-rw-r--r-- | python-distinctipy.spec | 393 |
1 files changed, 393 insertions, 0 deletions
diff --git a/python-distinctipy.spec b/python-distinctipy.spec new file mode 100644 index 0000000..678a632 --- /dev/null +++ b/python-distinctipy.spec @@ -0,0 +1,393 @@ +%global _empty_manifest_terminate_build 0 +Name: python-distinctipy +Version: 1.2.2 +Release: 1 +Summary: A lightweight package for generating visually distinct colours. +License: MIT License +URL: https://github.com/alan-turing-institute/distinctipy +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/3c/57/da49e941e26d0063b5d59c730f324ca72b4a693bf37543ae15016d48e18f/distinctipy-1.2.2.tar.gz +BuildArch: noarch + +Requires: python3-numpy +Requires: python3-numpy +Requires: python3-black +Requires: python3-codecov +Requires: python3-coverage +Requires: python3-flake8 +Requires: python3-isort +Requires: python3-pytest +Requires: python3-pytest-cov +Requires: python3-pandas +Requires: python3-matplotlib +Requires: python3-sphinx-rtd-theme +Requires: python3-nbsphinx +Requires: python3-sphinx-rtd-theme +Requires: python3-nbsphinx +Requires: python3-pandas +Requires: python3-matplotlib +Requires: python3-black +Requires: python3-codecov +Requires: python3-coverage +Requires: python3-flake8 +Requires: python3-isort +Requires: python3-pytest +Requires: python3-pytest-cov + +%description + + + + + +[](https://codecov.io/gh/alan-turing-institute/distinctipy) +[](https://zenodo.org/badge/latestdoi/188444660) +[](https://distinctipy.readthedocs.io/en/latest/?badge=latest) + +*distinctipy* is a lightweight python package providing functions to generate +colours that are visually distinct from one another. + +Commonly available qualitative colormaps provided by the likes of matplotlib +generally have no more than 20 colours, but for some applications it is useful +to have many more colours that are clearly different from one another. +*distinctipy* can generate lists of colours of any length, with each new colour +added to the list being as visually distinct from the pre-existing colours in + the list as possible. + +## Installation + +*distinctipy* is designed for Python 3 and can be installed with pip by running: + +```shell +pip install distinctipy +``` + +Alternatively clone the repo and install it locally: + +```shell +git clone https://github.com/alan-turing-institute/distinctipy.git +cd distinctipy +pip install . +``` + +### Optional Dependencies + +Starting in version 1.2.1 `distinctipy` no longer bundles `matplotlib`, `pandas` or dev dependencies in the default installation. If you wish to view +colours (e.g. with `distinctipy.color_swatch`) or examples you will need `matplotlib` and `pandas` installed. To do this, either install `distinctipy` +with the optional flag: +```bash +pip install distinctipy[optional] +``` + +Or install them separately: +```bash +pip install matplotlib pandas +``` + +For developers, to install the stack needed to run tests, generate docs etc. use the `[all]` flag: +```bash +pip install distinctipy[all] +``` + +## Usage and Examples + +*distinctipy* can: +* Generate N visually distinct colours: `distinctipy.get_colors(N)` +* Generate colours that are distinct from an existing list of colours: `distinctipy.get_colors(N, existing_colors)` +* Generate pastel colours: `distinctipy.get_colors(N, pastel_factor=0.7)` +* Select black or white as the best font colour for any background colour: `distinctipy.get_text_color(background_color)` +* Convert lists of colours into matplotlib colormaps: `distinctipy.get_colormap(colors)` +* Invert colours: `distinctipy.invert_colors(colors)` +* Nicely display generated colours: `distinctipy.color_swatch(colors)` +* Compare distinctipy colours to other common colormaps: `examples.compare_clusters()` and `examples.compare_colors()` +* Simulate how colours look for someone with colourblindness: `colorblind.simulate_colors(colors, colorblind_type='Deuteranomaly')` +* Attempt to generate colours as distinct as possible for someone with colourblindness `distinctipy.get_colors(N, existing_colors, colorblind_type="Deuteranomaly")` + +For example, to create and then display N = 36 visually distinct colours: + +```python +from distinctipy import distinctipy + +# number of colours to generate +N = 36 + +# generate N visually distinct colours +colors = distinctipy.get_colors(N) + +# display the colours +distinctipy.color_swatch(colors) +``` + +More detailed usage and example output can be found in the notebook **[examples.ipynb](https://github.com/alan-turing-institute/distinctipy/blob/main/examples.ipynb)** and **[examples gallery](https://github.com/alan-turing-institute/distinctipy/tree/main/examples)**. + +## References + +*distinctipy* was heavily influenced and inspired by several web sources and +stack overflow answers. In particular: +* **Random generation of distinct colours:** [Andrew Dewes on GitHub](https://gist.github.com/adewes/5884820) +* **Colour distance metric:** [Thiadmer Riemersma at CompuPhase](https://www.compuphase.com/cmetric.htm) +* **Best text colour for background:** [Mark Ransom on Stack Overflow](https://stackoverflow.com/a/3943023) +* **Colourblindness Filters:** [Matthew Wickline and the Human-Computer Interaction Resource Network](http://web.archive.org/web/20090318054431/http://www.nofunc.com/Color_Blindness_Library) (web archive) + +## Citing distinctipy + +If you would like to cite distinctipy, please refer to the upload of the package on Zenodo: https://doi.org/10.5281/zenodo.3985191 + + + + +%package -n python3-distinctipy +Summary: A lightweight package for generating visually distinct colours. +Provides: python-distinctipy +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-distinctipy + + + + + +[](https://codecov.io/gh/alan-turing-institute/distinctipy) +[](https://zenodo.org/badge/latestdoi/188444660) +[](https://distinctipy.readthedocs.io/en/latest/?badge=latest) + +*distinctipy* is a lightweight python package providing functions to generate +colours that are visually distinct from one another. + +Commonly available qualitative colormaps provided by the likes of matplotlib +generally have no more than 20 colours, but for some applications it is useful +to have many more colours that are clearly different from one another. +*distinctipy* can generate lists of colours of any length, with each new colour +added to the list being as visually distinct from the pre-existing colours in + the list as possible. + +## Installation + +*distinctipy* is designed for Python 3 and can be installed with pip by running: + +```shell +pip install distinctipy +``` + +Alternatively clone the repo and install it locally: + +```shell +git clone https://github.com/alan-turing-institute/distinctipy.git +cd distinctipy +pip install . +``` + +### Optional Dependencies + +Starting in version 1.2.1 `distinctipy` no longer bundles `matplotlib`, `pandas` or dev dependencies in the default installation. If you wish to view +colours (e.g. with `distinctipy.color_swatch`) or examples you will need `matplotlib` and `pandas` installed. To do this, either install `distinctipy` +with the optional flag: +```bash +pip install distinctipy[optional] +``` + +Or install them separately: +```bash +pip install matplotlib pandas +``` + +For developers, to install the stack needed to run tests, generate docs etc. use the `[all]` flag: +```bash +pip install distinctipy[all] +``` + +## Usage and Examples + +*distinctipy* can: +* Generate N visually distinct colours: `distinctipy.get_colors(N)` +* Generate colours that are distinct from an existing list of colours: `distinctipy.get_colors(N, existing_colors)` +* Generate pastel colours: `distinctipy.get_colors(N, pastel_factor=0.7)` +* Select black or white as the best font colour for any background colour: `distinctipy.get_text_color(background_color)` +* Convert lists of colours into matplotlib colormaps: `distinctipy.get_colormap(colors)` +* Invert colours: `distinctipy.invert_colors(colors)` +* Nicely display generated colours: `distinctipy.color_swatch(colors)` +* Compare distinctipy colours to other common colormaps: `examples.compare_clusters()` and `examples.compare_colors()` +* Simulate how colours look for someone with colourblindness: `colorblind.simulate_colors(colors, colorblind_type='Deuteranomaly')` +* Attempt to generate colours as distinct as possible for someone with colourblindness `distinctipy.get_colors(N, existing_colors, colorblind_type="Deuteranomaly")` + +For example, to create and then display N = 36 visually distinct colours: + +```python +from distinctipy import distinctipy + +# number of colours to generate +N = 36 + +# generate N visually distinct colours +colors = distinctipy.get_colors(N) + +# display the colours +distinctipy.color_swatch(colors) +``` + +More detailed usage and example output can be found in the notebook **[examples.ipynb](https://github.com/alan-turing-institute/distinctipy/blob/main/examples.ipynb)** and **[examples gallery](https://github.com/alan-turing-institute/distinctipy/tree/main/examples)**. + +## References + +*distinctipy* was heavily influenced and inspired by several web sources and +stack overflow answers. In particular: +* **Random generation of distinct colours:** [Andrew Dewes on GitHub](https://gist.github.com/adewes/5884820) +* **Colour distance metric:** [Thiadmer Riemersma at CompuPhase](https://www.compuphase.com/cmetric.htm) +* **Best text colour for background:** [Mark Ransom on Stack Overflow](https://stackoverflow.com/a/3943023) +* **Colourblindness Filters:** [Matthew Wickline and the Human-Computer Interaction Resource Network](http://web.archive.org/web/20090318054431/http://www.nofunc.com/Color_Blindness_Library) (web archive) + +## Citing distinctipy + +If you would like to cite distinctipy, please refer to the upload of the package on Zenodo: https://doi.org/10.5281/zenodo.3985191 + + + + +%package help +Summary: Development documents and examples for distinctipy +Provides: python3-distinctipy-doc +%description help + + + + + +[](https://codecov.io/gh/alan-turing-institute/distinctipy) +[](https://zenodo.org/badge/latestdoi/188444660) +[](https://distinctipy.readthedocs.io/en/latest/?badge=latest) + +*distinctipy* is a lightweight python package providing functions to generate +colours that are visually distinct from one another. + +Commonly available qualitative colormaps provided by the likes of matplotlib +generally have no more than 20 colours, but for some applications it is useful +to have many more colours that are clearly different from one another. +*distinctipy* can generate lists of colours of any length, with each new colour +added to the list being as visually distinct from the pre-existing colours in + the list as possible. + +## Installation + +*distinctipy* is designed for Python 3 and can be installed with pip by running: + +```shell +pip install distinctipy +``` + +Alternatively clone the repo and install it locally: + +```shell +git clone https://github.com/alan-turing-institute/distinctipy.git +cd distinctipy +pip install . +``` + +### Optional Dependencies + +Starting in version 1.2.1 `distinctipy` no longer bundles `matplotlib`, `pandas` or dev dependencies in the default installation. If you wish to view +colours (e.g. with `distinctipy.color_swatch`) or examples you will need `matplotlib` and `pandas` installed. To do this, either install `distinctipy` +with the optional flag: +```bash +pip install distinctipy[optional] +``` + +Or install them separately: +```bash +pip install matplotlib pandas +``` + +For developers, to install the stack needed to run tests, generate docs etc. use the `[all]` flag: +```bash +pip install distinctipy[all] +``` + +## Usage and Examples + +*distinctipy* can: +* Generate N visually distinct colours: `distinctipy.get_colors(N)` +* Generate colours that are distinct from an existing list of colours: `distinctipy.get_colors(N, existing_colors)` +* Generate pastel colours: `distinctipy.get_colors(N, pastel_factor=0.7)` +* Select black or white as the best font colour for any background colour: `distinctipy.get_text_color(background_color)` +* Convert lists of colours into matplotlib colormaps: `distinctipy.get_colormap(colors)` +* Invert colours: `distinctipy.invert_colors(colors)` +* Nicely display generated colours: `distinctipy.color_swatch(colors)` +* Compare distinctipy colours to other common colormaps: `examples.compare_clusters()` and `examples.compare_colors()` +* Simulate how colours look for someone with colourblindness: `colorblind.simulate_colors(colors, colorblind_type='Deuteranomaly')` +* Attempt to generate colours as distinct as possible for someone with colourblindness `distinctipy.get_colors(N, existing_colors, colorblind_type="Deuteranomaly")` + +For example, to create and then display N = 36 visually distinct colours: + +```python +from distinctipy import distinctipy + +# number of colours to generate +N = 36 + +# generate N visually distinct colours +colors = distinctipy.get_colors(N) + +# display the colours +distinctipy.color_swatch(colors) +``` + +More detailed usage and example output can be found in the notebook **[examples.ipynb](https://github.com/alan-turing-institute/distinctipy/blob/main/examples.ipynb)** and **[examples gallery](https://github.com/alan-turing-institute/distinctipy/tree/main/examples)**. + +## References + +*distinctipy* was heavily influenced and inspired by several web sources and +stack overflow answers. In particular: +* **Random generation of distinct colours:** [Andrew Dewes on GitHub](https://gist.github.com/adewes/5884820) +* **Colour distance metric:** [Thiadmer Riemersma at CompuPhase](https://www.compuphase.com/cmetric.htm) +* **Best text colour for background:** [Mark Ransom on Stack Overflow](https://stackoverflow.com/a/3943023) +* **Colourblindness Filters:** [Matthew Wickline and the Human-Computer Interaction Resource Network](http://web.archive.org/web/20090318054431/http://www.nofunc.com/Color_Blindness_Library) (web archive) + +## Citing distinctipy + +If you would like to cite distinctipy, please refer to the upload of the package on Zenodo: https://doi.org/10.5281/zenodo.3985191 + + + + +%prep +%autosetup -n distinctipy-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-distinctipy -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 1.2.2-1 +- Package Spec generated |