Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como python

Uvicorn: creando un servicio REST con FastAPI

Anteriormente ya hemos hablado de FastAPI . Ahora hablaremos de Uvicorn , un servidor web ASGI ( Asynchronous Server Gateway Interface ) para Python . Uvicorn es compatible con HTTP/1.1, HTTP/2 y WebSockets. Conociendo Uvicorn Lo primero que haremos será actualizar la herramienta `` pip ``, instalaremos Uvicorn y listaremos los paquetes instalados: $ python -m pip install --upgrade pip $ pip install uv uvicorn $ pip list Creando un Hola, mundo con Uvicorn y FastAPI Crearemos el proyecto: $ uv init hola-mundo --bare $ cd hola-mundo $ uv add "fastapi[standard]" Esto hará lo siguiente: Crear el proyecto.  Ubicarnos en el directorio principal. Añadir las dependencias necesarias. Crearemos el archivo `` main.py `` y su contenido será el siguiente: from fastapi import FastAPI app = FastAPI() @app .get( "/" ) async def root (): return { "message" : "Hola, mundo" } Esta ap...

ANTLR, una (otra) herramienta para el reconocimiento del lenguaje

ANTLR ( ANother Tool for Language Recognition ) es una herramienta que permite generar analizadores léxicos y sintácticos a partir de una gramática. En lugar de escribir manualmente todo el código necesario para interpretar un lenguaje, simplemente describimos las reglas del mismo y ANTLR genera automáticamente gran parte de la infraestructura necesaria. Como lo dice la página oficial: Es un potente generador de analizadores sintácticos para leer, procesar, ejecutar o traducir texto estructurado o archivos binarios.  Se utiliza ampliamente para crear lenguajes, herramientas y marcos de trabajo.  A partir de una gramática, genera un analizador sintáctico capaz de construir y recorrer árboles de análisis. Nota: Esta herramienta es un paso para el análisis léxico y el parseo . No te generará un compilador completo , pero sí te da la base más difícil: el análisis léxico y sintáctico . Tú debes implementar las fases de semántica y generación de código ....

¿Existen los punteros en Python?

  En Python no existe el concepto de puntero de manera explícita. Es decir, no puedes manipular directamente direcciones de memoria ni hacer aritmética de punteros . Sin embargo, Python sí maneja referencias a objetos , y en la práctica funcionan de manera similar a punteros seguros. Esto te permite compartir y modificar estructuras sin necesidad de copiar. En Python el concepto de punteros funcionaría de la siguiente manera: Todas las variables en Python son referencias a objetos en memoria.  Cuando asignas una variable a otra, ambas apuntan al mismo objeto.  No puedes acceder a la dirección de memoria directamente (como con & en Go o * en C), pero puedes usar la función id() para obtener un identificador único del objeto (que suele estar relacionado con su dirección interna). Simulemos punteros en Python: x = [ 1 , 2 , 3 ] y = x # y referencia al mismo objeto que x y.append( 4 ) print (x) # [1, 2, 3, 4] -> s...

Webassembly: Hola, mundo en Python (con Pyodide)

Continuamos, después de un tiempo considerable, a hablar de Webassembly . Esta vez como lenguaje base usaremos Python. Como herramienta extra usaremos Pyodide , una distribución de CPython compilada a WebAssembly (WASM) que permite ejecutar código Python directamente en el navegador web o en Node.js. No es necesaria su instalación, aunque existe la posibilidad de hacerlo. Pyodide nos permite: Ejecutar Python en el navegador sin instalación.  Usar librerías científicas y de análisis de datos.  Integrar Python con JavaScript y el DOM.  Crear notebooks y aplicaciones web interactivas. Programando en Python (y Pyodide) Hagamos algunos ejercicios para comprobar el funcionamiento de esta herramienta. Ejemplo 1. Escribir el clásico "Hola, mundo" en Python y Pyodide . holamundo.html <!DOCTYPE html> < html > < head > < meta charset = "utf-8" > < title > Hola Mundo con Pyodide </ title > < s...

gRPC con Python

  Hoy veremos un ejemplo de uso de gRPC con Python . Para ello verificaremos la versión de Python y Pip instalados en nuestro sistema, ya que gRPC requiere al menos que se tenga la versión 3.7 para Python y la versión 9.0.1 o mayor de Pip. Abrimos una terminal y tecleamos: $ py -- version # 3.13.3 $ pip -- version # 25.2 ¿Por qué Python? Es un lenguaje de programación multipropósito.  Permite el uso de diferentes paradigmas, como el orientado a objetos y hasta el funcional.  Posee miles de librerías que nos permiten trabajar con diversas herramientas, entre ellas gRPC . ¿Por qué gRPC? Es ideal para desarrollos modernos como microservicios que requieren alto rendimiento, baja latencia y comunicación eficiente.  Tiene soporte a lenguajes como Go, Python, Java, C# y C++. Instalemos gRPC con ayuda de Pip : $ pip install grpcio Instalemos también las herramientas de gRPC : $ pip install grpcio-tools Verifiquemos ...

PyUnit: Python UnitTesting Framework

Según la documentación oficial, PyUnit es: una herramienta que permite escribir pruebas fácilmente, agregarlas para ejecutarlas en masa y ejecutarlas en modo texto o GUI. Características: PyUnit se basa en JUnit de Java y, por lo tanto, utiliza una arquitectura de pruebas probada.  PyUnit forma parte de la biblioteca estándar de Python 2.1.  Se utiliza en producción en muchos sitios desde su primera versión a finales de 1999.  PyUnit se utiliza para probar Zope, probablemente el software de Python más grande y conocido. Descarga en este sitio: https://sourceforge.net/projects/pyunit/files/pyunit/1.4.1/pyunit-1.4.1.zip/download?use_mirror=master Para versiones de Python superiores a la 2.1 ya viene preinstalado, por lo que no tendremos que descargar ningún paquete adicional. Abrimos una terminal y tecleamos lo siguiente: $ python -- version $ python >> import unittest >> help( "unittest" ) >> quit() Si no hay algún problema...

TensorFlow: una herramienta para Machine Learning y Deep Learning

TensorFlow es una biblioteca de software libre y de código abierto, desarrollada por Google, para el aprendizaje automático (machine learning) y el aprendizaje profundo (deep learning). La cual se utiliza para aprendizaje automático , el procesamiento de lenguaje natutal , reconocimiento de imágenes y demás soluciones que tengan que ver con el aprendizaje automático. Instalarlo no te llevará mucho tiempo. Solo abre una consola y teclea lo siguiente: $ pip install tensorflow Una vez instalado verificamos: $ pip show tensorflow Name: tensorflow Version: 2.20 . 0 Summary: TensorFlow is an open source machine learning framework for everyone. Home - page: https: // www.tensorflow.org / Author: Google Inc. Author - email: packages@tensorflow.org License: Apache 2.0 Location: C:\Users\HP\AppData\Local\Programs\Python\Python313\Lib\site - packages Requires: absl - py, astunparse, flatbuffers, gast, google_pasta, grpcio, h5py, keras, libclang, ml_dtypes, numpy, opt_eins...