summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-pyech.spec262
-rw-r--r--sources1
3 files changed, 264 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..977c827 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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">
+
+![Build status](https://github.com/CPA-Analytics/pyech/actions/workflows/main.yml/badge.svg)
+[![Documentation Status](https://readthedocs.org/projects/pyech/badge/?version=latest)](https://pyech.readthedocs.io/en/latest/?badge=latest)
+[![PyPI version](https://badge.fury.io/py/pyech.svg)](https://badge.fury.io/py/pyech)
+[![Python 3.7](https://img.shields.io/badge/python-3.7-blue.svg)](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 | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](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">
+
+![Build status](https://github.com/CPA-Analytics/pyech/actions/workflows/main.yml/badge.svg)
+[![Documentation Status](https://readthedocs.org/projects/pyech/badge/?version=latest)](https://pyech.readthedocs.io/en/latest/?badge=latest)
+[![PyPI version](https://badge.fury.io/py/pyech.svg)](https://badge.fury.io/py/pyech)
+[![Python 3.7](https://img.shields.io/badge/python-3.7-blue.svg)](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 | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](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">
+
+![Build status](https://github.com/CPA-Analytics/pyech/actions/workflows/main.yml/badge.svg)
+[![Documentation Status](https://readthedocs.org/projects/pyech/badge/?version=latest)](https://pyech.readthedocs.io/en/latest/?badge=latest)
+[![PyPI version](https://badge.fury.io/py/pyech.svg)](https://badge.fury.io/py/pyech)
+[![Python 3.7](https://img.shields.io/badge/python-3.7-blue.svg)](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 | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](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
diff --git a/sources b/sources
new file mode 100644
index 0000000..83c0613
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+a8c32d500143b0c8e5c2362e1d046513 pyech-0.1.0.tar.gz