Skip to main content

Lightweight web framework

Project description

PYMETRICK

Pymetrick version 0.80.10

Mini marco de desarrollo basado en Python 3.11+ ( TODO EN UNO ), al disponer de todos los módulos necesarios para cualquier desarrollo web (templates, session/cookies, routing de solicitudes, gestión MySQL y SQLite, rst - reStructuredText, identificación de conexiones, tratamiento de imagenes, tratamiento de correos,...etc) permite prescindir de librerias ajenas a las librerías estándar de PYTHON, aunque el uso de librerías externas no se excluye completamente.

Se aceptan contribuciones de codigo que permitan la adaptación a desarrollos empresariales, con igual licencia que PYMETRICK.

INDICE DE MODULOS

  • IMAGE o cómo gestionar imagenes
  • SQLDB o cómo gestionar BB.DD. (mariaDB)
  • MAIL tratamiento de correo
  • EXCHEQUER tratamiento fiscal e identificación (NIF/CIF/NIE/VAT) y Registro de Operadores Intracomunitarios
  • HELPERS o gestión de utilidades universales de uso común
  • RST o reStructuredText gestiona el formato de textos convirtiendolo en html
  • COMMON o dónde identificar valores universales
  • FPDF generación de documentos PDF ( versión de pyFPDF con incorporaciones de pymetrick )
  • ISSUE formatos comerciales como facturas, tickets (PDF y ESC/POS), etiquetas de almacén,...
  • BUCKET gestiona OBJECT STORAGE o servicios compatibles con AWS S3

IMAGE

Este módulo permite la adaptación o manipulación de las imágenes a cualquier necesidad, desde el peso de las imágenes hasta su formato.

Importar Image:

from pymetrick.image import *

Utilidades con imagenes : image_size(path) Comprueba las dimensiones de la imagen.

    image_resize(__path__,__factor__=1,__resized_path__='') Convierte fichero de imagen a un tamaño diferente, ademas es posible cambiar el tipo de imagen de png, jpeg o gif a otro cuando se renombra el fichero de imagen resultante.

    strip_metadata(image_path,newImage=None) Elimina los metadatos EXIF de una imagen, guardando en el mismo nombre de imagen o bien en otra imagen nueva.

    image2html('logo.png') Devuelve una imagen en base64 como un string de forma que se pueda utilizar como imagen embebida en css o html.

    image2base64('logo.png') Devuelve una imagen en base64 extendido  ( file_name$string_base64).

    image2avif(entrada_path, salida_path, quality=70, speed=6) Transforma una imagen en formato .avif .

    image_download('http://nadadenada.com/coche.png', '/img/coche_2.png') Descarga una imagen desde una url con <urllib> y permite renombrar el fichero.

    image_checksums('logo.png') Devuelve un hash como un string que identifica la imagen para ser comparada con otras imagenes.

    image_compare(file1,file2) Devuelve 0 si las imagenes comparadas son iguales, en caso contrario devolvera un valor distinto de 0.
    
    image_qrcode('/home/content.png'logo.png') Devuelve datos/informacion en formato qrcode como imagen png

SQLDB

Gestión de la conexión con BB.DD. como MySQL (MYSQL.CONNECTOR), PostgreSQL (PSYCOPG2) y SQLite.

Incluye funciones dirigidas a conexión, reconexión, así como la creación, modificación, eliminación y utilidades de BB.DD.,tablas, indices,...

SESSION

Identifica las conexiones de clientes mediante JSON WEB TOKENS stateless authentication, que se intercambian entre el servidor WEB y el cliente a través de : HTTP_COOKIE HTTP_X_AUTHORIZATION or X_REQUEST_WITH HTTP_HOST HTTP_CLIENT_IP o HTTP_X_FORWARDED_FOR o REMOTE_ADDR

Incorpora también funciones de encriptación y generación de passwords

MAIL

Con el módulo MAIL se gestiona el correo electrónico. Condición necesaria es disponer de un servidor SMTP y POP3 o IMAP

Parámetros necesarios :

sendMail()        Enviar mail e incorporar ficheros adjuntos si fuera necesario
    _sender       - str  -  enviado desde
    _to           - list -  enviar a
    _cc           - list -  enviar copias
    _bcc          - list -  enviar copias ocultas
    _subject      - str  -  asunto
    _text         - str  -  text/plain del mensaje
    _html         - str  -  text/html  del mensaje
    _user         - str  -  usuario
    _password     - str  -  password
    _smtpserver   - str  -  servidor smtp
    _smtp_port    - str  -  puerto
    _imapserver   - str  -  servidor imap ( crea correo en carpeta SENT )
    _imap_port    - str  -  puerto
    _files        - list -  ficheros adjuntos
    _output       - str  -  el contenido del mensaje se grabara como un fichero

getMail()         Recepción de mail desde POP3|IMAP
    _user         - str  -  usuario
    _password     - str  -  password
    _imapserver   - str  -  servidor IMAP
    _pop3server   - str  -  servidor POP3
    _port         - str  -  puerto
    _criteria     - str  -   
                    ALL - devuelve todos los mensajes que coinciden con el resto del criterio
                    ANSWERED - coincide con los mensajes con la bandera \\ANSWERED establecida
                    BCC "cadena" - coincide con los mensajes con "cadena" en el campo Bcc:
                    BEFORE "fecha" - coincide con los mensajes con Date: antes de "fecha"
                    BODY "cadena" - coincide con los mensajes con "cadena" en el cuerpo del mensaje
                    CC "cadena" - coincide con los mensajes con "cadena" en el campo Cc:
                    DELETED - coincide con los mensajes borrados
                    FLAGGED - coincide con los mensajes con la bandera \\FLAGGED establecida (algunas veces referidos como Importante o Urgente)
                    FROM "cadena" - coincide con los mensajes con "cadena" en el campo From:
                    KEYWORD "cadena" - coincide con los mensajes con "cadena" como palabra clave
                    NEW - coincide con los mensajes nuevos
                    OLD - coincide con los mensajes antiguos
                    ON "fecha" - coincide con los mensajes con Date: coincidiendo con "fecha"
                    RECENT - coincide con los mensajes con la bandera \\RECENT establecida
                    SEEN - coincide con los mensajes que han sido leídos (la bandera \\SEEN esta estabecido)
                    SINCE "fecha" - coincide con los mensajes con Date: despues de "fecha"
                    SUBJECT "cadena" - coincide con los mensajes con "cadena" en Subject:
                    TEXT "cadena" - coincide con los mensajes con el texto "cadena"
                    TO "cadena" - coincide con los mensajes con "cadena" en To:
                    UNANSWERED - coincide con los mensajes que no han sido respondidos
                    UNDELETED - coincide con los mensajes que no están eliminados
                    UNFLAGGED - coincide con los mensajes que no tienen bandera
                    UNKEYWORD "cadena" - coincide con los mensajes que no tienen la palabra clave "cadena"
                    UNSEEN - coincide con los mensajes que aun no han sido leidos
    _outputdir    - str  -

deleteIMAP()      Eliminar mail de servidor IMAP
    _user         - str  -  usuario
    _password     - str  -  password
    _imapserver   - str  -  servidor IMAP
    _port         - str  -  puerto
    _folder       - str  -  carpeta a tratar

timeZone(zona)

EXCHEQUER

Con el módulo EXCHEQUER pueden introducirse datos identificativos fiscales en las transacciones comerciales, así como validar las identificaciones aportadas según reglas de cada país.

HELPERS

Se admiten todas las clases o funciones que por su funcionalidad, puedan compartirse entre los restantes módulos o no tengan un fín funcional asociado a los restantes módulos.

COMMON

Proporciona listas de valores universales para todos los módulos.

FPDF

Producción de documentos en formato PDF. Este módulo es una actualización del original FPDF versión 1.7.1 en el que se han incluído EAN13, UPC_A y funciones auxiliares para producir códigos de barras no incluídos en la versión previa.

VERSIONES

Las versiones estables se indicarán con número de versión par. Las versiones en desarrollo y que incorporen características experimentales se numerarán con versión impar.

Ver 0.01 21/09/2012 Licencia GPLv3 - en desarrollo - Las pruebas de desarrollo se realizan sobre un ordenador RASPBERRY PI 512Mb RAM, 1 GHz CPU y tarjeta SD de 64Gb con una evolución satisfactoria. El objetivo es desarrollar una librería simple y funcional. El entorno hardware de desarrollo se complementa con un servidor MySQL 5 y servidor web APACHE 2 con mod_wsgi.

Ver 0.80.6 10/06/2024 Licencia GPLv3 - versión estable -

CREDITOS O COLABORACIONES

Cualquier desarrollo que se incorpore a un módulo o la introducción de nuevos desarrollos deben ser aprobados antes de formar parte de la libreria, debiendo respetar la licencia GPLv3. El reconocimiento de los desarrolladores que colaboren a mejorar la librería se incorporará en la cabecera 'CREDITS' de los módulos afectados por sus desarrollos.

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

pymetrick-0.80.10.tar.gz (186.7 kB view details)

Uploaded Source

Built Distribution

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

pymetrick-0.80.10-py3-none-any.whl (197.3 kB view details)

Uploaded Python 3

File details

Details for the file pymetrick-0.80.10.tar.gz.

File metadata

  • Download URL: pymetrick-0.80.10.tar.gz
  • Upload date:
  • Size: 186.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for pymetrick-0.80.10.tar.gz
Algorithm Hash digest
SHA256 27de88eff737510f1b239ca5f3d27ee9ab34c5eccc5d6bf29f96d1bab9ca3a93
MD5 62f946919e6657f56bfeb98748e5c98c
BLAKE2b-256 f82b316f9d90de0f94c496baed2c52833f32b6b725a8b9a087b75b5ac476d15b

See more details on using hashes here.

File details

Details for the file pymetrick-0.80.10-py3-none-any.whl.

File metadata

  • Download URL: pymetrick-0.80.10-py3-none-any.whl
  • Upload date:
  • Size: 197.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for pymetrick-0.80.10-py3-none-any.whl
Algorithm Hash digest
SHA256 e8ac293e67bccfd6c18f2ce7b36d57620548cf6c121a53438ef58c486a876744
MD5 d02df59b194c211423361481effb855c
BLAKE2b-256 097883000d4151e24bd72d7ea397d57f2db7e6533bef6414397b7ce7e959a041

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