Skip to main content

Librería de configuraciones y ajustes con tipos de datos ricos

Project description

Presentacion

Configurations es una libreria que proporciona una manera abstracta y rica para manejar configuraciones, estructuradas como un conjunto de ajustes compuestos. Hace uso de la libreria DataValue y sus clases PrimitiveData y ComplexData para ofrecer una definicion fuertemente estructurada y rigida para una validacion robusta.

Donde Configurations provee una representacion completa, cada Setting presenta un contexto de cada ajuste, y cada DataValue aplica validacion estricta de valores. Ademas, se ofrecen funciones de serializacion para la normalizacion, almacenamiento y transporte de datos entre sistemas.

Instalacion

Para instalar la libreria unicamente ejecuta en un terminal:

$ pip install configurations-stc

Uso

Su uso es tan simple como:

  1. Importar configuraciones
from configurations import Configurations
  1. Importar ajustes
from configurations import Setting
  1. Definir ajustes
# Library import
from datavalue import PrimitiveData

# Data definition
data = PrimitiveData(
  data_type=str,
  value=None,
  maximum_length=10, minimum_length=1,
  possible_values=None,
  regular_expression=None,
  data_class=True
)

# Setting field definition
setting = Setting(
  value=data, # Debera cumplir con el esquema definido por **PrimitiveData**
  system_name="SETTING", # Nombre con el cual sera accedido por el sistema
  symbolic_name="Ajuste", # Nombre simbolico legible para el ajuste (representativo)
  description="Descripcion del ajuste", # Descripcion del ajuste (descriptivo)
  optional=False # Indicacion de ajuste opcional/obligatorio
)
  1. Definir configuraciones
# Create configurations instance
configurations = Configurations()

# Add settings to the configurations instance
configurations.add_setting(setting)
  1. Utilizar
# Show configurations requirements
configurations.to_dict()

Casos de uso

La libreria permite la descripcion de configuraciones ricas y estructuradas, ademas de la normalizacion y serializacion para su presentacion y transporte. Permite elaborar configuraciones completas para cualquier uso, como:

  1. Descripcion de APIs: Utilizable para describir datos en APIs, y tambien para su validacion de envio/recepcion
  2. Descripcion de configuraciones: Utilizable para describir configuraciones de dispositivos, o sistemas
  3. Definicion de politicas: Como politicas de seguridad, control de permisos, perfiles de usuario, etcetera

Dependencias

Depende de la libreria DataValue

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

configurations_stc-0.1.7.tar.gz (4.0 kB view details)

Uploaded Source

Built Distribution

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

configurations_stc-0.1.7-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file configurations_stc-0.1.7.tar.gz.

File metadata

  • Download URL: configurations_stc-0.1.7.tar.gz
  • Upload date:
  • Size: 4.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for configurations_stc-0.1.7.tar.gz
Algorithm Hash digest
SHA256 215454b0f6b8f89fafce50d142fb7f176540e291fd8aaaeb00aa6fb09d41bf73
MD5 580d316d269819ad04e05fd0c33cea67
BLAKE2b-256 21ea1d9b2d4fd7c9dc15ecc2000df69e99d831d92f9df23a97ea4880a704bbc6

See more details on using hashes here.

File details

Details for the file configurations_stc-0.1.7-py3-none-any.whl.

File metadata

File hashes

Hashes for configurations_stc-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 4fcff3060b00f7ebc428616ad7ac744c871bd9a417641daf6f441e0b9f0d55c1
MD5 bf08aa54515c34b05277ce1a79e387cc
BLAKE2b-256 59572c07801b81a1398031f5f80e6598c133192a7a0137e19de77f082b89f3b2

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