Skip to main content

Esta libreria permite crear y gestionar variables y eventos en multiples scripts a la vez

Project description

MultiSignals

Instalación

Instala el paquete con:

pip install MultiSignals

Importación

Importa el módulo con:

import MultiSignals

Inicialización

Para crear una instancia de servidor:

signals = MultiSignals.MultiSignals(
    daemon=True,
    url="http://127.0.0.1:5000/vars",
    host="127.0.0.1",
    port=5000
)
  • daemon: define si el servidor se cierra al terminar el script.
  • url: dirección interna usada por el servidor para comunicación.
  • host: parte entre http:// y :port.
  • port: número de puerto que se usa para alojar el servidor.

⚠️ La URL http://host:port es compatible con navegadores para visualización básica.
La URL http://host:port/vars es la usada internamente por el sistema y no es compatible con navegadores.


Uso

1. Clases

Signals

Clase devuelta por varias funciones, con los siguientes atributos:

  • operation: tipo de operación realizada ("view", "send", etc.)
  • returncode: código HTTP de respuesta
  • value: valor resultante de la operación
  • data: diccionario completo de la respuesta. Formato mínimo:
{
  "head": {
    "operation": "view",
    "returncode": 200
  },
  "body": {
    "value": ...
  }
}

infoDict(key, permanent)

Clase usada como índice al definir variables:

  • key: nombre de la variable
  • permanent: True si es una variable permanente

2. Funciones

  • send(name, value, permanent=False) -> Signals: define una variable. Si permanent=True, persiste entre ejecuciones.

  • view() -> Signals: devuelve todas las variables registradas. Formato: Dict[nombre_variable, [valor, permanent]].

  • get_value(variable) -> Optional[Any]: obtiene el valor de una variable.

  • get_mode(variable) -> bool: True si es permanente, False si es temporal.

  • event(variable, funcion, valor=True, espera=0.1, tiempos=1, alIniciar=False): ejecuta funcion cuando variable == valor.

    • espera: tiempo en segundos entre cada verificación.
    • tiempos: cantidad de veces que puede ejecutarse el evento si se cumple la condición. Una vez alcanzado este límite, deja de monitorear.
    • alIniciar: si es True, ejecuta funcion inmediatamente si la condición ya se cumple al comenzar. Si es False, no la ejecuta a menos que la variable cambie a ese valor.

    Nota: No se cuentan como ejecuciones las veces en que el valor no cambia (especialmente si es permanente) y alIniciar=False.

  • restore_permanent_vars(): elimina todas las variables permanentes.


3. Operadores Especiales

Atributo (.)

Permite acceder y modificar atributos internos, o crear variables si no existen como atributo:

signals.url = "http://127.0.0.1:80/vars"  # Cambia el atributo url
signals.mi_variable = 5                  # Crea la variable "mi_variable"

Índice ([])

Solo se usa para definir variables:

signals["temporal"] = 42  # Variable temporal
signals[MultiSignals.infoDict("persistente", True)] = 99  # Variable permanente

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

multisignals-0.1.0.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

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

multisignals-0.1.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file multisignals-0.1.0.tar.gz.

File metadata

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

File hashes

Hashes for multisignals-0.1.0.tar.gz
Algorithm Hash digest
SHA256 75ce19313ca84bfede415fd5887169de0c03c8419ce9e936c7771560df039930
MD5 afb0928a422cad6966c4e207b3118258
BLAKE2b-256 0ab143c37c60bdcaff4f66ff67f196a983c7a61ddfd102ef906104f0a2d96b8a

See more details on using hashes here.

File details

Details for the file multisignals-0.1.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for multisignals-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5079d397137ee2bada88c26779952a90470969a0a4f564084d8bbb0c93996f6c
MD5 e1c580c07983f1aa4fb85d7147deb179
BLAKE2b-256 02da4658b9749c4468cb9cd21704b0aa109b8778077df370e66908eb92829a8c

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