diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-15 06:50:24 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-15 06:50:24 +0000 |
| commit | ee89d9f05767bb7ce6e4dd5a9e311ba80ce6d41c (patch) | |
| tree | 787af671384d320ee5aba2fa4937f80d0eb97072 | |
| parent | 252a2cbf3dd27f04b84d67dcc2033c85e7b7b522 (diff) | |
automatic import of python-datar
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-datar.spec | 524 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 526 insertions, 0 deletions
@@ -0,0 +1 @@ +/datar-0.12.1.tar.gz diff --git a/python-datar.spec b/python-datar.spec new file mode 100644 index 0000000..54713a5 --- /dev/null +++ b/python-datar.spec @@ -0,0 +1,524 @@ +%global _empty_manifest_terminate_build 0 +Name: python-datar +Version: 0.12.1 +Release: 1 +Summary: A Grammar of Data Manipulation in python +License: MIT +URL: https://github.com/pwwang/datar +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/4f/78/5bb38cf0dfa6d9797000565c98792f04b58ba6486f3621141defb6d2e0be/datar-0.12.1.tar.gz +BuildArch: noarch + +Requires: python3-simplug +Requires: python3-pipda +Requires: python3-simpleconf[toml] +Requires: python3-datar-numpy +Requires: python3-datar-pandas + +%description +# datar + +A Grammar of Data Manipulation in python + +<!-- badges --> +[![Pypi][6]][7] [![Github][8]][9] ![Building][10] [![Docs and API][11]][5] [![Codacy][12]][13] [![Codacy coverage][14]][13] [![Downloads][20]][7] + +[Documentation][5] | [Reference Maps][15] | [Notebook Examples][16] | [API][17] + +`datar` is a re-imagining of APIs for data manipulation in python with multiple backends supported. Those APIs are aligned with tidyrverse packages in R as much as possible. + +## Installation + +```shell +pip install -U datar + +# install with a backend +pip install -U datar[pandas] + +# More backends support will be added in the future +``` + +<!-- ## Maximum compatibility with R packages + +|Package|Version| +|-|-| +|[dplyr][21]|1.0.8| --> + +## Backends + +|Repo|Badges| +|-|-| +|[datar-numpy][1]|![3] ![18]| +|[datar-pandas][2]|![4] ![19]| + +## Example usage + +```python +# with pandas backend +from datar import f +from datar.dplyr import mutate, filter, if_else +from datar.tibble import tibble +# or +# from datar.all import f, mutate, filter, if_else, tibble + +df = tibble( + x=range(4), # or c[:4] (from datar.base import c) + y=['zero', 'one', 'two', 'three'] +) +df >> mutate(z=f.x) +"""# output + x y z + <int64> <object> <int64> +0 0 zero 0 +1 1 one 1 +2 2 two 2 +3 3 three 3 +""" + +df >> mutate(z=if_else(f.x>1, 1, 0)) +"""# output: + x y z + <int64> <object> <int64> +0 0 zero 0 +1 1 one 0 +2 2 two 1 +3 3 three 1 +""" + +df >> filter(f.x>1) +"""# output: + x y + <int64> <object> +0 2 two +1 3 three +""" + +df >> mutate(z=if_else(f.x>1, 1, 0)) >> filter(f.z==1) +"""# output: + x y z + <int64> <object> <int64> +0 2 two 1 +1 3 three 1 +""" +``` + +```python +# works with plotnine +# example grabbed from https://github.com/has2k1/plydata +import numpy +from datar import f +from datar.base import sin, pi +from datar.tibble import tibble +from datar.dplyr import mutate, if_else +from plotnine import ggplot, aes, geom_line, theme_classic + +df = tibble(x=numpy.linspace(0, 2 * pi, 500)) +( + df + >> mutate(y=sin(f.x), sign=if_else(f.y >= 0, "positive", "negative")) + >> ggplot(aes(x="x", y="y")) + + theme_classic() + + geom_line(aes(color="sign"), size=1.2) +) +``` + + + +```python +# very easy to integrate with other libraries +# for example: klib +import klib +from pipda import register_verb +from datar import f +from datar.data import iris +from datar.dplyr import pull + +dist_plot = register_verb(func=klib.dist_plot) +iris >> pull(f.Sepal_Length) >> dist_plot() +``` + + + +## Testimonials + +[@coforfe](https://github.com/coforfe): +> Thanks for your excellent package to port R (`dplyr`) flow of processing to Python. I have been using other alternatives, and yours is the one that offers the most extensive and equivalent to what is possible now with `dplyr`. + +[1]: https://github.com/pwwang/datar-numpy +[2]: https://github.com/pwwang/datar-pandas +[3]: https://img.shields.io/codacy/coverage/0a7519dad44246b6bab30576895f6766?style=flat-square +[4]: https://img.shields.io/codacy/coverage/45f4ea84ae024f1a8cf84be54dd144f7?style=flat-square +[5]: https://pwwang.github.io/datar/ +[6]: https://img.shields.io/pypi/v/datar?style=flat-square +[7]: https://pypi.org/project/datar/ +[8]: https://img.shields.io/github/v/tag/pwwang/datar?style=flat-square +[9]: https://github.com/pwwang/datar +[10]: https://img.shields.io/github/actions/workflow/status/pwwang/datar/ci.yml?branch=master&style=flat-square +[11]: https://img.shields.io/github/actions/workflow/status/pwwang/datar/docs.yml?branch=master&style=flat-square +[12]: https://img.shields.io/codacy/grade/3d9bdff4d7a34bdfb9cd9e254184cb35?style=flat-square +[13]: https://app.codacy.com/gh/pwwang/datar +[14]: https://img.shields.io/codacy/coverage/3d9bdff4d7a34bdfb9cd9e254184cb35?style=flat-square +[15]: https://pwwang.github.io/datar/reference-maps/ALL/ +[16]: https://pwwang.github.io/datar/notebooks/across/ +[17]: https://pwwang.github.io/datar/api/datar/ +[18]: https://img.shields.io/pypi/v/datar-numpy?style=flat-square +[19]: https://img.shields.io/pypi/v/datar-pandas?style=flat-square +[20]: https://img.shields.io/pypi/dm/datar?style=flat-square +[21]: https://github.com/tidyverse/dplyr + + +%package -n python3-datar +Summary: A Grammar of Data Manipulation in python +Provides: python-datar +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-datar +# datar + +A Grammar of Data Manipulation in python + +<!-- badges --> +[![Pypi][6]][7] [![Github][8]][9] ![Building][10] [![Docs and API][11]][5] [![Codacy][12]][13] [![Codacy coverage][14]][13] [![Downloads][20]][7] + +[Documentation][5] | [Reference Maps][15] | [Notebook Examples][16] | [API][17] + +`datar` is a re-imagining of APIs for data manipulation in python with multiple backends supported. Those APIs are aligned with tidyrverse packages in R as much as possible. + +## Installation + +```shell +pip install -U datar + +# install with a backend +pip install -U datar[pandas] + +# More backends support will be added in the future +``` + +<!-- ## Maximum compatibility with R packages + +|Package|Version| +|-|-| +|[dplyr][21]|1.0.8| --> + +## Backends + +|Repo|Badges| +|-|-| +|[datar-numpy][1]|![3] ![18]| +|[datar-pandas][2]|![4] ![19]| + +## Example usage + +```python +# with pandas backend +from datar import f +from datar.dplyr import mutate, filter, if_else +from datar.tibble import tibble +# or +# from datar.all import f, mutate, filter, if_else, tibble + +df = tibble( + x=range(4), # or c[:4] (from datar.base import c) + y=['zero', 'one', 'two', 'three'] +) +df >> mutate(z=f.x) +"""# output + x y z + <int64> <object> <int64> +0 0 zero 0 +1 1 one 1 +2 2 two 2 +3 3 three 3 +""" + +df >> mutate(z=if_else(f.x>1, 1, 0)) +"""# output: + x y z + <int64> <object> <int64> +0 0 zero 0 +1 1 one 0 +2 2 two 1 +3 3 three 1 +""" + +df >> filter(f.x>1) +"""# output: + x y + <int64> <object> +0 2 two +1 3 three +""" + +df >> mutate(z=if_else(f.x>1, 1, 0)) >> filter(f.z==1) +"""# output: + x y z + <int64> <object> <int64> +0 2 two 1 +1 3 three 1 +""" +``` + +```python +# works with plotnine +# example grabbed from https://github.com/has2k1/plydata +import numpy +from datar import f +from datar.base import sin, pi +from datar.tibble import tibble +from datar.dplyr import mutate, if_else +from plotnine import ggplot, aes, geom_line, theme_classic + +df = tibble(x=numpy.linspace(0, 2 * pi, 500)) +( + df + >> mutate(y=sin(f.x), sign=if_else(f.y >= 0, "positive", "negative")) + >> ggplot(aes(x="x", y="y")) + + theme_classic() + + geom_line(aes(color="sign"), size=1.2) +) +``` + + + +```python +# very easy to integrate with other libraries +# for example: klib +import klib +from pipda import register_verb +from datar import f +from datar.data import iris +from datar.dplyr import pull + +dist_plot = register_verb(func=klib.dist_plot) +iris >> pull(f.Sepal_Length) >> dist_plot() +``` + + + +## Testimonials + +[@coforfe](https://github.com/coforfe): +> Thanks for your excellent package to port R (`dplyr`) flow of processing to Python. I have been using other alternatives, and yours is the one that offers the most extensive and equivalent to what is possible now with `dplyr`. + +[1]: https://github.com/pwwang/datar-numpy +[2]: https://github.com/pwwang/datar-pandas +[3]: https://img.shields.io/codacy/coverage/0a7519dad44246b6bab30576895f6766?style=flat-square +[4]: https://img.shields.io/codacy/coverage/45f4ea84ae024f1a8cf84be54dd144f7?style=flat-square +[5]: https://pwwang.github.io/datar/ +[6]: https://img.shields.io/pypi/v/datar?style=flat-square +[7]: https://pypi.org/project/datar/ +[8]: https://img.shields.io/github/v/tag/pwwang/datar?style=flat-square +[9]: https://github.com/pwwang/datar +[10]: https://img.shields.io/github/actions/workflow/status/pwwang/datar/ci.yml?branch=master&style=flat-square +[11]: https://img.shields.io/github/actions/workflow/status/pwwang/datar/docs.yml?branch=master&style=flat-square +[12]: https://img.shields.io/codacy/grade/3d9bdff4d7a34bdfb9cd9e254184cb35?style=flat-square +[13]: https://app.codacy.com/gh/pwwang/datar +[14]: https://img.shields.io/codacy/coverage/3d9bdff4d7a34bdfb9cd9e254184cb35?style=flat-square +[15]: https://pwwang.github.io/datar/reference-maps/ALL/ +[16]: https://pwwang.github.io/datar/notebooks/across/ +[17]: https://pwwang.github.io/datar/api/datar/ +[18]: https://img.shields.io/pypi/v/datar-numpy?style=flat-square +[19]: https://img.shields.io/pypi/v/datar-pandas?style=flat-square +[20]: https://img.shields.io/pypi/dm/datar?style=flat-square +[21]: https://github.com/tidyverse/dplyr + + +%package help +Summary: Development documents and examples for datar +Provides: python3-datar-doc +%description help +# datar + +A Grammar of Data Manipulation in python + +<!-- badges --> +[![Pypi][6]][7] [![Github][8]][9] ![Building][10] [![Docs and API][11]][5] [![Codacy][12]][13] [![Codacy coverage][14]][13] [![Downloads][20]][7] + +[Documentation][5] | [Reference Maps][15] | [Notebook Examples][16] | [API][17] + +`datar` is a re-imagining of APIs for data manipulation in python with multiple backends supported. Those APIs are aligned with tidyrverse packages in R as much as possible. + +## Installation + +```shell +pip install -U datar + +# install with a backend +pip install -U datar[pandas] + +# More backends support will be added in the future +``` + +<!-- ## Maximum compatibility with R packages + +|Package|Version| +|-|-| +|[dplyr][21]|1.0.8| --> + +## Backends + +|Repo|Badges| +|-|-| +|[datar-numpy][1]|![3] ![18]| +|[datar-pandas][2]|![4] ![19]| + +## Example usage + +```python +# with pandas backend +from datar import f +from datar.dplyr import mutate, filter, if_else +from datar.tibble import tibble +# or +# from datar.all import f, mutate, filter, if_else, tibble + +df = tibble( + x=range(4), # or c[:4] (from datar.base import c) + y=['zero', 'one', 'two', 'three'] +) +df >> mutate(z=f.x) +"""# output + x y z + <int64> <object> <int64> +0 0 zero 0 +1 1 one 1 +2 2 two 2 +3 3 three 3 +""" + +df >> mutate(z=if_else(f.x>1, 1, 0)) +"""# output: + x y z + <int64> <object> <int64> +0 0 zero 0 +1 1 one 0 +2 2 two 1 +3 3 three 1 +""" + +df >> filter(f.x>1) +"""# output: + x y + <int64> <object> +0 2 two +1 3 three +""" + +df >> mutate(z=if_else(f.x>1, 1, 0)) >> filter(f.z==1) +"""# output: + x y z + <int64> <object> <int64> +0 2 two 1 +1 3 three 1 +""" +``` + +```python +# works with plotnine +# example grabbed from https://github.com/has2k1/plydata +import numpy +from datar import f +from datar.base import sin, pi +from datar.tibble import tibble +from datar.dplyr import mutate, if_else +from plotnine import ggplot, aes, geom_line, theme_classic + +df = tibble(x=numpy.linspace(0, 2 * pi, 500)) +( + df + >> mutate(y=sin(f.x), sign=if_else(f.y >= 0, "positive", "negative")) + >> ggplot(aes(x="x", y="y")) + + theme_classic() + + geom_line(aes(color="sign"), size=1.2) +) +``` + + + +```python +# very easy to integrate with other libraries +# for example: klib +import klib +from pipda import register_verb +from datar import f +from datar.data import iris +from datar.dplyr import pull + +dist_plot = register_verb(func=klib.dist_plot) +iris >> pull(f.Sepal_Length) >> dist_plot() +``` + + + +## Testimonials + +[@coforfe](https://github.com/coforfe): +> Thanks for your excellent package to port R (`dplyr`) flow of processing to Python. I have been using other alternatives, and yours is the one that offers the most extensive and equivalent to what is possible now with `dplyr`. + +[1]: https://github.com/pwwang/datar-numpy +[2]: https://github.com/pwwang/datar-pandas +[3]: https://img.shields.io/codacy/coverage/0a7519dad44246b6bab30576895f6766?style=flat-square +[4]: https://img.shields.io/codacy/coverage/45f4ea84ae024f1a8cf84be54dd144f7?style=flat-square +[5]: https://pwwang.github.io/datar/ +[6]: https://img.shields.io/pypi/v/datar?style=flat-square +[7]: https://pypi.org/project/datar/ +[8]: https://img.shields.io/github/v/tag/pwwang/datar?style=flat-square +[9]: https://github.com/pwwang/datar +[10]: https://img.shields.io/github/actions/workflow/status/pwwang/datar/ci.yml?branch=master&style=flat-square +[11]: https://img.shields.io/github/actions/workflow/status/pwwang/datar/docs.yml?branch=master&style=flat-square +[12]: https://img.shields.io/codacy/grade/3d9bdff4d7a34bdfb9cd9e254184cb35?style=flat-square +[13]: https://app.codacy.com/gh/pwwang/datar +[14]: https://img.shields.io/codacy/coverage/3d9bdff4d7a34bdfb9cd9e254184cb35?style=flat-square +[15]: https://pwwang.github.io/datar/reference-maps/ALL/ +[16]: https://pwwang.github.io/datar/notebooks/across/ +[17]: https://pwwang.github.io/datar/api/datar/ +[18]: https://img.shields.io/pypi/v/datar-numpy?style=flat-square +[19]: https://img.shields.io/pypi/v/datar-pandas?style=flat-square +[20]: https://img.shields.io/pypi/dm/datar?style=flat-square +[21]: https://github.com/tidyverse/dplyr + + +%prep +%autosetup -n datar-0.12.1 + +%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-datar -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 0.12.1-1 +- Package Spec generated @@ -0,0 +1 @@ +f58b92d0746b304c43a5dd27a4ad1990 datar-0.12.1.tar.gz |
