Saltar al contenido principal

Usar uv en reComputer

Introducción​

Este wiki explica cómo usar uv en la caja reComputer. uv es un gestor de paquetes y resolvedor rápido, moderno y ligero para Python. Está diseñado para ser un reemplazo directo de las herramientas tradicionales de gestión de paquetes de Python como pip y pip-tools, ofreciendo mejoras significativas en velocidad, eficiencia y usabilidad.

Preparar Hardware​

reComputer R1125reComputer AI R2130reComputer AI Industrial R2145
reComputer Industrial R20xxreComputer Industrial R21xx

Preparar software​

actualizar el sistema​

sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
sudo apt update
sudo apt full-upgrade

Instalar uv​

curl -LsSf https://astral.sh/uv/install.sh | sh

Usar uv​

Inicializar el proyecto​

Aquí, usamos uv_test como ejemplo para demostrar el uso de uv.

Nota: Por favor, usa un nombre de proyecto diferente y asegúrate de que sea diferente de cualquier paquete en PyPI.

uv init uv_test --package
cd uv_test

Verificar la estructura del proyecto

ls -la
tree

Crear un entorno python​

Aquí puedes crear un entorno python

uv venv 
source .venv/bin/activate

Agregar dependencias​

Usar numpy para construir función:

uv add numpy

Crear función​

Usar NumPy para escribir una función add en add.py como ejemplo:

add.py
import numpy as np

def add(arr1: np.ndarray, arr2: np.ndarray) -> np.ndarray:
"""
Adds two NumPy arrays element-wise.

Parameters:
arr1 (np.ndarray): The first input array.
arr2 (np.ndarray): The second input array.

Returns:
np.ndarray: The element-wise sum of arr1 and arr2.

Raises:
ValueError: If the input arrays have different shapes and cannot be broadcasted.
"""
# Ensure that both arrays have compatible shapes for element-wise addition
try:
result = np.add(arr1, arr2)
except ValueError:
raise ValueError("Input arrays have incompatible shapes for element-wise addition.")

return result

if __name__ == "__main__":
# Example usage
arr1 = [1, 2, 3]
arr2 = [4, 5, 6]
print("Result of addition:", add(arr1, arr2))

Los resultados son los siguientes:

Construir el paquete​

Para construir el proyecto en un archivo .whl utilizable, modifica el archivo toml como sigue:

Construir el paquete:

uv build
ls -a

Los resultados son los siguientes:

Probar el paquete​

Instalar el paquete como se muestra a continuación:

uv pip install dist/uv_test-0.1.0-py3-none-any.whl 

Usar script de python para probar el paquete:

add.py
from uv_test.add import add

if __name__ == "__main__":
arr1 = [1, 2, 3]
arr2 = [4, 5, 6]
print("Result of addition:", add(arr1, arr2))

Subir el paquete a PyPi​

Si no tienes una cuenta de PyPI, por favor regístrate para obtener una cuenta y crea un token.

uv publish

El resultado es como se muestra a continuación, e ingresa tu token:

Resultado​

Finalmente, puedes ver tu proyecto subido en PyPI.

Soporte Técnico y Discusión de Productos​

¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.

Loading Comments...