From 4697d12d4c9127a6f9aa890142b7c15831fec8d6 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Tue, 20 Jun 2023 09:53:59 +0000 Subject: automatic import of python-df2img --- .gitignore | 1 + python-df2img.spec | 600 +++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 602 insertions(+) create mode 100644 python-df2img.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..78d4e8d 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/df2img-0.2.11.tar.gz diff --git a/python-df2img.spec b/python-df2img.spec new file mode 100644 index 0000000..fc62d64 --- /dev/null +++ b/python-df2img.spec @@ -0,0 +1,600 @@ +%global _empty_manifest_terminate_build 0 +Name: python-df2img +Version: 0.2.11 +Release: 1 +Summary: Save a Pandas DataFrame as image +License: MIT +URL: https://df2img.dev +Source0: https://mirrors.aliyun.com/pypi/web/packages/60/b9/0526a8ebe08fe11824806ee5c37ff8480fec791cfd34278ea2981273f9b7/df2img-0.2.11.tar.gz +BuildArch: noarch + +Requires: python3-kaleido +Requires: python3-pandas +Requires: python3-plotly + +%description +# df2img: Save a Pandas DataFrame as image + +![img](https://img.shields.io/pypi/v/df2img) +![img](https://img.shields.io/pypi/pyversions/df2img) +![img](https://img.shields.io/github/license/andreas-vester/df2img) +![img](https://img.shields.io/github/issues/andreas-vester/df2img) +![img](https://img.shields.io/github/stars/andreas-vester/df2img) + +## What is it all about? + +Have you ever tried to save a ``pd.DataFrame`` into an image file? This is not a straightforward process at all. Unfortunately, ``pandas`` itself doesn't provide this functionality out of the box. + +**df2img** tries to fill the gap. It is a Python library that greatly simplifies the process of saving a ``pd.DataFrame`` into an image file (e.g. ``png`` or ``jpg``). + +It is a wrapper/convenience function in order to create a ``plotly`` Table. That is, one can use ``plotly``'s styling function to format the table. + + +## Dependencies + +**df2img** has a limited number of dependencies, namely + +- ``pandas`` +- ``plotly`` +- ``kaleido`` + + +## Documentation + +An extensive documentation is available at https://df2img.dev. + + +## Quickstart + +You can install the package via ``pip``. + +```bash +pip install df2img +``` + +Using ``poetry``? + +```bash +poetry add df2img +``` + +Let's create a simple ``pd.DataFrame`` with some dummy data: + +```python +import pandas as pd + +import df2img + +df = pd.DataFrame( + data=dict( + float_col=[1.4, float("NaN"), 250, 24.65], + str_col=("string1", "string2", float("NaN"), "string4"), + ), + index=["row1", "row2", "row3", "row4"], +) +``` +```python + float_col str_col +row1 1.40 string1 +row2 NaN string2 +row3 250.00 NaN +row4 24.65 string4 +``` + +### Basics + +Saving ``df`` into a png-file now takes just two lines of code including some styling out of the box. + +* First, we create a ``plotly`` figure. +* Second, we save the figure to disk. + +```python +fig = df2img.plot_dataframe(df, fig_size=(500, 140)) + +df2img.save_dataframe(fig=fig, filename="plot1.png") +``` + +![img](https://github.com/andreas-vester/df2img/blob/main/docs/img/plot1.png?raw=true) + + +### Formatting + +You can control the settings for the header row via the ``tbl_header`` input argument. This accepts a regular ``dict``. This ``dict`` can comprise various key/value pairs that are also accepted by ``plotly``. All available key/value pairs can be seen at ``plotly``'s website at https://plotly.com/python/reference/table/#table-header. + +Let's set the header row in a different color and size. Also, let's set the alignment to "left". + +```python +fig = df2img.plot_dataframe( + df, + tbl_header=dict( + align="left", + fill_color="blue", + font_color="white", + font_size=14, + ), + fig_size=(500, 140), +) +``` +![img](https://github.com/andreas-vester/df2img/blob/main/docs/img/plot2.png?raw=true) + + +Controlling the table body (cells) is basically the same. Just use the ``tbl_cells`` input argument, which happens to be a ``dict``, too. +See https://plotly.com/python/reference/table/#table-cells for all the possible key/value pairs. + +Let's print the table cell values in yellow on a green background and align them "right". + +```python +fig = df2img.plot_dataframe( + df, + tbl_cells=dict( + align="right", + fill_color="green", + font_color="yellow", + ), + fig_size=(500, 140), +) +``` + +![img](https://github.com/andreas-vester/df2img/blob/main/docs/img/plot3.png?raw=true) + + +You can alternate row colors for better readability by using the ``row_fill_color`` input argument. Using HEX colors is also possible: + +```python +fig = df2img.plot_dataframe( + df, + row_fill_color=("#ffffff", "#d7d8d6"), + fig_size=(500, 140), +) +``` + +![img](https://github.com/andreas-vester/df2img/blob/main/docs/img/plot4.png?raw=true) + + +Setting the title will be controlled via the ``title`` input argument. You can find the relevant key/value pairs here: https://plotly.com/python/reference/layout/#layout-title. + +Let's put the title in a different font and size. In addition, we can control the alignment via the ``x`` key/value pair. It sets the x (horizontal) position in normalized coordinates from "0" (left) to "1" (right). + +```python + fig = df2img.plot_dataframe( + df, + title=dict( + font_color="darkred", + font_family="Times New Roman", + font_size=24, + text="This is a title starting at the x-value x=0.1", + x=0.1, + xanchor="left", + ), + fig_size=(500, 140), + ) + ``` + +![img](https://github.com/andreas-vester/df2img/blob/main/docs/img/plot5.png?raw=true) + + +You can also control relative column width via the ``col_width`` argument. Let's set the first column's width triple the width of the third column and the second column's width double the width of the third column. + +```python +fig = df2img.plot_dataframe( + df, + col_width=[3, 2, 1], + fig_size=(500, 140), +) +``` + +![img](https://github.com/andreas-vester/df2img/blob/main/docs/img/plot6.png?raw=true) + +## Contributing to df2img + +If you consider to contribute to **df2img**, please read the [Contributing to df2img](./CONTRIBUTING.md) section in the documentation. This document is supposed to guide you through the whole process. + + +%package -n python3-df2img +Summary: Save a Pandas DataFrame as image +Provides: python-df2img +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-df2img +# df2img: Save a Pandas DataFrame as image + +![img](https://img.shields.io/pypi/v/df2img) +![img](https://img.shields.io/pypi/pyversions/df2img) +![img](https://img.shields.io/github/license/andreas-vester/df2img) +![img](https://img.shields.io/github/issues/andreas-vester/df2img) +![img](https://img.shields.io/github/stars/andreas-vester/df2img) + +## What is it all about? + +Have you ever tried to save a ``pd.DataFrame`` into an image file? This is not a straightforward process at all. Unfortunately, ``pandas`` itself doesn't provide this functionality out of the box. + +**df2img** tries to fill the gap. It is a Python library that greatly simplifies the process of saving a ``pd.DataFrame`` into an image file (e.g. ``png`` or ``jpg``). + +It is a wrapper/convenience function in order to create a ``plotly`` Table. That is, one can use ``plotly``'s styling function to format the table. + + +## Dependencies + +**df2img** has a limited number of dependencies, namely + +- ``pandas`` +- ``plotly`` +- ``kaleido`` + + +## Documentation + +An extensive documentation is available at https://df2img.dev. + + +## Quickstart + +You can install the package via ``pip``. + +```bash +pip install df2img +``` + +Using ``poetry``? + +```bash +poetry add df2img +``` + +Let's create a simple ``pd.DataFrame`` with some dummy data: + +```python +import pandas as pd + +import df2img + +df = pd.DataFrame( + data=dict( + float_col=[1.4, float("NaN"), 250, 24.65], + str_col=("string1", "string2", float("NaN"), "string4"), + ), + index=["row1", "row2", "row3", "row4"], +) +``` +```python + float_col str_col +row1 1.40 string1 +row2 NaN string2 +row3 250.00 NaN +row4 24.65 string4 +``` + +### Basics + +Saving ``df`` into a png-file now takes just two lines of code including some styling out of the box. + +* First, we create a ``plotly`` figure. +* Second, we save the figure to disk. + +```python +fig = df2img.plot_dataframe(df, fig_size=(500, 140)) + +df2img.save_dataframe(fig=fig, filename="plot1.png") +``` + +![img](https://github.com/andreas-vester/df2img/blob/main/docs/img/plot1.png?raw=true) + + +### Formatting + +You can control the settings for the header row via the ``tbl_header`` input argument. This accepts a regular ``dict``. This ``dict`` can comprise various key/value pairs that are also accepted by ``plotly``. All available key/value pairs can be seen at ``plotly``'s website at https://plotly.com/python/reference/table/#table-header. + +Let's set the header row in a different color and size. Also, let's set the alignment to "left". + +```python +fig = df2img.plot_dataframe( + df, + tbl_header=dict( + align="left", + fill_color="blue", + font_color="white", + font_size=14, + ), + fig_size=(500, 140), +) +``` +![img](https://github.com/andreas-vester/df2img/blob/main/docs/img/plot2.png?raw=true) + + +Controlling the table body (cells) is basically the same. Just use the ``tbl_cells`` input argument, which happens to be a ``dict``, too. +See https://plotly.com/python/reference/table/#table-cells for all the possible key/value pairs. + +Let's print the table cell values in yellow on a green background and align them "right". + +```python +fig = df2img.plot_dataframe( + df, + tbl_cells=dict( + align="right", + fill_color="green", + font_color="yellow", + ), + fig_size=(500, 140), +) +``` + +![img](https://github.com/andreas-vester/df2img/blob/main/docs/img/plot3.png?raw=true) + + +You can alternate row colors for better readability by using the ``row_fill_color`` input argument. Using HEX colors is also possible: + +```python +fig = df2img.plot_dataframe( + df, + row_fill_color=("#ffffff", "#d7d8d6"), + fig_size=(500, 140), +) +``` + +![img](https://github.com/andreas-vester/df2img/blob/main/docs/img/plot4.png?raw=true) + + +Setting the title will be controlled via the ``title`` input argument. You can find the relevant key/value pairs here: https://plotly.com/python/reference/layout/#layout-title. + +Let's put the title in a different font and size. In addition, we can control the alignment via the ``x`` key/value pair. It sets the x (horizontal) position in normalized coordinates from "0" (left) to "1" (right). + +```python + fig = df2img.plot_dataframe( + df, + title=dict( + font_color="darkred", + font_family="Times New Roman", + font_size=24, + text="This is a title starting at the x-value x=0.1", + x=0.1, + xanchor="left", + ), + fig_size=(500, 140), + ) + ``` + +![img](https://github.com/andreas-vester/df2img/blob/main/docs/img/plot5.png?raw=true) + + +You can also control relative column width via the ``col_width`` argument. Let's set the first column's width triple the width of the third column and the second column's width double the width of the third column. + +```python +fig = df2img.plot_dataframe( + df, + col_width=[3, 2, 1], + fig_size=(500, 140), +) +``` + +![img](https://github.com/andreas-vester/df2img/blob/main/docs/img/plot6.png?raw=true) + +## Contributing to df2img + +If you consider to contribute to **df2img**, please read the [Contributing to df2img](./CONTRIBUTING.md) section in the documentation. This document is supposed to guide you through the whole process. + + +%package help +Summary: Development documents and examples for df2img +Provides: python3-df2img-doc +%description help +# df2img: Save a Pandas DataFrame as image + +![img](https://img.shields.io/pypi/v/df2img) +![img](https://img.shields.io/pypi/pyversions/df2img) +![img](https://img.shields.io/github/license/andreas-vester/df2img) +![img](https://img.shields.io/github/issues/andreas-vester/df2img) +![img](https://img.shields.io/github/stars/andreas-vester/df2img) + +## What is it all about? + +Have you ever tried to save a ``pd.DataFrame`` into an image file? This is not a straightforward process at all. Unfortunately, ``pandas`` itself doesn't provide this functionality out of the box. + +**df2img** tries to fill the gap. It is a Python library that greatly simplifies the process of saving a ``pd.DataFrame`` into an image file (e.g. ``png`` or ``jpg``). + +It is a wrapper/convenience function in order to create a ``plotly`` Table. That is, one can use ``plotly``'s styling function to format the table. + + +## Dependencies + +**df2img** has a limited number of dependencies, namely + +- ``pandas`` +- ``plotly`` +- ``kaleido`` + + +## Documentation + +An extensive documentation is available at https://df2img.dev. + + +## Quickstart + +You can install the package via ``pip``. + +```bash +pip install df2img +``` + +Using ``poetry``? + +```bash +poetry add df2img +``` + +Let's create a simple ``pd.DataFrame`` with some dummy data: + +```python +import pandas as pd + +import df2img + +df = pd.DataFrame( + data=dict( + float_col=[1.4, float("NaN"), 250, 24.65], + str_col=("string1", "string2", float("NaN"), "string4"), + ), + index=["row1", "row2", "row3", "row4"], +) +``` +```python + float_col str_col +row1 1.40 string1 +row2 NaN string2 +row3 250.00 NaN +row4 24.65 string4 +``` + +### Basics + +Saving ``df`` into a png-file now takes just two lines of code including some styling out of the box. + +* First, we create a ``plotly`` figure. +* Second, we save the figure to disk. + +```python +fig = df2img.plot_dataframe(df, fig_size=(500, 140)) + +df2img.save_dataframe(fig=fig, filename="plot1.png") +``` + +![img](https://github.com/andreas-vester/df2img/blob/main/docs/img/plot1.png?raw=true) + + +### Formatting + +You can control the settings for the header row via the ``tbl_header`` input argument. This accepts a regular ``dict``. This ``dict`` can comprise various key/value pairs that are also accepted by ``plotly``. All available key/value pairs can be seen at ``plotly``'s website at https://plotly.com/python/reference/table/#table-header. + +Let's set the header row in a different color and size. Also, let's set the alignment to "left". + +```python +fig = df2img.plot_dataframe( + df, + tbl_header=dict( + align="left", + fill_color="blue", + font_color="white", + font_size=14, + ), + fig_size=(500, 140), +) +``` +![img](https://github.com/andreas-vester/df2img/blob/main/docs/img/plot2.png?raw=true) + + +Controlling the table body (cells) is basically the same. Just use the ``tbl_cells`` input argument, which happens to be a ``dict``, too. +See https://plotly.com/python/reference/table/#table-cells for all the possible key/value pairs. + +Let's print the table cell values in yellow on a green background and align them "right". + +```python +fig = df2img.plot_dataframe( + df, + tbl_cells=dict( + align="right", + fill_color="green", + font_color="yellow", + ), + fig_size=(500, 140), +) +``` + +![img](https://github.com/andreas-vester/df2img/blob/main/docs/img/plot3.png?raw=true) + + +You can alternate row colors for better readability by using the ``row_fill_color`` input argument. Using HEX colors is also possible: + +```python +fig = df2img.plot_dataframe( + df, + row_fill_color=("#ffffff", "#d7d8d6"), + fig_size=(500, 140), +) +``` + +![img](https://github.com/andreas-vester/df2img/blob/main/docs/img/plot4.png?raw=true) + + +Setting the title will be controlled via the ``title`` input argument. You can find the relevant key/value pairs here: https://plotly.com/python/reference/layout/#layout-title. + +Let's put the title in a different font and size. In addition, we can control the alignment via the ``x`` key/value pair. It sets the x (horizontal) position in normalized coordinates from "0" (left) to "1" (right). + +```python + fig = df2img.plot_dataframe( + df, + title=dict( + font_color="darkred", + font_family="Times New Roman", + font_size=24, + text="This is a title starting at the x-value x=0.1", + x=0.1, + xanchor="left", + ), + fig_size=(500, 140), + ) + ``` + +![img](https://github.com/andreas-vester/df2img/blob/main/docs/img/plot5.png?raw=true) + + +You can also control relative column width via the ``col_width`` argument. Let's set the first column's width triple the width of the third column and the second column's width double the width of the third column. + +```python +fig = df2img.plot_dataframe( + df, + col_width=[3, 2, 1], + fig_size=(500, 140), +) +``` + +![img](https://github.com/andreas-vester/df2img/blob/main/docs/img/plot6.png?raw=true) + +## Contributing to df2img + +If you consider to contribute to **df2img**, please read the [Contributing to df2img](./CONTRIBUTING.md) section in the documentation. This document is supposed to guide you through the whole process. + + +%prep +%autosetup -n df2img-0.2.11 + +%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-df2img -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Jun 20 2023 Python_Bot - 0.2.11-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..9678dfc --- /dev/null +++ b/sources @@ -0,0 +1 @@ +c086568a3524d5874cbba4c80fd35ca1 df2img-0.2.11.tar.gz -- cgit v1.2.3