summaryrefslogtreecommitdiff
path: root/python-livelossplot.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-10 21:36:11 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-10 21:36:11 +0000
commit782d2092db1b19efd5732e510b2358d2f37229ee (patch)
treef4bd464f22bb16d0fc49a59437229051efd59f4d /python-livelossplot.spec
parent664a3e58fa6f10ea54c90d0276216e9d89721833 (diff)
automatic import of python-livelossplot
Diffstat (limited to 'python-livelossplot.spec')
-rw-r--r--python-livelossplot.spec454
1 files changed, 454 insertions, 0 deletions
diff --git a/python-livelossplot.spec b/python-livelossplot.spec
new file mode 100644
index 0000000..e78c57b
--- /dev/null
+++ b/python-livelossplot.spec
@@ -0,0 +1,454 @@
+%global _empty_manifest_terminate_build 0
+Name: python-livelossplot
+Version: 0.5.5
+Release: 1
+Summary: Live training loss plot in Jupyter Notebook for Keras, PyTorch and others.
+License: MIT
+URL: https://github.com/stared/livelossplot
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/13/e9/7a1bdea97b97a321844f38d707fe3e786d598215e6dc06e5a024f8494fe0/livelossplot-0.5.5.tar.gz
+BuildArch: noarch
+
+Requires: python3-matplotlib
+Requires: python3-bokeh
+Requires: python3-ipython
+Requires: python3-numpy
+
+%description
+# livelossplot
+
+[![livelossplot version - PyPI](https://img.shields.io/pypi/v/livelossplot)](https://pypi.org/project/livelossplot/)
+![PyPI status](https://img.shields.io/pypi/status/livelossplot.svg)
+![MIT license - PyPI](https://img.shields.io/pypi/l/livelossplot.svg)
+![Python version - PyPI](https://img.shields.io/pypi/pyversions/livelossplot.svg)
+[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/stared/livelossplot/Python%20package)](https://github.com/stared/livelossplot/actions)
+[![Downloads](http://pepy.tech/badge/livelossplot)](https://pepy.tech/project/livelossplot)
+[![Twitter @pmigdal](https://img.shields.io/twitter/follow/pmigdal)](https://twitter.com/pmigdal)
+
+Don't train deep learning models blindfolded! Be impatient and look at each epoch of your training!
+
+([RECENT CHANGES](CHANGELOG.md), [EXAMPLES IN COLAB](https://colab.research.google.com/github/stared/livelossplot), [API LOOKUP](http://p.migdal.pl/livelossplot/), [CODE](https://github.com/stared/livelossplot))
+
+A live training loss plot in [Jupyter Notebook](http://jupyter.org/) for [Keras](https://keras.io/), [PyTorch](http://pytorch.org/) and other frameworks. An open-source Python package by [Piotr Migdał](https://p.migdal.pl/), [Bartłomiej Olechno](https://github.com/Bartolo1024/) and [others](https://github.com/stared/livelossplot/graphs/contributors). **Open for collaboration!** (Some tasks are as simple as writing code docstrings, so - no excuses! :))
+
+```python
+from livelossplot import PlotLossesKeras
+
+model.fit(X_train, Y_train,
+ epochs=10,
+ validation_data=(X_test, Y_test),
+ callbacks=[PlotLossesKeras()],
+ verbose=0)
+```
+
+![Animated fig for livelossplot tracking log-loss and accuracy](https://raw.githubusercontent.com/stared/livelossplot/master/livelossplot.gif)
+
+- (The most FA)Q: Why not TensorBoard?
+- A: Jupyter Notebook compatibility (for exploration and teaching). The simplicity of use.
+
+## Installation
+
+To install [this version from PyPI](https://pypi.org/project/livelossplot/), type:
+
+```bash
+pip install livelossplot
+```
+
+To get the newest one from this repo (note that we are in the alpha stage, so there may be frequent updates), type:
+
+```bash
+pip install git+git://github.com/stared/livelossplot.git
+```
+
+## Examples
+
+Look at notebook files with full working [examples](https://github.com/stared/livelossplot/blob/master/examples/):
+
+- [keras.ipynb](https://github.com/stared/livelossplot/blob/master/examples/keras.ipynb) - a Keras callback
+- [minimal.ipynb](https://github.com/stared/livelossplot/blob/master/examples/minimal.ipynb) - a bare API, to use anywhere
+- [bokeh.ipynb](https://github.com/stared/livelossplot/blob/master/examples/bokeh.ipynb) - a bare API, plots with Bokeh ([open it in Colab to see the plots](https://colab.research.google.com/github/stared/livelossplot/blob/master/examples/bokeh.ipynb))
+- [pytorch.ipynb](https://github.com/stared/livelossplot/blob/master/examples/pytorch.ipynb) - a bare API, as applied to PyTorch
+- [2d_prediction_maps.ipynb](https://github.com/stared/livelossplot/blob/master/examples/2d_prediction_maps.ipynb) - example of custom plots - 2d prediction maps (0.4.1+)
+- [poutyne.ipynb](https://github.com/stared/livelossplot/blob/master/examples/poutyne.ipynb) - a Poutyne callback ([Poutyne](https://poutyne.org/) is a Keras-like framework for PyTorch)
+- [torchbearer.ipynb](https://github.com/stared/livelossplot/blob/master/examples/torchbearer.ipynb) - an example using the built in functionality from torchbearer ([torchbearer](https://github.com/ecs-vlc/torchbearer) is a model fitting library for PyTorch)
+- [neptune.py](https://github.com/stared/livelossplot/blob/master/examples/neptune.py) and [neptune.ipynb](https://github.com/stared/livelossplot/blob/master/examples/neptune.ipynb) - a [Neptune.AI](https://neptune.ai/)
+- [matplotlib.ipynb](https://github.com/stared/livelossplot/blob/master/examples/matplotlib.ipynb) - a Matplotlib output example
+- [various_options.ipynb](https://github.com/stared/livelossplot/blob/master/examples/various_options.ipynb) - an extended API for metrics grouping and custom outputs
+
+You [run examples in Colab](https://colab.research.google.com/github/stared/livelossplot).
+
+## Overview
+
+Text logs are easy, but it's easy to miss the most crucial information: is it learning, doing nothing or overfitting?
+Visual feedback allows us to keep track of the training process. Now there is one for Jupyter.
+
+If you want to get serious - use [TensorBoard](https://www.tensorflow.org/programmers_guide/summaries_and_tensorboard), .
+But what if you just want to train a small model in Jupyter Notebook? Here is a way to do so, using `livelossplot` as a plug&play component
+
+### from livelossplot import ...
+
+`PlotLosses` for a generic API.
+
+```{python}
+plotlosses = PlotLosses()
+plotlosses.update({'acc': 0.7, 'val_acc': 0.4, 'loss': 0.9, 'val_loss': 1.1})
+plot.send() # draw, update logs, etc
+```
+
+There are callbacks for common libraries and frameworks: `PlotLossesKeras`, `PlotLossesKerasTF`, `PlotLossesPoutyne`, `PlotLossesIgnite`.
+
+Feel invited to write, and contribute, your adapter.
+If you want to use a bare logger, there is `MainLogger`.
+
+### from livelossplot.outputs import ...
+
+Plots: `MatplotlibPlot`, `BokehPlot`.
+
+Loggers: `ExtremaPrinter` (to standard output), `TensorboardLogger`, `TensorboardTFLogger`, `NeptuneLogger`.
+
+To use them, initialize PlotLosses with some outputs:
+
+```{python}
+plotlosses = PlotLosses(outputs=[MatplotlibPlot(), TensorboardLogger()])
+```
+
+There are custom `matplotlib` plots in `livelossplot.outputs.matplotlib_subplots` you can pass in `MatplotlibPlot` arguments.
+
+If you like to plot with [Bokeh](https://docs.bokeh.org/en/latest/) instead of [matplotlib](https://matplotlib.org/), use
+
+```{python}
+plotlosses = PlotLosses(outputs=[BokehPlot()])
+```
+
+## Sponsors
+
+This project supported by [Jacek Migdał](http://jacek.migdal.pl/), [Marek Cichy](https://medium.com/@marekkcichy/), [Casper da Costa-Luis](https://cdcl.ml/), and [Piotr Zientara](https://twitter.com/piotr_zientara). [Join the sponsors - show your ❤️ and support, and appear on the list](https://github.com/sponsors/stared)! It will give me time and energy to work on this project.
+
+This project is also supported by a European program *Program Operacyjny Inteligentny Rozwój* for [GearShift - building the engine of behavior of wheeled motor vehicles and map’s generation based on artificial intelligence algorithms implemented on the Unreal Engine platform](https://mapadotacji.gov.pl/projekty/874596/?lang=en) lead by ECC Games (NCBR grant GameINN).
+
+## Trivia
+
+It started as [this gist](https://gist.github.com/stared/dfb4dfaf6d9a8501cd1cc8b8cb806d2e). Since it went popular, I decided to rewrite it as a package.
+
+Oh, and I am in general interested in data vis, see [Simple diagrams of convoluted neural networks](https://medium.com/inbrowserai/simple-diagrams-of-convoluted-neural-networks-39c097d2925b) (and overview of deep learning architecture diagrams):
+
+> A good diagram is worth a thousand equations — let’s create more of these!
+
+...or [my other data vis projects](https://p.migdal.pl/projects/).
+
+## Todo
+
+If you want more functionality - open an [Issue](https://github.com/stared/livelossplot/issues) or even better - prepare a [Pull Request](https://github.com/stared/livelossplot/pulls).
+
+
+
+
+%package -n python3-livelossplot
+Summary: Live training loss plot in Jupyter Notebook for Keras, PyTorch and others.
+Provides: python-livelossplot
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-livelossplot
+# livelossplot
+
+[![livelossplot version - PyPI](https://img.shields.io/pypi/v/livelossplot)](https://pypi.org/project/livelossplot/)
+![PyPI status](https://img.shields.io/pypi/status/livelossplot.svg)
+![MIT license - PyPI](https://img.shields.io/pypi/l/livelossplot.svg)
+![Python version - PyPI](https://img.shields.io/pypi/pyversions/livelossplot.svg)
+[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/stared/livelossplot/Python%20package)](https://github.com/stared/livelossplot/actions)
+[![Downloads](http://pepy.tech/badge/livelossplot)](https://pepy.tech/project/livelossplot)
+[![Twitter @pmigdal](https://img.shields.io/twitter/follow/pmigdal)](https://twitter.com/pmigdal)
+
+Don't train deep learning models blindfolded! Be impatient and look at each epoch of your training!
+
+([RECENT CHANGES](CHANGELOG.md), [EXAMPLES IN COLAB](https://colab.research.google.com/github/stared/livelossplot), [API LOOKUP](http://p.migdal.pl/livelossplot/), [CODE](https://github.com/stared/livelossplot))
+
+A live training loss plot in [Jupyter Notebook](http://jupyter.org/) for [Keras](https://keras.io/), [PyTorch](http://pytorch.org/) and other frameworks. An open-source Python package by [Piotr Migdał](https://p.migdal.pl/), [Bartłomiej Olechno](https://github.com/Bartolo1024/) and [others](https://github.com/stared/livelossplot/graphs/contributors). **Open for collaboration!** (Some tasks are as simple as writing code docstrings, so - no excuses! :))
+
+```python
+from livelossplot import PlotLossesKeras
+
+model.fit(X_train, Y_train,
+ epochs=10,
+ validation_data=(X_test, Y_test),
+ callbacks=[PlotLossesKeras()],
+ verbose=0)
+```
+
+![Animated fig for livelossplot tracking log-loss and accuracy](https://raw.githubusercontent.com/stared/livelossplot/master/livelossplot.gif)
+
+- (The most FA)Q: Why not TensorBoard?
+- A: Jupyter Notebook compatibility (for exploration and teaching). The simplicity of use.
+
+## Installation
+
+To install [this version from PyPI](https://pypi.org/project/livelossplot/), type:
+
+```bash
+pip install livelossplot
+```
+
+To get the newest one from this repo (note that we are in the alpha stage, so there may be frequent updates), type:
+
+```bash
+pip install git+git://github.com/stared/livelossplot.git
+```
+
+## Examples
+
+Look at notebook files with full working [examples](https://github.com/stared/livelossplot/blob/master/examples/):
+
+- [keras.ipynb](https://github.com/stared/livelossplot/blob/master/examples/keras.ipynb) - a Keras callback
+- [minimal.ipynb](https://github.com/stared/livelossplot/blob/master/examples/minimal.ipynb) - a bare API, to use anywhere
+- [bokeh.ipynb](https://github.com/stared/livelossplot/blob/master/examples/bokeh.ipynb) - a bare API, plots with Bokeh ([open it in Colab to see the plots](https://colab.research.google.com/github/stared/livelossplot/blob/master/examples/bokeh.ipynb))
+- [pytorch.ipynb](https://github.com/stared/livelossplot/blob/master/examples/pytorch.ipynb) - a bare API, as applied to PyTorch
+- [2d_prediction_maps.ipynb](https://github.com/stared/livelossplot/blob/master/examples/2d_prediction_maps.ipynb) - example of custom plots - 2d prediction maps (0.4.1+)
+- [poutyne.ipynb](https://github.com/stared/livelossplot/blob/master/examples/poutyne.ipynb) - a Poutyne callback ([Poutyne](https://poutyne.org/) is a Keras-like framework for PyTorch)
+- [torchbearer.ipynb](https://github.com/stared/livelossplot/blob/master/examples/torchbearer.ipynb) - an example using the built in functionality from torchbearer ([torchbearer](https://github.com/ecs-vlc/torchbearer) is a model fitting library for PyTorch)
+- [neptune.py](https://github.com/stared/livelossplot/blob/master/examples/neptune.py) and [neptune.ipynb](https://github.com/stared/livelossplot/blob/master/examples/neptune.ipynb) - a [Neptune.AI](https://neptune.ai/)
+- [matplotlib.ipynb](https://github.com/stared/livelossplot/blob/master/examples/matplotlib.ipynb) - a Matplotlib output example
+- [various_options.ipynb](https://github.com/stared/livelossplot/blob/master/examples/various_options.ipynb) - an extended API for metrics grouping and custom outputs
+
+You [run examples in Colab](https://colab.research.google.com/github/stared/livelossplot).
+
+## Overview
+
+Text logs are easy, but it's easy to miss the most crucial information: is it learning, doing nothing or overfitting?
+Visual feedback allows us to keep track of the training process. Now there is one for Jupyter.
+
+If you want to get serious - use [TensorBoard](https://www.tensorflow.org/programmers_guide/summaries_and_tensorboard), .
+But what if you just want to train a small model in Jupyter Notebook? Here is a way to do so, using `livelossplot` as a plug&play component
+
+### from livelossplot import ...
+
+`PlotLosses` for a generic API.
+
+```{python}
+plotlosses = PlotLosses()
+plotlosses.update({'acc': 0.7, 'val_acc': 0.4, 'loss': 0.9, 'val_loss': 1.1})
+plot.send() # draw, update logs, etc
+```
+
+There are callbacks for common libraries and frameworks: `PlotLossesKeras`, `PlotLossesKerasTF`, `PlotLossesPoutyne`, `PlotLossesIgnite`.
+
+Feel invited to write, and contribute, your adapter.
+If you want to use a bare logger, there is `MainLogger`.
+
+### from livelossplot.outputs import ...
+
+Plots: `MatplotlibPlot`, `BokehPlot`.
+
+Loggers: `ExtremaPrinter` (to standard output), `TensorboardLogger`, `TensorboardTFLogger`, `NeptuneLogger`.
+
+To use them, initialize PlotLosses with some outputs:
+
+```{python}
+plotlosses = PlotLosses(outputs=[MatplotlibPlot(), TensorboardLogger()])
+```
+
+There are custom `matplotlib` plots in `livelossplot.outputs.matplotlib_subplots` you can pass in `MatplotlibPlot` arguments.
+
+If you like to plot with [Bokeh](https://docs.bokeh.org/en/latest/) instead of [matplotlib](https://matplotlib.org/), use
+
+```{python}
+plotlosses = PlotLosses(outputs=[BokehPlot()])
+```
+
+## Sponsors
+
+This project supported by [Jacek Migdał](http://jacek.migdal.pl/), [Marek Cichy](https://medium.com/@marekkcichy/), [Casper da Costa-Luis](https://cdcl.ml/), and [Piotr Zientara](https://twitter.com/piotr_zientara). [Join the sponsors - show your ❤️ and support, and appear on the list](https://github.com/sponsors/stared)! It will give me time and energy to work on this project.
+
+This project is also supported by a European program *Program Operacyjny Inteligentny Rozwój* for [GearShift - building the engine of behavior of wheeled motor vehicles and map’s generation based on artificial intelligence algorithms implemented on the Unreal Engine platform](https://mapadotacji.gov.pl/projekty/874596/?lang=en) lead by ECC Games (NCBR grant GameINN).
+
+## Trivia
+
+It started as [this gist](https://gist.github.com/stared/dfb4dfaf6d9a8501cd1cc8b8cb806d2e). Since it went popular, I decided to rewrite it as a package.
+
+Oh, and I am in general interested in data vis, see [Simple diagrams of convoluted neural networks](https://medium.com/inbrowserai/simple-diagrams-of-convoluted-neural-networks-39c097d2925b) (and overview of deep learning architecture diagrams):
+
+> A good diagram is worth a thousand equations — let’s create more of these!
+
+...or [my other data vis projects](https://p.migdal.pl/projects/).
+
+## Todo
+
+If you want more functionality - open an [Issue](https://github.com/stared/livelossplot/issues) or even better - prepare a [Pull Request](https://github.com/stared/livelossplot/pulls).
+
+
+
+
+%package help
+Summary: Development documents and examples for livelossplot
+Provides: python3-livelossplot-doc
+%description help
+# livelossplot
+
+[![livelossplot version - PyPI](https://img.shields.io/pypi/v/livelossplot)](https://pypi.org/project/livelossplot/)
+![PyPI status](https://img.shields.io/pypi/status/livelossplot.svg)
+![MIT license - PyPI](https://img.shields.io/pypi/l/livelossplot.svg)
+![Python version - PyPI](https://img.shields.io/pypi/pyversions/livelossplot.svg)
+[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/stared/livelossplot/Python%20package)](https://github.com/stared/livelossplot/actions)
+[![Downloads](http://pepy.tech/badge/livelossplot)](https://pepy.tech/project/livelossplot)
+[![Twitter @pmigdal](https://img.shields.io/twitter/follow/pmigdal)](https://twitter.com/pmigdal)
+
+Don't train deep learning models blindfolded! Be impatient and look at each epoch of your training!
+
+([RECENT CHANGES](CHANGELOG.md), [EXAMPLES IN COLAB](https://colab.research.google.com/github/stared/livelossplot), [API LOOKUP](http://p.migdal.pl/livelossplot/), [CODE](https://github.com/stared/livelossplot))
+
+A live training loss plot in [Jupyter Notebook](http://jupyter.org/) for [Keras](https://keras.io/), [PyTorch](http://pytorch.org/) and other frameworks. An open-source Python package by [Piotr Migdał](https://p.migdal.pl/), [Bartłomiej Olechno](https://github.com/Bartolo1024/) and [others](https://github.com/stared/livelossplot/graphs/contributors). **Open for collaboration!** (Some tasks are as simple as writing code docstrings, so - no excuses! :))
+
+```python
+from livelossplot import PlotLossesKeras
+
+model.fit(X_train, Y_train,
+ epochs=10,
+ validation_data=(X_test, Y_test),
+ callbacks=[PlotLossesKeras()],
+ verbose=0)
+```
+
+![Animated fig for livelossplot tracking log-loss and accuracy](https://raw.githubusercontent.com/stared/livelossplot/master/livelossplot.gif)
+
+- (The most FA)Q: Why not TensorBoard?
+- A: Jupyter Notebook compatibility (for exploration and teaching). The simplicity of use.
+
+## Installation
+
+To install [this version from PyPI](https://pypi.org/project/livelossplot/), type:
+
+```bash
+pip install livelossplot
+```
+
+To get the newest one from this repo (note that we are in the alpha stage, so there may be frequent updates), type:
+
+```bash
+pip install git+git://github.com/stared/livelossplot.git
+```
+
+## Examples
+
+Look at notebook files with full working [examples](https://github.com/stared/livelossplot/blob/master/examples/):
+
+- [keras.ipynb](https://github.com/stared/livelossplot/blob/master/examples/keras.ipynb) - a Keras callback
+- [minimal.ipynb](https://github.com/stared/livelossplot/blob/master/examples/minimal.ipynb) - a bare API, to use anywhere
+- [bokeh.ipynb](https://github.com/stared/livelossplot/blob/master/examples/bokeh.ipynb) - a bare API, plots with Bokeh ([open it in Colab to see the plots](https://colab.research.google.com/github/stared/livelossplot/blob/master/examples/bokeh.ipynb))
+- [pytorch.ipynb](https://github.com/stared/livelossplot/blob/master/examples/pytorch.ipynb) - a bare API, as applied to PyTorch
+- [2d_prediction_maps.ipynb](https://github.com/stared/livelossplot/blob/master/examples/2d_prediction_maps.ipynb) - example of custom plots - 2d prediction maps (0.4.1+)
+- [poutyne.ipynb](https://github.com/stared/livelossplot/blob/master/examples/poutyne.ipynb) - a Poutyne callback ([Poutyne](https://poutyne.org/) is a Keras-like framework for PyTorch)
+- [torchbearer.ipynb](https://github.com/stared/livelossplot/blob/master/examples/torchbearer.ipynb) - an example using the built in functionality from torchbearer ([torchbearer](https://github.com/ecs-vlc/torchbearer) is a model fitting library for PyTorch)
+- [neptune.py](https://github.com/stared/livelossplot/blob/master/examples/neptune.py) and [neptune.ipynb](https://github.com/stared/livelossplot/blob/master/examples/neptune.ipynb) - a [Neptune.AI](https://neptune.ai/)
+- [matplotlib.ipynb](https://github.com/stared/livelossplot/blob/master/examples/matplotlib.ipynb) - a Matplotlib output example
+- [various_options.ipynb](https://github.com/stared/livelossplot/blob/master/examples/various_options.ipynb) - an extended API for metrics grouping and custom outputs
+
+You [run examples in Colab](https://colab.research.google.com/github/stared/livelossplot).
+
+## Overview
+
+Text logs are easy, but it's easy to miss the most crucial information: is it learning, doing nothing or overfitting?
+Visual feedback allows us to keep track of the training process. Now there is one for Jupyter.
+
+If you want to get serious - use [TensorBoard](https://www.tensorflow.org/programmers_guide/summaries_and_tensorboard), .
+But what if you just want to train a small model in Jupyter Notebook? Here is a way to do so, using `livelossplot` as a plug&play component
+
+### from livelossplot import ...
+
+`PlotLosses` for a generic API.
+
+```{python}
+plotlosses = PlotLosses()
+plotlosses.update({'acc': 0.7, 'val_acc': 0.4, 'loss': 0.9, 'val_loss': 1.1})
+plot.send() # draw, update logs, etc
+```
+
+There are callbacks for common libraries and frameworks: `PlotLossesKeras`, `PlotLossesKerasTF`, `PlotLossesPoutyne`, `PlotLossesIgnite`.
+
+Feel invited to write, and contribute, your adapter.
+If you want to use a bare logger, there is `MainLogger`.
+
+### from livelossplot.outputs import ...
+
+Plots: `MatplotlibPlot`, `BokehPlot`.
+
+Loggers: `ExtremaPrinter` (to standard output), `TensorboardLogger`, `TensorboardTFLogger`, `NeptuneLogger`.
+
+To use them, initialize PlotLosses with some outputs:
+
+```{python}
+plotlosses = PlotLosses(outputs=[MatplotlibPlot(), TensorboardLogger()])
+```
+
+There are custom `matplotlib` plots in `livelossplot.outputs.matplotlib_subplots` you can pass in `MatplotlibPlot` arguments.
+
+If you like to plot with [Bokeh](https://docs.bokeh.org/en/latest/) instead of [matplotlib](https://matplotlib.org/), use
+
+```{python}
+plotlosses = PlotLosses(outputs=[BokehPlot()])
+```
+
+## Sponsors
+
+This project supported by [Jacek Migdał](http://jacek.migdal.pl/), [Marek Cichy](https://medium.com/@marekkcichy/), [Casper da Costa-Luis](https://cdcl.ml/), and [Piotr Zientara](https://twitter.com/piotr_zientara). [Join the sponsors - show your ❤️ and support, and appear on the list](https://github.com/sponsors/stared)! It will give me time and energy to work on this project.
+
+This project is also supported by a European program *Program Operacyjny Inteligentny Rozwój* for [GearShift - building the engine of behavior of wheeled motor vehicles and map’s generation based on artificial intelligence algorithms implemented on the Unreal Engine platform](https://mapadotacji.gov.pl/projekty/874596/?lang=en) lead by ECC Games (NCBR grant GameINN).
+
+## Trivia
+
+It started as [this gist](https://gist.github.com/stared/dfb4dfaf6d9a8501cd1cc8b8cb806d2e). Since it went popular, I decided to rewrite it as a package.
+
+Oh, and I am in general interested in data vis, see [Simple diagrams of convoluted neural networks](https://medium.com/inbrowserai/simple-diagrams-of-convoluted-neural-networks-39c097d2925b) (and overview of deep learning architecture diagrams):
+
+> A good diagram is worth a thousand equations — let’s create more of these!
+
+...or [my other data vis projects](https://p.migdal.pl/projects/).
+
+## Todo
+
+If you want more functionality - open an [Issue](https://github.com/stared/livelossplot/issues) or even better - prepare a [Pull Request](https://github.com/stared/livelossplot/pulls).
+
+
+
+
+%prep
+%autosetup -n livelossplot-0.5.5
+
+%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-livelossplot -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.5.5-1
+- Package Spec generated