Sobre el proyecto
DotWiz es una biblioteca de Python que proporciona una subclase de dict que permite el acceso estilo atributo (por puntos) a las claves, incluyendo valores de dict y listas anidadas transformados automáticamente. En lugar de escribir my_dict['this']['dict']['has'][0]['nested']['data'], los usuarios pueden escribir dw.this.dict.has[0].nested.data.
La instalación se realiza mediante pip install dotwiz. La clase principal DotWiz acepta un dict más argumentos de palabras clave opcionales, y ofrece to_dict() para convertirlo de nuevo a un dict simple. Un asistente, make_dot_wiz(), construye una instancia a partir de un iterable de pares clave-valor, permitiendo que las claves que no son identificadores válidos de Python sigan siendo accesibles mediante la notación de corchetes.
DotWizPlus extiende esto convirtiendo claves con casos especiales (espacios, mayúsculas y minúsculas mixtas, dígitos iniciales, palabras clave reservadas o nombres que colisionan con métodos de dict como items, get o values) en nombres de atributos seguros en snake_case. Las claves originales siguen siendo accesibles mediante el acceso estilo dict, y to_attr_dict() devuelve la forma de atributo sanitizada.
El README afirma ventajas de rendimiento sobre alternativas como dataclasses.make_dataclass, prodict, Box y DotMap, con detalles de los puntos de referencia en la documentación. El proyecto está documentado en Read the Docs, probado mediante GitHub Actions y Codecov, y acepta contribuciones a través de pull requests e issues.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.