summaryrefslogtreecommitdiff
path: root/python-df2img.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-df2img.spec')
-rw-r--r--python-df2img.spec600
1 files changed, 600 insertions, 0 deletions
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 <Python_Bot@openeuler.org> - 0.2.11-1
+- Package Spec generated