Skip to main content

Paquete de Integración Krill con Python

Project description

jmq_krill

Paquete de Integración Krill con Python

PyPI version License

Descripción

jmq_krill es un cliente en Python para interactuar con la API de Krill, facilitando:

  • Autenticación y gestión de tokens.
  • Consultas de CPEs por topología.
  • Obtención de información en tiempo real de un CPE.
  • Recuperación del estado de ONUs en una OLT específica.
  • Paginación automática de resultados de monitoring.

Instalación

Instala el paquete desde PyPI:

pip install jmq_krill

O clona el repositorio y construye en modo editable:

git clone https://github.com/juaquicar/jmq_krill.git
cd jmq_krill
pip install -e .

Requisitos

  • Python 3.6 o superior
  • Dependencias definidas en requirements.txt (actualmente solo requests)

Uso

from jmq_krill.krill_api import PyJMQKrill, APIError

client = PyJMQKrill(
    host="https://api.tudominio.com", 
    username="usuario", 
    password="contraseña"
)

try:
    # Autenticación
    token = client.login()
    print(f"Token obtenido: {token}")

    # Ejemplo: obtener CPEs por topología
    cpes = client.get_cpes_by_gen_equipos("topologia-uuid")
    print(cpes)

    # Ejemplo: información de un CPE específico
    cpe_id = 238
    info = client.get_cpe_info(cpe_id)
    print(info)

    # Ejemplo: estado de ONUs en una OLT
    status = client.get_cpes_by_olt("olt-name", frame="0", slot="05", port="00")
    print(status)

    # Ejemplo: paginación de monitoring
    all_cpes = client.get_cpes_monitoring()
    print(f"Total CPEs: {len(all_cpes)}")

except APIError as e:
    print("Error en API:", e)

Ejemplos

En el directorio Examples/ encontrarás archivos JSON con respuestas de la API para:

  • Example_get_cpe_info.json
  • Example_get_cpes_by_gen_equipos.json
  • Example_get_cpes_by_olt.json
  • Example_get_cpes_monitoring.json

También hay un script de ejemplo en tests/Example.py.

Tests

Los tests unitarios están en tests/TestUnittest.py. Para ejecutarlos:

pytest tests

Estructura de proyecto

├── Examples
│   ├── Example_get_cpe_info.json
│   ├── Example_get_cpes_by_gen_equipos.json
│   ├── Example_get_cpes_by_olt.json
│   ├── Example_get_cpes_monitoring.json
│   ├── Example-Piloto.py
│   └── Example.py
├── jmq_krill
│   ├── __init__.py
│   ├── krill_api.py
│   └── __pycache__
├── LICENSE
├── MANIFEST.in
├── pyproject.toml
├── README.md
├── requirements.txt
├── tests
│   └── TestUnitest.py

Contribuyendo

  1. Haz un fork del repositorio.
  2. Crea una rama (git checkout -b feature/nueva-funcionalidad).
  3. Realiza tus cambios y añade tests.
  4. Abre un Pull Request describiendo tu propuesta.

Instalar proyecto en modo editable

pip3 install -e .

Licencia

Este proyecto está bajo la licencia MIT. Véase el archivo LICENSE para más detalles.

Enlaces

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

jmq_krill-0.1.0.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

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

jmq_krill-0.1.0-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for jmq_krill-0.1.0.tar.gz
Algorithm Hash digest
SHA256 cd52feec4a0e09e1852ee480fa288b3e6a541678198006b1c45d333f8b4fd412
MD5 0e166c51acd79a03e78e4cbea2bcf6b3
BLAKE2b-256 da54a926d22b0f8ba0cf0d04ea65b3ed11b528cf2a95b6d9fbbdab4bd9b5b45a

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for jmq_krill-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0b162c2714a75cc84ce6ca4ab4fe792f0a814cb5286123f30fefba2aba05bda1
MD5 8f0c9fb2c949354b841cd684529193a0
BLAKE2b-256 841cb6aaacd9f0d6b24ba3d9060a26ba420e1db624182dc032145b3b2ac6465c

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