summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-15 06:50:24 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-15 06:50:24 +0000
commitee89d9f05767bb7ce6e4dd5a9e311ba80ce6d41c (patch)
tree787af671384d320ee5aba2fa4937f80d0eb97072
parent252a2cbf3dd27f04b84d67dcc2033c85e7b7b522 (diff)
automatic import of python-datar
-rw-r--r--.gitignore1
-rw-r--r--python-datar.spec524
-rw-r--r--sources1
3 files changed, 526 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..b4dcd3a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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)
+)
+```
+
+![example](./example.png)
+
+```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()
+```
+
+![example](./example2.png)
+
+## 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)
+)
+```
+
+![example](./example.png)
+
+```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()
+```
+
+![example](./example2.png)
+
+## 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)
+)
+```
+
+![example](./example.png)
+
+```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()
+```
+
+![example](./example2.png)
+
+## 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
diff --git a/sources b/sources
new file mode 100644
index 0000000..822224f
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+f58b92d0746b304c43a5dd27a4ad1990 datar-0.12.1.tar.gz