diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-10 04:02:29 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-10 04:02:29 +0000 |
| commit | 23a56d9c21b2236f0f1ceabb9ca16d5c114b8c6f (patch) | |
| tree | 27d6bd73e3847b85dcb26ada44c7f45dd9d551fc | |
| parent | c4d14bfebfce4b507da99a531920e51f305ad6ff (diff) | |
automatic import of python-e-dataopeneuler20.03
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-e-data.spec | 400 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 402 insertions, 0 deletions
@@ -0,0 +1 @@ +/e-data-1.1.0.tar.gz diff --git a/python-e-data.spec b/python-e-data.spec new file mode 100644 index 0000000..5dce0cc --- /dev/null +++ b/python-e-data.spec @@ -0,0 +1,400 @@ +%global _empty_manifest_terminate_build 0 +Name: python-e-data +Version: 1.1.0 +Release: 1 +Summary: Python library for managing spanish energy data from various web providers +License: GPLv3 +URL: https://github.com/uvejota/python-edata +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/bd/39/974948224e2bdb00843f7da33522d7ba6f3218ca63c76b623f8eab96a73b/e-data-1.1.0.tar.gz +BuildArch: noarch + +Requires: python3-dateparser +Requires: python3-freezegun +Requires: python3-holidays +Requires: python3-pandas +Requires: python3-pytest +Requires: python3-dateutil +Requires: python3-requests + +%description + +[](https://pepy.tech/project/e-data) +[](https://pepy.tech/project/e-data) +[](https://pepy.tech/project/e-data) + +# python-edata + +Este paquete proporciona herramientas para la descarga de tus datos de consumo eléctrico (desde Datadis.es) y su posterior procesado. La motivación principal es que conocer el consumo puede ayudarnos a reducirlo, e incluso a elegir una tarifa que mejor se adapte a nuestras necesidades. A día de hoy sus capacidades de facturación (€) son limitadas, soporta PVPC (según disponibilidad de datos de REData) y tarificación fija por tramos. Es el corazón de la integración [homeassistant-edata](https://github.com/uvejota/homeassistant-edata). + +_**Esta herramienta no mantiene ningún tipo de vinculación con los proveedores de datos anteriormente mencionados, simplemente consulta la información disponible y facilita su posterior análisis.**_ + +## Instalación + +Puedes instalar la última versión estable mediante: + +``` bash +pip install e-data +``` + +Si quieres probar la versión `dev` o contribuir a su desarrollo, clona este repositorio e instala manualmente las dependencias: + +``` bash +pip install -r requirements.txt +``` + +## Estructura + +El paquete consta de tres módulos diferenciados: + +* **Conectores** (módulo `connectors`), para definir los métodos de consulta a los diferentes proveedores: Datadis y REData. +* **Procesadores** (módulo `processors`), para procesar datos de consumo, maxímetro, o coste (tarificación). Ahora mismo consta de tres procesadores: `billing`, `consumption` y `maximeter`, además de algunas utilidades ubicadas en `utils`. Los procesadores deben heredar de la clase Processor definida en `base.py` +* **Ayudantes** (módulo `helpers`), para ayudar en el uso y gestión de los anteriores, presentando de momento un único ayudante llamado `EdataHelper` que te permite recopilar `X` días de datos (por defecto 365) y automáticamente procesarlos. Los datos son almacenados en la variable `data`, mientras que los atributos autocalculados son almacenados en la variable `attributes`. Por lo general, primero utilizan los conectores y luego procesan los datos, gestionando varias tareas de recuperación (principalmente para Datadis). + +Estos módulos corresponden a la siguiente estructura del paquete: + +``` +edata/ + · __init__.py + · connectors/ + · __init__.py + · datadis.py + · redata.py + · processors/ + · __init__.py + · base.py + · billing.py + · consumption.py + · maximeter.py + · utils.py + · helpers.py +``` + +## Ejemplo de uso + +Partimos de que tenemos credenciales en Datadis.es. Algunas aclaraciones: +* No es necesario solicitar API pública en el registro (se utilizará la API privada habilitada por defecto) +* El username suele ser el NIF del titular +* Copie el CUPS de la web de Datadis, algunas comercializadoras adhieren caracteres adicionales en el CUPS mostrado en su factura. +* La herramienta acepta el uso de NIF autorizado para consultar el suministro de otro titular. + +``` python +from datetime import datetime +import json + +# importamos definiciones de datos que nos interesen +from edata.definitions import PricingRules +# importamos el ayudante +from edata.helpers import EdataHelper +# importamos el procesador de utilidades +from edata.processors import utils + +# Preparar reglas de tarificación (si se quiere) +PRICING_RULES_PVPC = PricingRules( + p1_kw_year_eur=30.67266, + p2_kw_year_eur=1.4243591, + meter_month_eur=0.81, + market_kw_year_eur=3.113, + electricity_tax=1.0511300560, + iva_tax=1.05, + # podemos rellenar los siguientes campos si quisiéramos precio fijo (y no pvpc) + p1_kwh_eur=None, + p2_kwh_eur=None, + p3_kwh_eur=None, +) + +# Instanciar el helper +# 'authorized_nif' permite indicar el NIF de la persona que nos autoriza a consultar su CUPS. +# 'data' permite "cargar" al helper datos anteriores (resultado edata.data de una ejecución anterior), para evitar volver a consultar los mismos. +edata = EdataHelper( + "datadis_user", + "datadis_password", + "cups", + datadis_authorized_nif=None, + pricing_rules=PRICING_RULES_PVPC, # si se le pasa None, no aplica tarificación + data=None, # aquí podríamos cargar datos anteriores + ) + +# Solicitar actualización de todo el histórico (se almacena en edata.data) +edata.update(date_from=datetime(1970, 1, 1), date_to=datetime.today()) + +# volcamos todo lo obtenido a un fichero +with open("backup.json", "w") as file: + json.dump(utils.serialize_dict(edata.data), file) # se puede utilizar deserialize_dict para la posterior lectura del backup + +# Imprimir atributos +print(edata.attributes) +``` + + +%package -n python3-e-data +Summary: Python library for managing spanish energy data from various web providers +Provides: python-e-data +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-e-data + +[](https://pepy.tech/project/e-data) +[](https://pepy.tech/project/e-data) +[](https://pepy.tech/project/e-data) + +# python-edata + +Este paquete proporciona herramientas para la descarga de tus datos de consumo eléctrico (desde Datadis.es) y su posterior procesado. La motivación principal es que conocer el consumo puede ayudarnos a reducirlo, e incluso a elegir una tarifa que mejor se adapte a nuestras necesidades. A día de hoy sus capacidades de facturación (€) son limitadas, soporta PVPC (según disponibilidad de datos de REData) y tarificación fija por tramos. Es el corazón de la integración [homeassistant-edata](https://github.com/uvejota/homeassistant-edata). + +_**Esta herramienta no mantiene ningún tipo de vinculación con los proveedores de datos anteriormente mencionados, simplemente consulta la información disponible y facilita su posterior análisis.**_ + +## Instalación + +Puedes instalar la última versión estable mediante: + +``` bash +pip install e-data +``` + +Si quieres probar la versión `dev` o contribuir a su desarrollo, clona este repositorio e instala manualmente las dependencias: + +``` bash +pip install -r requirements.txt +``` + +## Estructura + +El paquete consta de tres módulos diferenciados: + +* **Conectores** (módulo `connectors`), para definir los métodos de consulta a los diferentes proveedores: Datadis y REData. +* **Procesadores** (módulo `processors`), para procesar datos de consumo, maxímetro, o coste (tarificación). Ahora mismo consta de tres procesadores: `billing`, `consumption` y `maximeter`, además de algunas utilidades ubicadas en `utils`. Los procesadores deben heredar de la clase Processor definida en `base.py` +* **Ayudantes** (módulo `helpers`), para ayudar en el uso y gestión de los anteriores, presentando de momento un único ayudante llamado `EdataHelper` que te permite recopilar `X` días de datos (por defecto 365) y automáticamente procesarlos. Los datos son almacenados en la variable `data`, mientras que los atributos autocalculados son almacenados en la variable `attributes`. Por lo general, primero utilizan los conectores y luego procesan los datos, gestionando varias tareas de recuperación (principalmente para Datadis). + +Estos módulos corresponden a la siguiente estructura del paquete: + +``` +edata/ + · __init__.py + · connectors/ + · __init__.py + · datadis.py + · redata.py + · processors/ + · __init__.py + · base.py + · billing.py + · consumption.py + · maximeter.py + · utils.py + · helpers.py +``` + +## Ejemplo de uso + +Partimos de que tenemos credenciales en Datadis.es. Algunas aclaraciones: +* No es necesario solicitar API pública en el registro (se utilizará la API privada habilitada por defecto) +* El username suele ser el NIF del titular +* Copie el CUPS de la web de Datadis, algunas comercializadoras adhieren caracteres adicionales en el CUPS mostrado en su factura. +* La herramienta acepta el uso de NIF autorizado para consultar el suministro de otro titular. + +``` python +from datetime import datetime +import json + +# importamos definiciones de datos que nos interesen +from edata.definitions import PricingRules +# importamos el ayudante +from edata.helpers import EdataHelper +# importamos el procesador de utilidades +from edata.processors import utils + +# Preparar reglas de tarificación (si se quiere) +PRICING_RULES_PVPC = PricingRules( + p1_kw_year_eur=30.67266, + p2_kw_year_eur=1.4243591, + meter_month_eur=0.81, + market_kw_year_eur=3.113, + electricity_tax=1.0511300560, + iva_tax=1.05, + # podemos rellenar los siguientes campos si quisiéramos precio fijo (y no pvpc) + p1_kwh_eur=None, + p2_kwh_eur=None, + p3_kwh_eur=None, +) + +# Instanciar el helper +# 'authorized_nif' permite indicar el NIF de la persona que nos autoriza a consultar su CUPS. +# 'data' permite "cargar" al helper datos anteriores (resultado edata.data de una ejecución anterior), para evitar volver a consultar los mismos. +edata = EdataHelper( + "datadis_user", + "datadis_password", + "cups", + datadis_authorized_nif=None, + pricing_rules=PRICING_RULES_PVPC, # si se le pasa None, no aplica tarificación + data=None, # aquí podríamos cargar datos anteriores + ) + +# Solicitar actualización de todo el histórico (se almacena en edata.data) +edata.update(date_from=datetime(1970, 1, 1), date_to=datetime.today()) + +# volcamos todo lo obtenido a un fichero +with open("backup.json", "w") as file: + json.dump(utils.serialize_dict(edata.data), file) # se puede utilizar deserialize_dict para la posterior lectura del backup + +# Imprimir atributos +print(edata.attributes) +``` + + +%package help +Summary: Development documents and examples for e-data +Provides: python3-e-data-doc +%description help + +[](https://pepy.tech/project/e-data) +[](https://pepy.tech/project/e-data) +[](https://pepy.tech/project/e-data) + +# python-edata + +Este paquete proporciona herramientas para la descarga de tus datos de consumo eléctrico (desde Datadis.es) y su posterior procesado. La motivación principal es que conocer el consumo puede ayudarnos a reducirlo, e incluso a elegir una tarifa que mejor se adapte a nuestras necesidades. A día de hoy sus capacidades de facturación (€) son limitadas, soporta PVPC (según disponibilidad de datos de REData) y tarificación fija por tramos. Es el corazón de la integración [homeassistant-edata](https://github.com/uvejota/homeassistant-edata). + +_**Esta herramienta no mantiene ningún tipo de vinculación con los proveedores de datos anteriormente mencionados, simplemente consulta la información disponible y facilita su posterior análisis.**_ + +## Instalación + +Puedes instalar la última versión estable mediante: + +``` bash +pip install e-data +``` + +Si quieres probar la versión `dev` o contribuir a su desarrollo, clona este repositorio e instala manualmente las dependencias: + +``` bash +pip install -r requirements.txt +``` + +## Estructura + +El paquete consta de tres módulos diferenciados: + +* **Conectores** (módulo `connectors`), para definir los métodos de consulta a los diferentes proveedores: Datadis y REData. +* **Procesadores** (módulo `processors`), para procesar datos de consumo, maxímetro, o coste (tarificación). Ahora mismo consta de tres procesadores: `billing`, `consumption` y `maximeter`, además de algunas utilidades ubicadas en `utils`. Los procesadores deben heredar de la clase Processor definida en `base.py` +* **Ayudantes** (módulo `helpers`), para ayudar en el uso y gestión de los anteriores, presentando de momento un único ayudante llamado `EdataHelper` que te permite recopilar `X` días de datos (por defecto 365) y automáticamente procesarlos. Los datos son almacenados en la variable `data`, mientras que los atributos autocalculados son almacenados en la variable `attributes`. Por lo general, primero utilizan los conectores y luego procesan los datos, gestionando varias tareas de recuperación (principalmente para Datadis). + +Estos módulos corresponden a la siguiente estructura del paquete: + +``` +edata/ + · __init__.py + · connectors/ + · __init__.py + · datadis.py + · redata.py + · processors/ + · __init__.py + · base.py + · billing.py + · consumption.py + · maximeter.py + · utils.py + · helpers.py +``` + +## Ejemplo de uso + +Partimos de que tenemos credenciales en Datadis.es. Algunas aclaraciones: +* No es necesario solicitar API pública en el registro (se utilizará la API privada habilitada por defecto) +* El username suele ser el NIF del titular +* Copie el CUPS de la web de Datadis, algunas comercializadoras adhieren caracteres adicionales en el CUPS mostrado en su factura. +* La herramienta acepta el uso de NIF autorizado para consultar el suministro de otro titular. + +``` python +from datetime import datetime +import json + +# importamos definiciones de datos que nos interesen +from edata.definitions import PricingRules +# importamos el ayudante +from edata.helpers import EdataHelper +# importamos el procesador de utilidades +from edata.processors import utils + +# Preparar reglas de tarificación (si se quiere) +PRICING_RULES_PVPC = PricingRules( + p1_kw_year_eur=30.67266, + p2_kw_year_eur=1.4243591, + meter_month_eur=0.81, + market_kw_year_eur=3.113, + electricity_tax=1.0511300560, + iva_tax=1.05, + # podemos rellenar los siguientes campos si quisiéramos precio fijo (y no pvpc) + p1_kwh_eur=None, + p2_kwh_eur=None, + p3_kwh_eur=None, +) + +# Instanciar el helper +# 'authorized_nif' permite indicar el NIF de la persona que nos autoriza a consultar su CUPS. +# 'data' permite "cargar" al helper datos anteriores (resultado edata.data de una ejecución anterior), para evitar volver a consultar los mismos. +edata = EdataHelper( + "datadis_user", + "datadis_password", + "cups", + datadis_authorized_nif=None, + pricing_rules=PRICING_RULES_PVPC, # si se le pasa None, no aplica tarificación + data=None, # aquí podríamos cargar datos anteriores + ) + +# Solicitar actualización de todo el histórico (se almacena en edata.data) +edata.update(date_from=datetime(1970, 1, 1), date_to=datetime.today()) + +# volcamos todo lo obtenido a un fichero +with open("backup.json", "w") as file: + json.dump(utils.serialize_dict(edata.data), file) # se puede utilizar deserialize_dict para la posterior lectura del backup + +# Imprimir atributos +print(edata.attributes) +``` + + +%prep +%autosetup -n e-data-1.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-e-data -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 1.1.0-1 +- Package Spec generated @@ -0,0 +1 @@ +4a4eb4bee8ceba5c1a80e03d824cdbcb e-data-1.1.0.tar.gz |
