diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-pyech.spec | 262 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 264 insertions, 0 deletions
@@ -0,0 +1 @@ +/pyech-0.1.0.tar.gz diff --git a/python-pyech.spec b/python-pyech.spec new file mode 100644 index 0000000..6ef53f7 --- /dev/null +++ b/python-pyech.spec @@ -0,0 +1,262 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pyech +Version: 0.1.0 +Release: 1 +Summary: Process INE's ECH surveys in Python. +License: MIT +URL: https://github.com/cpa-analytics/pyech +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/32/25/24fc4e49f651d77afab7c560e3adca4ae9104f87cd8009ffb4b76aeeeaf0/pyech-0.1.0.tar.gz +BuildArch: noarch + +Requires: python3-pandas +Requires: python3-patool +Requires: python3-pyreadstat +Requires: python3-pandas-weighting +Requires: python3-openpyxl +Requires: python3-xlrd +Requires: python3-tables + +%description +<img src="https://github.com/CPA-Analytics/pyech/raw/master/logo.png" width=400 style="margin-bottom:60px;display:block;margin:0 auto"> + + +[](https://pyech.readthedocs.io/en/latest/?badge=latest) +[](https://badge.fury.io/py/pyech) +[](https://www.python.org/downloads/release/python-370/) + +# Overview +A simple package that streamlines the download-read-wrangling process needed to analyze the [Encuesta Continua de Hogares](https://www.ine.gub.uy/encuesta-continua-de-hogares1) survey carried out by the Instituto Nacional de Estadística (Uruguay). + +Here's what PyECH can do: +* Download survey compressed files. +* Unrar, rename and move the SAV (SPSS) file to a specified path. +* Read surveys from SAV files, keeping variable and value labels. +* Download and process variable dictionaries. +* Search through variable dictionaries. +* Summarize variables. +* Calculate variable n-tiles. +* Convert variables to real terms or USD. + +PyECH does not attempt to estimate any indicators in particular, or facilitate any kind of modelling, or concatenate surveys from multiple years. Instead, it aims at providing a hassle-free experience with as simple a syntax as possible. + +Surprisingly, PyECH covers a lot of what people tend to do with the ECH survey without having to deal with software licensing. + +For R users, check out [ech](https://github.com/calcita/ech). + +# Installation +```bash +pip install pyech +``` + +## Dependencies + +In order to unpack downloaded survey files you will need to have unrar in your system. This should be covered if you have WinRAR or 7zip installed. Otherwise `sudo apt-get install unrar` or what's appropiate for your system. + +# Usage + +* [Full documentation, including this readme](https://pyech.readthedocs.io). +* Run the examples notebook in your browser | [](https://colab.research.google.com/github/CPA-Analytics/pyech/blob/master/examples/example.ipynb) + +Loading a survey is as simple as using `ECH.load`, which will download it if it cannot be found at `dirpath` (by default the current working directory). +```python +from pyech import ECH + +survey = ECH() +survey.load(year=2019, weights="pesoano") +``` +Optionally, `load` accepts `from_repo=True`, which downloads survey data from the PyECH Github repository (HDFS+JSON). Loading data this way is significantly faster. + +`ECH.load` also downloads the corresponding variable dictionary, which can be easily searched. +```python +survey.search_dictionary("ingreso", ignore_case=True, regex=True) + ``` + This will return a pandas DataFrame where every row matches the search term in any of its columns. + + Calculating aggregations is as simple as using `ECH.summarize`. + ```python + survey.summarize("ht11", by="dpto", aggfunc="mean", household_level=True) + ``` + Which returns a pandas DataFrame with the mean of "ht11" grouped by `ECH.splitter` and `by` (both are optional). Cases are weighted by the column defined in `ECH.load`. + + + +%package -n python3-pyech +Summary: Process INE's ECH surveys in Python. +Provides: python-pyech +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pyech +<img src="https://github.com/CPA-Analytics/pyech/raw/master/logo.png" width=400 style="margin-bottom:60px;display:block;margin:0 auto"> + + +[](https://pyech.readthedocs.io/en/latest/?badge=latest) +[](https://badge.fury.io/py/pyech) +[](https://www.python.org/downloads/release/python-370/) + +# Overview +A simple package that streamlines the download-read-wrangling process needed to analyze the [Encuesta Continua de Hogares](https://www.ine.gub.uy/encuesta-continua-de-hogares1) survey carried out by the Instituto Nacional de Estadística (Uruguay). + +Here's what PyECH can do: +* Download survey compressed files. +* Unrar, rename and move the SAV (SPSS) file to a specified path. +* Read surveys from SAV files, keeping variable and value labels. +* Download and process variable dictionaries. +* Search through variable dictionaries. +* Summarize variables. +* Calculate variable n-tiles. +* Convert variables to real terms or USD. + +PyECH does not attempt to estimate any indicators in particular, or facilitate any kind of modelling, or concatenate surveys from multiple years. Instead, it aims at providing a hassle-free experience with as simple a syntax as possible. + +Surprisingly, PyECH covers a lot of what people tend to do with the ECH survey without having to deal with software licensing. + +For R users, check out [ech](https://github.com/calcita/ech). + +# Installation +```bash +pip install pyech +``` + +## Dependencies + +In order to unpack downloaded survey files you will need to have unrar in your system. This should be covered if you have WinRAR or 7zip installed. Otherwise `sudo apt-get install unrar` or what's appropiate for your system. + +# Usage + +* [Full documentation, including this readme](https://pyech.readthedocs.io). +* Run the examples notebook in your browser | [](https://colab.research.google.com/github/CPA-Analytics/pyech/blob/master/examples/example.ipynb) + +Loading a survey is as simple as using `ECH.load`, which will download it if it cannot be found at `dirpath` (by default the current working directory). +```python +from pyech import ECH + +survey = ECH() +survey.load(year=2019, weights="pesoano") +``` +Optionally, `load` accepts `from_repo=True`, which downloads survey data from the PyECH Github repository (HDFS+JSON). Loading data this way is significantly faster. + +`ECH.load` also downloads the corresponding variable dictionary, which can be easily searched. +```python +survey.search_dictionary("ingreso", ignore_case=True, regex=True) + ``` + This will return a pandas DataFrame where every row matches the search term in any of its columns. + + Calculating aggregations is as simple as using `ECH.summarize`. + ```python + survey.summarize("ht11", by="dpto", aggfunc="mean", household_level=True) + ``` + Which returns a pandas DataFrame with the mean of "ht11" grouped by `ECH.splitter` and `by` (both are optional). Cases are weighted by the column defined in `ECH.load`. + + + +%package help +Summary: Development documents and examples for pyech +Provides: python3-pyech-doc +%description help +<img src="https://github.com/CPA-Analytics/pyech/raw/master/logo.png" width=400 style="margin-bottom:60px;display:block;margin:0 auto"> + + +[](https://pyech.readthedocs.io/en/latest/?badge=latest) +[](https://badge.fury.io/py/pyech) +[](https://www.python.org/downloads/release/python-370/) + +# Overview +A simple package that streamlines the download-read-wrangling process needed to analyze the [Encuesta Continua de Hogares](https://www.ine.gub.uy/encuesta-continua-de-hogares1) survey carried out by the Instituto Nacional de Estadística (Uruguay). + +Here's what PyECH can do: +* Download survey compressed files. +* Unrar, rename and move the SAV (SPSS) file to a specified path. +* Read surveys from SAV files, keeping variable and value labels. +* Download and process variable dictionaries. +* Search through variable dictionaries. +* Summarize variables. +* Calculate variable n-tiles. +* Convert variables to real terms or USD. + +PyECH does not attempt to estimate any indicators in particular, or facilitate any kind of modelling, or concatenate surveys from multiple years. Instead, it aims at providing a hassle-free experience with as simple a syntax as possible. + +Surprisingly, PyECH covers a lot of what people tend to do with the ECH survey without having to deal with software licensing. + +For R users, check out [ech](https://github.com/calcita/ech). + +# Installation +```bash +pip install pyech +``` + +## Dependencies + +In order to unpack downloaded survey files you will need to have unrar in your system. This should be covered if you have WinRAR or 7zip installed. Otherwise `sudo apt-get install unrar` or what's appropiate for your system. + +# Usage + +* [Full documentation, including this readme](https://pyech.readthedocs.io). +* Run the examples notebook in your browser | [](https://colab.research.google.com/github/CPA-Analytics/pyech/blob/master/examples/example.ipynb) + +Loading a survey is as simple as using `ECH.load`, which will download it if it cannot be found at `dirpath` (by default the current working directory). +```python +from pyech import ECH + +survey = ECH() +survey.load(year=2019, weights="pesoano") +``` +Optionally, `load` accepts `from_repo=True`, which downloads survey data from the PyECH Github repository (HDFS+JSON). Loading data this way is significantly faster. + +`ECH.load` also downloads the corresponding variable dictionary, which can be easily searched. +```python +survey.search_dictionary("ingreso", ignore_case=True, regex=True) + ``` + This will return a pandas DataFrame where every row matches the search term in any of its columns. + + Calculating aggregations is as simple as using `ECH.summarize`. + ```python + survey.summarize("ht11", by="dpto", aggfunc="mean", household_level=True) + ``` + Which returns a pandas DataFrame with the mean of "ht11" grouped by `ECH.splitter` and `by` (both are optional). Cases are weighted by the column defined in `ECH.load`. + + + +%prep +%autosetup -n pyech-0.1.0 + +%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-pyech -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Thu May 18 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.0-1 +- Package Spec generated @@ -0,0 +1 @@ +a8c32d500143b0c8e5c2362e1d046513 pyech-0.1.0.tar.gz |
