summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-distinctipy.spec393
-rw-r--r--sources1
3 files changed, 395 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..b794482 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/distinctipy-1.2.2.tar.gz
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
+![distinctipy logo](https://raw.githubusercontent.com/alan-turing-institute/distinctipy/main/distinctipy_logo.png)
+
+
+![tests](https://github.com/alan-turing-institute/distinctipy/workflows/Tests/badge.svg)
+![build](https://github.com/alan-turing-institute/distinctipy/workflows/Build/badge.svg)
+[![codecov](https://codecov.io/gh/alan-turing-institute/distinctipy/branch/main/graph/badge.svg)](https://codecov.io/gh/alan-turing-institute/distinctipy)
+[![DOI](https://zenodo.org/badge/188444660.svg)](https://zenodo.org/badge/latestdoi/188444660)
+[![Documentation Status](https://readthedocs.org/projects/distinctipy/badge/?version=latest)](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
+![distinctipy logo](https://raw.githubusercontent.com/alan-turing-institute/distinctipy/main/distinctipy_logo.png)
+
+
+![tests](https://github.com/alan-turing-institute/distinctipy/workflows/Tests/badge.svg)
+![build](https://github.com/alan-turing-institute/distinctipy/workflows/Build/badge.svg)
+[![codecov](https://codecov.io/gh/alan-turing-institute/distinctipy/branch/main/graph/badge.svg)](https://codecov.io/gh/alan-turing-institute/distinctipy)
+[![DOI](https://zenodo.org/badge/188444660.svg)](https://zenodo.org/badge/latestdoi/188444660)
+[![Documentation Status](https://readthedocs.org/projects/distinctipy/badge/?version=latest)](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
+![distinctipy logo](https://raw.githubusercontent.com/alan-turing-institute/distinctipy/main/distinctipy_logo.png)
+
+
+![tests](https://github.com/alan-turing-institute/distinctipy/workflows/Tests/badge.svg)
+![build](https://github.com/alan-turing-institute/distinctipy/workflows/Build/badge.svg)
+[![codecov](https://codecov.io/gh/alan-turing-institute/distinctipy/branch/main/graph/badge.svg)](https://codecov.io/gh/alan-turing-institute/distinctipy)
+[![DOI](https://zenodo.org/badge/188444660.svg)](https://zenodo.org/badge/latestdoi/188444660)
+[![Documentation Status](https://readthedocs.org/projects/distinctipy/badge/?version=latest)](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
diff --git a/sources b/sources
new file mode 100644
index 0000000..2c5bb57
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+c7069a14f4c4c79357fee9ee5fe3ce10 distinctipy-1.2.2.tar.gz