Iris-python-template

Proyecto de plantilla con varios códigos Python para ser utilizados con InterSystems IRIS Community Edition con contenedor.

Contenido:

  • Bloc de notas
    • Kernel de Python Embebido
    • Kernel de ObjectScript
    • Kernel de Vanilla Python
  • Python Embebido
    • Ejemplo de código
    • Demostración de Flask
  • API nativas de Python de IRIS
    • Ejemplo de código

Diagrama

2 0
1 251

Python se ha convertido en el lenguaje de programación más utilizado del mundo (fuente: https://www.tiobe.com/tiobe-index/) y SQL sigue siendo el líder como lenguaje para las bases de datos. ¿No sería genial que Python y SQL trabajaran juntos para ofrecer nuevas funcionalidades que SQL por sí mismo no puede? Después de todo, Python tiene más de 380.000 librerías publicadas (fuente: https://pypi.org/) con funciones muy interesantes para ampliar las consultas SQL dentro de Python.

En este artículo detallo cómo crear nuevos Procedimientos Almacenados de SQL en la base de datos de InterSystems IRIS usando Embedded Python.

2 1
1 485

¡Hola Comunidad!

Me gustaría presentaros una nueva utilidad para importar CSV a IRIS - ¡csvgenpy!

Instalación

USER>zpm "install csvgenpy"

Uso:

do ##class(shvarov.csvgenpy.csv).Generate("file or url","table","schema")

Ejemplo:

USER>do ##class(shvarov.csvgenpy.csv).Generate("https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv","titanic","data")

Esto creará la tabla y la clase data.titanic en IRIS y a continuación cargará los datos. Podéis probarlo con:

2 0
0 39

FHIR ha revolucionado la industria de la atención médica al proporcionar un modelo de datos estandarizado para crear aplicaciones y promocionar el intercambio de datos entre diferentes sistemas. El estándar FHIR se basa en enfoques modernos impulsados por APIs, lo que lo hace más accesible para los desarrolladores web y móviles. Sin embargo, interactuar con las API de FHIR aún puede ser un desafío, especialmente cuando se trata de consultar datos usando lenguaje natural.

2 0
0 102
Artículo
· 30 ene, 2023 Lectura de 3 min
Demo de OCR

OCR DEMO

Esta es una demo de la funcionalidad OCR utilizando la librería pero-ocr de Python.

Utilizaremos la librería en una instancia InterSystems IRIS.

Demo

Este es un ejemplo de los datos de entrada:

input

Y este es el resultado del OCR, donde tenemos la siguiente información:

2 0
1 87
Artículo
· 26 sep, 2021 Lectura de 8 min
¡Luchemos contra las máquinas!

https://media.giphy.com/media/Nxu57gIbNuYOQ/giphy.gif

Calma, calma, no estoy promoviendo una guerra contra las máquinas como en las películas de ciencia ficción, para evitar la dominación mundial de Ultron o Skynet.
Todavía no, todavía no 🤔

Os invito a retar a las máquinas a través de la creación de un juego muy sencillo usando ObjectScript con Python embebido.

1 1
0 582

La invención y popularización de LLMs (Large Language Models) como GPT-4 de OpenAI ha desencadenado una ola de soluciones innovadoras que permiten aprovechar grandes volúmenes de datos no estructurados, que eran prácticamente imposibles de procesar manualmente hasta hace poco. Estas aplicaciones pueden incluir la recuperación de datos (echad un vistazo al curso sobre ML301 de Don Woodlock, con una excelente introducción a la Generación Aumentada de Recuperación), el análisis de sentimientos, e incluso agentes de IA totalmente autónomos, por nombrar sólo algunos ejemplos!

En este artículo, quiero demostrar cómo la funcionalidad de Python Embebido de IRIS puede ser utilizada para interactuar directamente con la librería Python de OpenAI, a través de la creación de una sencilla aplicación de etiquetado de datos que asignará automáticamente palabras clave a los registros que metamos en una tabla de IRIS. Estas palabras clave pueden después ser usadas para buscar y categorizar los datos, así como para analítica de datos. Utilizaré reseñas de productos realizadas por clientes como ejemplo de caso de uso.

1 0
0 69

Parece que fue ayer cuando hicimos un pequeño proyecto en Java para probar el rendimiento de IRIS, PostgreSQL y MySQL (podéis revisar el artículo que escribimos allá por Junio al final de este artículo). Si recordáis IRIS se mostró superior a PostgreSQL y claramente superior a MySQL en las inserciones, no habiendo gran diferencia en las consultas.

Poco después @Dmitry Maslennikov me dijo "¿Por qué no pruebas desde un proyecto en Python?" pues bien, aquí está la versión en Python de las pruebas que realizamos mediante las conexiones JDBC previamente.

1 2
0 78

¡Hola Desarrolladores!

Esta es la segunda publicación sobre recursos para desarrolladores. Esta parte es sobre Open Exchange.

Utilizando Open Exchange para avanzar en la tecnología de InterSystems

InterSystems Open Exchange es una galería de herramientas de aplicaciones, conectores y librerías, que los desarrolladores de InterSystems publican para compartir formas de trabajar, enfoques y hacer negocio. Todas las aplicaciones están o construidas con InterSystems Data Platform o pensadas para ser usadas en desarrollos con nuestra tecnología.

1 0
0 177
Artículo
· 29 feb, 2024 Lectura de 5 min
Poniendo a prueba el Columnar Storage

Como seguramente ya sabréis la mayoría de vosotros, desde aproximadamente finales de 2022 InterSystems IRIS incluyo la funcionalidad de almacenamiento columnar a su base de datos, pues bien, en el artículo de hoy vamos a ponerla a prueba en comparación con el almacenamiento en filas habitual.

1 2
0 87
Artículo
· 21 nov, 2022 Lectura de 8 min
Introducción a Django - 2ª parte

En la primera parte de este artículo he mostrado cómo empezar un nuevo proyecto en Django, y cómo definir nuevos modelos y añadir modelos ya existentes.

En esta publicación, voy a mostrar un Panel de Administración (disponible con la configuración predeterminada) y cómo puede ser útil.

Nota importante: si intentáis reproducir los pasos de este artículo, no funcionará para vosotros. Porque mientras escribía la publicación he realizado varios ajustes en el proyecto django-iris, e incluso en el driver DB-API de InterSystems, para arreglar algunos problemas ahí también, y creo que el driver aún está en desarrollo y habrá un driver más estable en el futuro. Así que vamos a asumir que este artículo solo explica cómo podría ser si tuviéramos todo terminado.

1 0
1 85
Artículo
· 7 mayo, 2020 Lectura de 6 min
Python Gateway. Parte I: Introducción

Esta serie de artículos describe el uso del Python Gateway para InterSystems IRIS. Python Gateway permite acceder a toda la potencia de las librerías Python y las herramientas de Aprendizaje máquina (IAML) desde InterSystems IRIS y:

  • Ejecutar cualquier código Python
  • Transferir datos de forma transparente desde IRIS a Python
  • Construir procesos de interoperabilidad inteligente con el Adaptador de Python
  • Guardar, revisar, modificar y restaurar el contexto de Python desde InterSystems IRIS

1 0
0 330

¡Hola Comunidad!

Esta publicación es una introducción a mi aplicación iris-python-apps, disponible en Open Exchange y creada usando Embedded Python y Python Flask Web Framework. La aplicación muestra algunas de las funcionalidades de Python, como la ciencia de datos, el trazado de datos, la visualización de datos y la generación de códigos QR.

image

Características

  • Cuadro de mando de IRIS de arranque responsive

  • Vista de los detalles del cuadro de mando junto con el registro de eventos de interoperabilidad y los mensajes

  • Uso del trazado de Python desde IRIS

  • Uso de Jupyter Notebook

  • Introducción a la ciencia de datos, trazado de datos y visualización de datos

  • Generación de código QR desde Python

1 0
1 994
Artículo
· 2 dic, 2022 Lectura de 2 min
Entorno Virtual de Python Embebido (venv)

Si usáis Python, podéis utilizar el módulo venv para crear un entorno virtual. Este módulo es la manera recomendada de crear y gestionar entornos virtuales.

Un entorno virtual es una herramienta que ayuda a mantener separadas las dependencias requeridas por diferentes proyectos, mediante la creación de entornos virtuales aislados de Python para ellos. Resuelve el dilema “El proyecto X depende de la versión 1.x pero el proyecto Y necesita la 4.x”, y mantiene limpio y manejable el directorio site-packages global.

Así que si trabajáis mucho con Python, como yo, podéis usar el módulo venv para crear un entorno virtual para vuestro proyecto. Esto os permitirá instalar paquetes sin que afecte a la instalación de Python global.

Aquí encontraréis dos alias simples para crear y activar un entorno virtual.

Alias de Python

alias venv="python3 -m venv .venv; source .venv/bin/activate"
alias irisvenv="python3 -m venv .venv; source .venv/bin/activate; pip install https://github.com/grongierisc/iris-embedded-python-wrapper/releases/download/v0.0.1/iris-0.0.1-py3-none-any.whl"

1 0
1 153
Artículo
· 6 jul, 2020 Lectura de 11 min
Machine Learning con Spark e InterSystems IRIS

Apache Spark se ha convertido rápidamente en una de las tecnologías más atractivas para la analítica de big data y el machine learning. Spark es un motor de procesamiento de datos generales, creado para usar con entornos de procesamiento en clúster. Su corazón es el RDD (Resilient Distributed Dataset), que representa un conjunto de datos distribuido con tolerancia a fallos, sobre el que se puede operar en paralelo entre los nodos de un clúster. Spark se implementa con una combinación de Java y Scala, por lo que viene como una biblioteca que puede ejecutarse sobre cualquier JVM. Spark también es compatible con Python (PySpark) y R (SparkR) e incluye bibliotecas para SQL (SparkSQL), machine learning (MLlib), procesamiento de gráficas (GraphX) y procesamiento de flujos (Spark Streaming).

1 0
0 798

InterSystems IRIS actualmente limita sus clases a 999 propiedades.

Pero, ¿qué hacer si necesita almacenar más datos por objeto?

Este artículo respondería a esta pregunta (con el apunte adicional de Community Python Gateway y cómo transferir conjuntos de datos amplios a Python).

En realidad, la respuesta es muy simple: InterSystems IRIS actualmente limita las clases a 999 propiedades, pero no a 999 primitivas. La propiedad en InterSystems IRIS puede ser un objeto con 999 propiedades y así sucesivamente; el límite se puede ignorar fácilmente.

1 0
0 59
Artículo
· 28 jul, 2022 Lectura de 4 min
Cómo añadí ObjectScript a Jupyter Notebook

ObjectScript Kernel Logo

Jupyter Notebook es un entorno interactivo formado por celdas que permiten ejecutar código en un gran número de lenguajes de marcado y programación diferentes.

Para hacer esto, Jupyter debe conectarse a un kernel apropiado. No había un Kernel ObjectScript, por lo que decidí crear uno.

Puedes probarlo aquí.

Este es un adelanto de los resultados:

1 0
0 124
Artículo
· 8 feb, 2023 Lectura de 3 min
Leyendo archivos Excel usando Python Embedded

Python Embedded es una gran herramienta considerando la simpleza y gran cantidad de librerías disponibles, así como una gran comunidad de desarrolladores con toneladas de ejemplos y documentación.

En el siguiente ejemplo les presento una solución para un problema común utilizando Python y ObjectScript.

Un caso de uso muy común es recuperar data desde planillas excel y poblar un objeto persistente en nuestro modelo en IRIS.

para esto utilizaremos pandas, una popular librería Python que nos permite trabajar con DataFrames

1 0
0 168
Artículo
· 11 ago, 2022 Lectura de 3 min
Bienvenido, Django

Gracias a las últimas mejoras al soporte de Python en IRIS y al continuo trabajo en el soporte a la DB-API de Python por parte de InterSystems, he implementado el soporte de IRIS en el proyecto Django, en el que la DB-API de Python se usa para trabajar con otras bases de datos.

Vamos a probar una sencilla aplicación en Django, que almacena sus datos en IRIS.

todo App

1 0
1 92

Os presento mi nuevo proyecto: irissqlcli, REPL (Read-Eval-Print Loop) para InterSystems IRIS SQL.

  • Resaltado de sintaxis
  • Sugerencias (tablas, funciones)
  • +20 formatos de salida
  • Soporte a stdin
  • Salida a ficheros

Instalación con pip

pip install irissqlcli

O se puede ejecutar con docker

docker run -it caretdev/irissqlcli irissqlcli iris://_SYSTEM:SYS@host.docker.internal:1972/USER

1 1
0 82
Artículo
· 22 feb, 2023 Lectura de 2 min
Devolver valores con Python

Por qué he decidido escribir esto

En 2022, publiqué un artículo sobre Python Embebido para principiantes. En ese artículo me preguntaron cómo devolver valores con Python. Respondí a la pregunta y, además, me ha parecido interesante escribir un pequeño artículo sobre el tema. Así también espero llegar a más gente con esta publicación.

1 0
0 248
Artículo
· 23 sep, 2022 Lectura de 4 min
IRIS y Python en la práctica - ¡con ejemplos!

En este artículo vas a encontrar un sencillo programa con Python en un entorno IRIS y otro sencillo programa con ObjectScript en un entorno Python. Además, me gustaría compartir algunos de los errores que tuve cuando empecé la implementación de estos códigos.

Python en entorno IRIS

Supongamos, por ejemplo, que estás en un entorno IRIS y quieres resolver un problema que crees más fácil o más eficiente de resolver en Python.

Puedes simplemente cambiar el entorno: crea tu método como cualquier otro, y al final del nombre y sus especificaciones, añade [ Language = python ]:

0 1
0 466