#Embedded Python

0 Seguidores · 134 Publicaciones

Embedded Python consiste en la integración del lenguaje de programación Python en el núcleo de InterSystems IRIS, lo que permite a los desarrolladores operar con datos y desarrollar la lógica empresarial de las aplicaciones del lado del servidor utilizando Python.

Documentación.

Artículo Luis Angel Pérez Ramos · oct 20, 2023 1m read

Nuevo viernes y nueva predicción de la Quiniela.

Como anunciamos ayer, QuinielaML ha mejorado en su modelo de predicciones restándole peso a los resultados históricos, ¡veamos si es cierto!

Esta es la Quiniela de esta jornada:

Las predicciones para Primera División serán:

Y para Segunda División:

Esto nos dejaría la siguiente predicción:

Suerte a todos ¡y sobretodo a mi!

2
0 129
Anuncio Luis Angel Pérez Ramos · oct 19, 2023

¡Como lo oís! QuinielaML ha incorporado en su servicio de predicciones a las ligas más importantes de Europa (y Brasil) así que, estimados miembros de la Comunidad de Desarrolladores, seais de donde seais, podréis tener a vuestra disposición las predicciones de vuestras ligas favoritas.

Desde la pantalla de predicciones tendréis acceso a cada una de las nueva ligas incluidas, pudiendo registrar los partidos de cada jornada:

2
0 75
Artículo Luis Angel Pérez Ramos · oct 6, 2023 1m read

Como no podía ser de otra manera y fieles a nuestra cita de los viernes, procedemos a publicar las predicciones de la aplicación QuinielaML para la jornada 9ª de Primera División y 10ª de Segunda.

Os recuerdo que QuinielaML está desarrollada sobre InterSystems IRIS haciendo uso de sus capacidades de Machine Learning que proporciona mediante la funcionalidad IntegratedML así como de Embedded Python que permite la captura de datos para entrenar el modelo predictivo.

Aquí tenemos la jornada de este fin de semana:

Veamos que tenemos para Primera División:

Y ahora Segunda:

1
0 285
Artículo Luis Angel Pérez Ramos · sep 29, 2023 1m read

¡Volvemos al ataque con la Quiniela! 8ª jornada en Primera y Segunda División y con la QuinielaML deseando resarcirse de los 4 aciertos del pasado fin de semana. Aquí tenemos el boleto de esta jornada:

Y estas son las predicciones para Primera División:

Y ahora para Segunda División:

Por lo que la Quiniela quedaría tal que así:

Pues ale, ya tenéis lo necesario para haceros ricos. ¡Feliz viernes!

1
0 189
Artículo Luis Angel Pérez Ramos · ago 22, 2023 4m read

Bienvenidos estimados miembros de la Comunidad a la presentación y primera entrega de un pequeño proyecto que demostrará las capacidades de InterSystems IRIS para proporcionar funcionalidades plenas de backup para una aplicación web desarrollada en Angular. Este artículo se limitará a presentar el concepto así como las funcionalidades de InterSystems IRIS utilizadas de un modo general, entrando más en detalle en posteriores artículos.

¡Bienvenidos a QuinielaML!

Introducción

2
0 525
Artículo Luis Angel Pérez Ramos · ago 29, 2023 8m read

Proseguimos con la serie de artículos basados en la aplicación QuinielaML.

En el artículo de hoy describiré como trabajar con la funcionalidad de Embedded Python disponible en los productos de InterSystems.

Embedded Python nos permite la utilización de Python como lenguaje de programación dentro de nuestras producciones, pudiendo sacar provecho de todas las funcionalidades disponibles en Python. Aquí podéis ampliar información al respecto.

Antes de nada recordemos cómo es el diseñor de la arquitectura de nuestro proyecto:

Problemática

0
0 152
Artículo Alberto Fuentes · jul 28, 2023 7m read

¡Hola Comunidad!

Me alegra anunciar la nueva versión de iris-pex-embedded-python (v2.3.1) con una nueva interfaz de línea de comandos.

Esta línea de comandos se llama iop por Interoperability On Python.

Primero me gustaría presentar los principales cambios del proyecto desde la versión 1.

Breve historia del proyecto

La versión 1.0 fue una prueba de concepto para mostrar cómo el framework de interoperabilidad de IRIS se puede utilizar con un enfoque python first mientras sigue siendo compatible con cualquier código existente de ObjectScript.

¿Qué significa eso? Significa que cualquier desarrollador Python puede usar el framework de interoperabilidad de IRIS sin ningún conocimiento de ObjectScript.

Ejemplo:

from grongier.pex import BusinessOperation

class MyBusinessOperation(BusinessOperation):

    def on_message(self, request):
        self.log.info("Received request")

Genial, ¿cierto?

0
0 76
Artículo Luis Angel Pérez Ramos · mar 9, 2023 3m read
   _________ ___ ____  
  |__  /  _ \_ _|  _ \ 
    / /| |_) | || |_) |
   / /_|  __/| ||  __/ 
  /____|_|  |___|_|    

Desde la versión 2021.1, InterSystems IRIS empezó a distribuirse con un runtime de Python en el motor del kernel. Sin embargo, no había forma de instalar paquetes desde dentro de la instancia. La principal ventaja de Python es su enorme ecosistema de paquetes. Con ello en mente, os presento mi proyecto zpip, un empaquetador pip que se puede invocar desde el terminal de iris.

¿Qué es zpip?

1
0 131
Artículo Dmitry Maslennikov · feb 17, 2023 4m read

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

pipinstallirissqlcli

O se puede ejecutar con docker

dockerrun-itcaretdev/irissqlcliirissqlcliiris://_SYSTEM:SYS@host.docker.internal:1972/USER
1
0 121
Artículo Alberto Fuentes · jun 14, 2023 11m read

Qué es el Web Scraping:

En términos sencillos, el Web scraping, también conocido como recolección de datos de sitios web o extracción de datos de sitios web es un proceso automatizado que permite la recopilación de grandes volúmenes de datos (no estructurados) de los sitios web. El usuario puede extraer datos de sitios web específicos, según sus necesidades. Los datos recopilados se pueden almacenar en un formato estructurado para su posterior análisis.

¿Qué es el Web Scraping? — James Le

0
0 467
Artículo Luis Angel Pérez Ramos · mayo 19, 2023 1m read

¡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:

0
0 69
Artículo Luis Angel Pérez Ramos · mayo 8, 2023 6m read

¡Bienvenidos, estimados miembros de la comunidad!

En este artículo vamos a demostrar el gran potencial que IRIS/HealthConnect pone a disposición de todos sus usuarios con el uso de Python Embebido y lo vamos a hacer mediante el desarrollo de una pequeña producción que nos va a permitir reconocer e identificar las caras presentes en un archivo JPG a partir de unas imágenes que usaremos como referencia.

Configurando el proyecto:

0
0 428
Artículo Ricardo Paiva · mar 30, 2023 1m read

Quick Tips: Total Productive Maintenance

Los parámetros nombrados se pueden conseguir con SQLAlchemy :  

from sqlalchemy import create_engine, text,types,engine

_engine = create_engine('iris+emb:///')

with _engine.connect() as conn:
    rs = conn.execute(text("select :some_private_name"), {"some_private_name": 1})
    print(rs.all())

o con api nativa

from sqlalchemy import create_engine, text,types,engine

# set URL for SQLAlchemy
url = engine.url.URL.create('iris', username='SuperUser', password='SYS', host='localhost', port=33782, database='FHIRSERVER')

_engine = create_engine(url)

with _engine.connect() as conn:
    rs = conn.execute(text("select :some_private_name"), {"some_private_name": 1})
    print(rs.all())
0
0 112
Artículo Jose-Tomas Salvador · oct 6, 2022 6m read

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.

1
1 739
Artículo Heloisa Paiva · mar 9, 2023 2m read

Por qué he decidido escribir esto

En mi ultimo artículo he hablado de la devolución de valores con Python. Pero la devolución es muy simple, lo que la puede hacer difícil es de lo que voy a hablar hoy: dónde es tratado el valor.
 

Objeto Python en IRIS

Siguiendo el ejemplo del último artículo, tenemos el método:

Class python.returnTest [ Abstract ]
{

ClassMethod returnSomething(pValue... As%String) As%Integer [ Language = python ]
{
	return pValue
}

}
0
0 152
Artículo Heloisa Paiva · feb 22, 2023 2m read

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.

Situaciones posibles

Hay dos cosas de las que ocuparse cuándo se devuelve un valor con Python. La primera es el tipo que intentas devolver y la segunda es dónde lo devuelves.

0
0 480
Artículo Rubén Larenas · feb 8, 2023 3m read

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

0
0 265
Artículo Luis Angel Pérez Ramos · ene 24, 2023 3m read

¡Hola desarrolladores!

Python tiene un ecosistema muy extenso y potente que contiene miles de librerías y paquetes disponibles, especialmente en Data Science.

Por ello, quería hacer un primer intento de usar la funcionalidad Python Embebido para, de forma sencilla, importar una librería de Python llamada datetime, generar datos con un componente timestamp y persistirlo en InterSystems IRIS for Health. También funcionará en InterSystems IRIS.

0
0 272
Artículo Luis Angel Pérez Ramos · ene 16, 2023 4m read

Motivación

Empecé en este proyecto pensando en cómo permitir que el código Python trabaje de forma natural con el almacenamiento escalable y el eficiente mecanismo de recuperación de datos ofrecido por los globals de IRIS, a través de Python Embebido.

Mi idea inicial era crear algo como un diccionario de implementación de Python usando globals, pero pronto me di cuenta de que antes debía ocuparme de la abstracción de objetos.

0
0 141
Artículo Luis Angel Pérez Ramos · ene 2, 2023 5m read

¡Hola desarrolladores!

Comparto con vosotros una plantilla de Python Embebido básica, que recomiendo como punto de partida para cualquier proyecto general con InterSystems IRIS que use Python Embebido.

Funcionalidades:

  • Python Embebido configurado;
  • 3 ejemplos con difentes formas de desarrollar con Python Embebido;
  • VSCode configurado;
  • Docker disponible;
  • Demo online disponible;
  • Desarrollo ZPM First disponible.

Vamos a comentar estas funcionalidades.

0
0 143
Artículo Muhammad Waseem · jul 15, 2022 5m read

¡Hola Comunidad!

En este artículo voy a explicar cómo acceder a la información y a las tablas del dashboard (cuadro de mando) del sistema del Portal de Administración mediante el uso de Python Embebido.

1
0 214
Artículo Alberto Fuentes · dic 2, 2022 2m read

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"
0
1 237
Anuncio Esther Sanchez · nov 15, 2022

¡Hola Comunidad!

Os presentamos la 3ª mesa redonda de la Comunidad - 60 minutos de animada charla (en inglés) sobre el tema: Desarrollando con Python

La idea es juntarse para compartir ideas, experiencias, trucos y consejos. Si tenéis alguna pregunta sobre el tema, podéis escribirla en los comentarios de esta publicación y se responderá y comentará durante la mesa redonda.

🗣 Ponentes: @Guillaume Rongier@Eduard Lebedyuk

📅 Fecha: Miércoles 23 de noviembre
🕑 Hora: 3:00 PM (CET)

➡️Podéis registraros aquí >>

0
0 94
Artículo Luis Angel Pérez Ramos · oct 28, 2022 8m read

Acceso a Producción Programática

Para editar producciones programáticamente (interfaces) puedes usar una combinación de APIs de Interoperabilidad y consultas SQL.

Namespace actual

Es importante conocer el namespace y la producción en la que estás trabajando.

// Object script 
// El namespace activo se guarda en esta variable
$$$NAMESPACE 
// Imprimir el namespace
Write $$$NAMESPACE
# Python
import iris
# Este método retorna el namespace activo
iris.utils._OriginalNamespace()
# Imprimir el namespace
print(iris.utils._OriginalNamespace())
>>> DEMONSTRACIÓN

Producción activa

0
1 160
Artículo Ricardo Paiva · oct 20, 2022 2m read

Me gustaría compartir un ejemplo sobre cómo la nueva funcionalidad de Python Embebido en IRIS me ha ayudado en mis rutinas diarias.

Mientras participaba en el proyecto iris-kaggle-socrata-generator con Henrique Dias, tuve que descomprimir conjuntos de datos de Kaggle para poder importarlos.

Conseguí hacerlo fácilmente mediante el uso de la librería zipfile en Python (este código se copió de este stackoverflow):

0
1 132