Skip to main content

Herramientas para Servextex

Project description

ServexTools

PyPI version License: MIT Herramientas avanzadas para sistemas empresariales Python/Flask


Descripción General

ServexTools es una colección de utilidades y componentes para acelerar el desarrollo de sistemas empresariales, especialmente aquellos basados en Flask y MongoDB. Incluye funciones para manejo de base de datos, generación de tablas HTML, manejo de sesiones, replicación de datos, logs avanzados, y más.

Características principales

  • Integración con Flask y MongoDB: CRUD, replicación, manejo de sesiones y seguridad.
  • Generación avanzada de tablas HTML: Paginación, formateo, totales, marcado condicional y procesamiento eficiente con Polars y Numpy.
  • Utilidades de fecha/hora: Conversión, formateo y cálculo de diferencias.
  • Logs y monitoreo: Escritura de logs con rotación automática y soporte para consola y procesos.
  • Operaciones con archivos y directorios: Manipulación, borrado seguro, compresión/descompresión.
  • Encriptación y seguridad: JWT, manejo seguro de datos sensibles.
  • Componentes reutilizables: Manejo de sesiones, tablas, replicación, y más.

Estructura del Proyecto

ServexTools/
├── Tools.py           # Utilidades generales (fechas, archivos, formateo, logs, API, etc.)
├── Table.py           # Generación de tablas HTML avanzadas
├── ReplicaDb.py       # Replicación de datos MongoDB
├── EscribirLog.py     # Escritura y rotación de logs
├── GetTime.py         # Utilidades de tiempo y fecha
├── Necesario.py       # Manejo de sesiones y paginación avanzada
├── conexion.py        # Conexión y operaciones con MongoDB/SQLite
├── socket_manager.py  # Manejo de WebSockets con Flask-SocketIO
├── Enumerable.py      # Enumeraciones y constantes
├── TablePV.py         # Tablas para punto de venta
└── __init__.py        # Inicialización del paquete

Uso Rápido

Conexión y operaciones básicas

from ServexTools import Tools

# Ejemplo: Insertar un documento en MongoDB
coleccion, cliente = Tools.Get('usuarios')
doc = {"nombre": "Juan", "edad": 30}
coleccion.insert_one(doc)

# Ejemplo: Obtener fecha formateada
from ServexTools import Tools
fecha = Tools.DateFormat("25/12/2023")
print(fecha)

Generación de tablas HTML

from ServexTools import Table

datos = [
    {"Nombre": "Juan", "Edad": 30},
    {"Nombre": "Ana", "Edad": 25}
]
columnas = ("Nombre", "Edad")
html = Table.CrearTabla(datos, NombreColumnas=columnas)
print(html)

Documentación de Componentes

Tools.py

  • Utilidades generales para fechas, archivos, formateo, logs, encriptación y operaciones API.
  • Funciones destacadas:
    • DateFormat, DateTimeFormat, StrToDate, StrToInt, FormatoMoneda
    • OptenerDatos(request): Extrae y normaliza datos de un request Flask
    • EscribirLog(texto, tipo): Escribe logs rotativos
    • Encriptar(datos, clave), DesEncriptar(datos, clave): Seguridad JWT
    • TiempoEspera(tiempo, IsGevent): Espera con interrupción por archivo .kill

Table.py

  • Generador de tablas HTML dinámicas con paginación, formateo y marcado condicional.
  • Soporte para grandes volúmenes de datos usando Polars y Numpy.
  • Ejemplo de uso en sección anterior.

ReplicaDb.py

  • Replicación automática de operaciones MongoDB entre instancias.
  • Clases: ReplicaCollection, ReplicaDB, ReplicaCluster.
  • Métodos compatibles con PyMongo: insert_one, update_one, delete_one, etc.

Necesario.py

  • Manejo avanzado de sesiones y paginación de datos en MongoDB.
  • Clase Session para almacenar grandes volúmenes en la base.

EscribirLog.py

  • Escritura y rotación de logs por tipo (Error, Consola, Procesos, Update).
  • Integración con consola y WebSockets.

conexion.py

  • Abstracción para conexión MongoDB y SQLite.
  • Procesamiento seguro de inserciones/actualizaciones.

Dependencias

  • flask
  • pymongo
  • pytz
  • PyJWT
  • httpx
  • gevent
  • flask-socketio
  • tqdm
  • polars-lts-cpu
  • numpy

Licencia

MIT - Ver archivo LICENSE

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

servextools-0.1.28.tar.gz (40.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

servextools-0.1.28-py3-none-any.whl (41.8 kB view details)

Uploaded Python 3

File details

Details for the file servextools-0.1.28.tar.gz.

File metadata

  • Download URL: servextools-0.1.28.tar.gz
  • Upload date:
  • Size: 40.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for servextools-0.1.28.tar.gz
Algorithm Hash digest
SHA256 3694aff9c2a74dfc3e86a91c8bad5bb82726e62719e91a4fb77cc59f26537e7f
MD5 de305fd80b858c18b9f711a7ccd0f1e8
BLAKE2b-256 9f2ff4449d35d9ba39f590035e46d6e0308aef21cd676cc430e93a538fa48c56

See more details on using hashes here.

File details

Details for the file servextools-0.1.28-py3-none-any.whl.

File metadata

  • Download URL: servextools-0.1.28-py3-none-any.whl
  • Upload date:
  • Size: 41.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for servextools-0.1.28-py3-none-any.whl
Algorithm Hash digest
SHA256 dff6e859b5869b5bc44c31c41f3c1e69a9f8bbb47b86dcc207b0f8d776e8faa8
MD5 9add0a2064932c4e043810f705eef6a0
BLAKE2b-256 b920560e48e3c2e7543d88710c21bf16c080a0e731f21f0cfbaec677d07e47b2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page