BHExpress: Cliente de API en Python
=====================================
.. image:: https://badge.fury.io/py/bhexpress.svg
:target: https://pypi.org/project/bhexpress
.. image:: https://img.shields.io/pypi/status/bhexpress.svg
:target: https://pypi.org/project/bhexpress
.. image:: https://img.shields.io/pypi/pyversions/bhexpress.svg
:target: https://pypi.org/project/bhexpress
.. image:: https://img.shields.io/pypi/l/bhexpress.svg
:target: https://raw.githubusercontent.com/bhexpress/bhexpress-api-client-python/master/COPYING
Cliente para realizar la integración con los servicios web de `BHExpress <https://www.bhexpress.cl>`_ desde Python.
Instalación y actualización
---------------------------
Instalar usando un entorno virtual y PIP con:
.. code:: shell
python3 -m venv venv
source venv/bin/activate
pip install bhexpress
Actualizar usando PIP con:
.. code:: shell
pip install bhexpress --upgrade
Modo de uso
-----------
Se recomienda ver los ejemplos para más detalles. Lo que se muestra aquí es sólo
una idea, y muy resumida:
Lo más simple, y recomendado, es usar una variable de entorno con el
`token del usuario <https://bhexpress.cl/usuarios/perfil#token>`_,
el cual será reconocida automáticamente por el cliente:
.. code:: python
from bhexpress.api_client.bhe.boletas import Boleta
client = Boleta()
boletas = client.listar()
print(boletas)
Lo que hizo el ejemplo anterior es listar boletas emitidas en un resultado e imprimir dicho resultado en consola.
Variables de entorno
--------------------
La aplicación y las pruebas hacen uso de variables de entornos. Si quieres usar
estos, debes tenerlas creadas. En Windows 10 se hace con:
.. code:: shell
set BHEXPRESS_API_URL="https://bhexpress.cl"
set BHEXPRESS_API_TOKEN="" # aquí el token obtenido en https://bhexpress.cl/usuarios/perfil#token
set BHEXPRESS_EMISOR_RUT="" # aquí el RUT del emisor de las BHE
Ejemplo de definición de variables de entorno en la consola de Linux:
.. code:: shell
export BHEXPRESS_API_URL="https://bhexpress.cl"
export BHEXPRESS_API_TOKEN="" # aquí el token obtenido en https://bhexpress.cl/usuarios/perfil#token
export BHEXPRESS_EMISOR_RUT="" # aquí el RUT del emisor de las BHE
Pruebas
-------
Las pruebas utilizan un archivo llamado `test.env`, que sirve para definir todas las variables de entorno
necesarias para ejecutar estas pruebas. Las pruebas se crearon para probar los ejemplos vistos previamente
en el capítulo `Ejemplos`.
Estas pruebas utilizan `unittest`, se ejecutan con el archivo `run.py`, y dependiendo de cómo se configure
`test.env`, se pueden omitir ciertas pruebas. Asegúrate de definir `BHEXPRESS_API_URL`, `BHEXPRESS_API_TOKEN`
y `BHEXPRESS_EMISOR_RUT` en `test.env`, o no podrás efectuar las pruebas.
Para ejecutar las pruebas unitarias, debes ejecutar el siguiente código en consola desde la raíz del proyecto:
.. code:: shell
python tests/run.py
Si quieres ejecutar una prueba específica, deberás especificar el nombre y ruta:
.. code:: shell
python tests/run.py boletas.test_boletas.TestBheBoletas.test1_listar
Para ejecutar otros ejemplos, debes reemplazar `test1_listar` por el nombre de alguna de las otras pruebas descritas posteriormente.
A continuación se pondrán instrucciones de cómo probar el cliente de API de Python:
* `test1_listar()`:
- Prueba que permite obtener un listado de todas las boletas emitidas a través de BHExpress usando algunos filtros.
- Variables necesarias: `TEST_LISTAR_PERIODO`, `TEST_LISTAR_CODIGORECEPTOR`
- Variable de ejecución: `Ninguna`
* `test2_emitir()`:
- Prueba que permite emitir una BHE a un receptor.
- Variables necesarias: `TEST_EMITIR_FECHA_EMIS`, `TEST_EMITIR_EMISOR`, `TEST_EMITIR_RECEPTOR`, `TEST_EMITIR_RZNSOC_REC`, `TEST_EMITIR_DIR_REC`, `TEST_EMITIR_COM_REC`
- Variable de ejecución: `TEST_EMITIR_EMISOR`
* `test3_pdf()`:
- Prueba que permite obtener una BHE y convertirla a un PDF.
- Variables necesarias: `Ninguna`
- Variable de ejecución: `TEST_PDF_PROBAR`
* `test4_email()`:
- Prueba que permite enviar un email a un destinatario con una BHE específica.
- Variables necesarias: `TEST_EMAIL_NUMEROBHE`, `TEST_EMAIL_CORREO`
- Variable de ejecución: `TEST_EMAIL_NUMEROBHE` y `TEST_EMAIL_CORREO`
* `test5_anular()`:
- Prueba que permite anular una BHE existente.
- Variables necesarias: `Ninguna`
- Variables de ejecución: `TEST_ANULAR_PROBAR`
Las `variables necesarias` son aquellas variables que se necesitan para ejecutar las pruebas.
Las `variables de ejecución` son aquellas variables que permitirán ejecutar u omitir las pruebas a las que pertenecen.
Si las variables de ejecución tienen un valor específico o son texto en blanco, entonces la prueba será omitida, pero no fallida.
Licencia
--------
Este programa es software libre: usted puede redistribuirlo y/o modificarlo
bajo los términos de la GNU Lesser General Public License (LGPL) publicada
por la Fundación para el Software Libre, ya sea la versión 3 de la Licencia,
o (a su elección) cualquier versión posterior de la misma.
Este programa se distribuye con la esperanza de que sea útil, pero SIN
GARANTÍA ALGUNA; ni siquiera la garantía implícita MERCANTIL o de APTITUD
PARA UN PROPÓSITO DETERMINADO. Consulte los detalles de la GNU Lesser General
Public License (LGPL) para obtener una información más detallada.
Debería haber recibido una copia de la GNU Lesser General Public License
(LGPL) junto a este programa. En caso contrario, consulte
`GNU Lesser General Public License <http://www.gnu.org/licenses/lgpl.html>`_.
Enlaces
-------
- `Sitio web BHExpress <https://www.bhexpress.cl>`_.
- `Código fuente en GitHub <https://github.com/bhexpress/bhexpress-api-client-python>`_.
- `Paquete en PyPI <https://pypi.org/project/bhexpress>`_.
- `Documentación en Read the Docs <https://bhexpress.readthedocs.io/es/latest>`_.
Raw data
{
"_id": null,
"home_page": "https://github.com/bhexpress/bhexpress-api-client-python",
"name": "bhexpress",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "sii chile bhe bhexpress boleta electronica",
"author": "BHExpress",
"author_email": "dev@bhexpress.cl",
"download_url": "https://files.pythonhosted.org/packages/f3/03/afab90a34e37c2d57d97eece8f294c22cd32f211f08e98b360e48a12ced7/bhexpress-1.0.2.tar.gz",
"platform": null,
"description": "\nBHExpress: Cliente de API en Python\n=====================================\n\n.. image:: https://badge.fury.io/py/bhexpress.svg\n :target: https://pypi.org/project/bhexpress\n.. image:: https://img.shields.io/pypi/status/bhexpress.svg\n :target: https://pypi.org/project/bhexpress\n.. image:: https://img.shields.io/pypi/pyversions/bhexpress.svg\n :target: https://pypi.org/project/bhexpress\n.. image:: https://img.shields.io/pypi/l/bhexpress.svg\n :target: https://raw.githubusercontent.com/bhexpress/bhexpress-api-client-python/master/COPYING\n\nCliente para realizar la integraci\u00f3n con los servicios web de `BHExpress <https://www.bhexpress.cl>`_ desde Python.\n\nInstalaci\u00f3n y actualizaci\u00f3n\n---------------------------\n\nInstalar usando un entorno virtual y PIP con:\n\n.. code:: shell\n\n python3 -m venv venv\n source venv/bin/activate\n pip install bhexpress\n\nActualizar usando PIP con:\n\n.. code:: shell\n\n pip install bhexpress --upgrade\n\nModo de uso\n-----------\n\nSe recomienda ver los ejemplos para m\u00e1s detalles. Lo que se muestra aqu\u00ed es s\u00f3lo\nuna idea, y muy resumida:\n\nLo m\u00e1s simple, y recomendado, es usar una variable de entorno con el\n`token del usuario <https://bhexpress.cl/usuarios/perfil#token>`_,\nel cual ser\u00e1 reconocida autom\u00e1ticamente por el cliente:\n\n.. code:: python\n\n from bhexpress.api_client.bhe.boletas import Boleta\n\n client = Boleta()\n\n boletas = client.listar()\n print(boletas)\n\nLo que hizo el ejemplo anterior es listar boletas emitidas en un resultado e imprimir dicho resultado en consola.\n\nVariables de entorno\n--------------------\n\nLa aplicaci\u00f3n y las pruebas hacen uso de variables de entornos. Si quieres usar\nestos, debes tenerlas creadas. En Windows 10 se hace con:\n\n.. code:: shell\n\n set BHEXPRESS_API_URL=\"https://bhexpress.cl\"\n set BHEXPRESS_API_TOKEN=\"\" # aqu\u00ed el token obtenido en https://bhexpress.cl/usuarios/perfil#token\n set BHEXPRESS_EMISOR_RUT=\"\" # aqu\u00ed el RUT del emisor de las BHE\n\nEjemplo de definici\u00f3n de variables de entorno en la consola de Linux:\n\n.. code:: shell\n\n export BHEXPRESS_API_URL=\"https://bhexpress.cl\"\n export BHEXPRESS_API_TOKEN=\"\" # aqu\u00ed el token obtenido en https://bhexpress.cl/usuarios/perfil#token\n export BHEXPRESS_EMISOR_RUT=\"\" # aqu\u00ed el RUT del emisor de las BHE\n\nPruebas\n-------\n\nLas pruebas utilizan un archivo llamado `test.env`, que sirve para definir todas las variables de entorno\nnecesarias para ejecutar estas pruebas. Las pruebas se crearon para probar los ejemplos vistos previamente\nen el cap\u00edtulo `Ejemplos`.\n\nEstas pruebas utilizan `unittest`, se ejecutan con el archivo `run.py`, y dependiendo de c\u00f3mo se configure\n`test.env`, se pueden omitir ciertas pruebas. Aseg\u00farate de definir `BHEXPRESS_API_URL`, `BHEXPRESS_API_TOKEN`\ny `BHEXPRESS_EMISOR_RUT` en `test.env`, o no podr\u00e1s efectuar las pruebas.\n\nPara ejecutar las pruebas unitarias, debes ejecutar el siguiente c\u00f3digo en consola desde la ra\u00edz del proyecto:\n\n.. code:: shell\n\n python tests/run.py\n\nSi quieres ejecutar una prueba espec\u00edfica, deber\u00e1s especificar el nombre y ruta:\n\n.. code:: shell\n\n python tests/run.py boletas.test_boletas.TestBheBoletas.test1_listar\n\nPara ejecutar otros ejemplos, debes reemplazar `test1_listar` por el nombre de alguna de las otras pruebas descritas posteriormente.\n\nA continuaci\u00f3n se pondr\u00e1n instrucciones de c\u00f3mo probar el cliente de API de Python:\n\n* `test1_listar()`:\n - Prueba que permite obtener un listado de todas las boletas emitidas a trav\u00e9s de BHExpress usando algunos filtros.\n - Variables necesarias: `TEST_LISTAR_PERIODO`, `TEST_LISTAR_CODIGORECEPTOR`\n - Variable de ejecuci\u00f3n: `Ninguna`\n* `test2_emitir()`:\n - Prueba que permite emitir una BHE a un receptor.\n - Variables necesarias: `TEST_EMITIR_FECHA_EMIS`, `TEST_EMITIR_EMISOR`, `TEST_EMITIR_RECEPTOR`, `TEST_EMITIR_RZNSOC_REC`, `TEST_EMITIR_DIR_REC`, `TEST_EMITIR_COM_REC`\n - Variable de ejecuci\u00f3n: `TEST_EMITIR_EMISOR`\n* `test3_pdf()`:\n - Prueba que permite obtener una BHE y convertirla a un PDF.\n - Variables necesarias: `Ninguna`\n - Variable de ejecuci\u00f3n: `TEST_PDF_PROBAR`\n* `test4_email()`:\n - Prueba que permite enviar un email a un destinatario con una BHE espec\u00edfica.\n - Variables necesarias: `TEST_EMAIL_NUMEROBHE`, `TEST_EMAIL_CORREO`\n - Variable de ejecuci\u00f3n: `TEST_EMAIL_NUMEROBHE` y `TEST_EMAIL_CORREO`\n* `test5_anular()`:\n - Prueba que permite anular una BHE existente.\n - Variables necesarias: `Ninguna`\n - Variables de ejecuci\u00f3n: `TEST_ANULAR_PROBAR`\n\nLas `variables necesarias` son aquellas variables que se necesitan para ejecutar las pruebas.\nLas `variables de ejecuci\u00f3n` son aquellas variables que permitir\u00e1n ejecutar u omitir las pruebas a las que pertenecen.\nSi las variables de ejecuci\u00f3n tienen un valor espec\u00edfico o son texto en blanco, entonces la prueba ser\u00e1 omitida, pero no fallida.\n\nLicencia\n--------\n\nEste programa es software libre: usted puede redistribuirlo y/o modificarlo\nbajo los t\u00e9rminos de la GNU Lesser General Public License (LGPL) publicada\npor la Fundaci\u00f3n para el Software Libre, ya sea la versi\u00f3n 3 de la Licencia,\no (a su elecci\u00f3n) cualquier versi\u00f3n posterior de la misma.\n\nEste programa se distribuye con la esperanza de que sea \u00fatil, pero SIN\nGARANT\u00cdA ALGUNA; ni siquiera la garant\u00eda impl\u00edcita MERCANTIL o de APTITUD\nPARA UN PROP\u00d3SITO DETERMINADO. Consulte los detalles de la GNU Lesser General\nPublic License (LGPL) para obtener una informaci\u00f3n m\u00e1s detallada.\n\nDeber\u00eda haber recibido una copia de la GNU Lesser General Public License\n(LGPL) junto a este programa. En caso contrario, consulte\n`GNU Lesser General Public License <http://www.gnu.org/licenses/lgpl.html>`_.\n\nEnlaces\n-------\n\n- `Sitio web BHExpress <https://www.bhexpress.cl>`_.\n- `C\u00f3digo fuente en GitHub <https://github.com/bhexpress/bhexpress-api-client-python>`_.\n- `Paquete en PyPI <https://pypi.org/project/bhexpress>`_.\n- `Documentaci\u00f3n en Read the Docs <https://bhexpress.readthedocs.io/es/latest>`_.\n",
"bugtrack_url": null,
"license": "LGPL",
"summary": "Cliente para realizar la integraci\u00f3n con los servicios web de BHExpress desde Python.",
"version": "1.0.2",
"project_urls": {
"Homepage": "https://github.com/bhexpress/bhexpress-api-client-python"
},
"split_keywords": [
"sii",
"chile",
"bhe",
"bhexpress",
"boleta",
"electronica"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f303afab90a34e37c2d57d97eece8f294c22cd32f211f08e98b360e48a12ced7",
"md5": "718f8fb8fde88b45fbeeab4b661350d2",
"sha256": "1b2cda39c3492e9f16ef9697f8be5bf768dfccba6cfd3cc124e3be6dfda7e91b"
},
"downloads": -1,
"filename": "bhexpress-1.0.2.tar.gz",
"has_sig": false,
"md5_digest": "718f8fb8fde88b45fbeeab4b661350d2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12129,
"upload_time": "2024-08-01T12:41:12",
"upload_time_iso_8601": "2024-08-01T12:41:12.666889Z",
"url": "https://files.pythonhosted.org/packages/f3/03/afab90a34e37c2d57d97eece8f294c22cd32f211f08e98b360e48a12ced7/bhexpress-1.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-01 12:41:12",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "bhexpress",
"github_project": "bhexpress-api-client-python",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "alabaster",
"specs": [
[
"==",
"0.7.16"
]
]
},
{
"name": "Babel",
"specs": [
[
"==",
"2.15.0"
]
]
},
{
"name": "certifi",
"specs": [
[
"==",
"2024.7.4"
]
]
},
{
"name": "charset-normalizer",
"specs": [
[
"==",
"3.3.2"
]
]
},
{
"name": "colorama",
"specs": [
[
"==",
"0.4.6"
]
]
},
{
"name": "docutils",
"specs": [
[
"==",
"0.20.1"
]
]
},
{
"name": "idna",
"specs": [
[
"==",
"3.7"
]
]
},
{
"name": "imagesize",
"specs": [
[
"==",
"1.4.1"
]
]
},
{
"name": "Jinja2",
"specs": [
[
"==",
"3.1.4"
]
]
},
{
"name": "MarkupSafe",
"specs": [
[
"==",
"2.1.5"
]
]
},
{
"name": "packaging",
"specs": [
[
"==",
"24.1"
]
]
},
{
"name": "Pygments",
"specs": [
[
"==",
"2.18.0"
]
]
},
{
"name": "python-dotenv",
"specs": [
[
"==",
"1.0.1"
]
]
},
{
"name": "requests",
"specs": [
[
"==",
"2.32.3"
]
]
},
{
"name": "snowballstemmer",
"specs": [
[
"==",
"2.2.0"
]
]
},
{
"name": "Sphinx",
"specs": [
[
"==",
"7.4.6"
]
]
},
{
"name": "sphinx-rtd-theme",
"specs": [
[
"==",
"2.0.0"
]
]
},
{
"name": "sphinxcontrib-applehelp",
"specs": [
[
"==",
"1.0.8"
]
]
},
{
"name": "sphinxcontrib-devhelp",
"specs": [
[
"==",
"1.0.6"
]
]
},
{
"name": "sphinxcontrib-htmlhelp",
"specs": [
[
"==",
"2.0.5"
]
]
},
{
"name": "sphinxcontrib-jquery",
"specs": [
[
"==",
"4.1"
]
]
},
{
"name": "sphinxcontrib-jsmath",
"specs": [
[
"==",
"1.0.1"
]
]
},
{
"name": "sphinxcontrib-qthelp",
"specs": [
[
"==",
"1.0.7"
]
]
},
{
"name": "sphinxcontrib-serializinghtml",
"specs": [
[
"==",
"1.1.10"
]
]
},
{
"name": "urllib3",
"specs": [
[
"==",
"2.2.2"
]
]
}
],
"lcname": "bhexpress"
}