Repolode
qlustered

qlustered/deepdiff

Biblioteca de Python para comparar objetos anidados, buscar en ellos, generar hashes basados en su contenido y guardar y aplicar diferencias como deltas.

Estrellas
2,537
Forks
296
Issues abiertos
125
Último commit
el mes pasado

¿Qué es?

DeepDiff es una biblioteca de Python para encontrar diferencias entre estructuras de datos anidadas, como diccionarios, listas, conjuntos, cadenas y objetos arbitrarios. Indica qué se agregó, eliminó o cambió, junto con la ruta de cada cambio, para que los desarrolladores puedan ver exactamente en qué punto difieren dos objetos.

Además de comparar diferencias, el paquete incluye DeepSearch, que permite localizar valores en objetos anidados; DeepHash, que genera un hash basado en el contenido de un objeto; y Delta, que permite guardar diferencias y aplicarlas a otros objetos para reconstruir resultados. También incluye Extract, para leer un elemento de un objeto anidado mediante su ruta, y una interfaz de línea de comandos que se instala a través de un extra opcional.

La biblioteca es compatible con Python 3.10 y versiones posteriores, así como con PyPy3. Dependencias opcionales como PyYAML, tomli, orjson y pydantic agregan compatibilidad con otros formatos y permiten serializar más rápido. Las versiones recientes incorporaron multiprocessing para comparar diferencias y patrones comodín para exclude_paths e include_paths.

Funciones clave

  • 01Indica los elementos agregados, eliminados y modificados, junto con sus rutas en los datos anidados.
  • 02Busca valores dentro de objetos arbitrarios anidados de Python con DeepSearch.
  • 03Genera hashes basados en el contenido de cualquier objeto de Python con DeepHash.
  • 04Guarda diferencias como objetos Delta y las aplica para reconstruir objetos.
  • 05Admite patrones comodín para exclude_paths e include_paths.

Casos de uso

  • Escribir pruebas que verifiquen que dos respuestas complejas de API u objetos de configuración coincidan.
  • Detectar cambios entre distintas versiones de datos JSON o YAML anidados.
  • Registrar y reproducir actualizaciones incrementales de un estado estructurado.
  • Deduplicar objetos mediante hashes de contenido.

Inicio rápido

  1. 1

    Instala DeepDiff desde PyPI

    pip install deepdiff
  2. 2

    Instala opcionalmente el complemento de línea de comandos

    pip install "deepdiff[cli]"

Antes de usarlo

  • En los metadatos, la licencia figura como NOASSERTION, así que consulta sus condiciones antes de usarlo.
  • El README indica que el proyecto ahora forma parte de Qluster e incluye una nota promocional sobre este.

Temas

Preguntas frecuentes

¿Qué es deepdiff?
Biblioteca de Python para comparar objetos anidados, buscar en ellos, generar hashes basados en su contenido y guardar y aplicar diferencias como deltas. DeepDiff es una biblioteca de Python para encontrar diferencias entre estructuras de datos anidadas, como diccionarios, listas, conjuntos, cadenas y objetos arbitrarios. Indica qué se agregó, eliminó o cambió, junto con la ruta de cada cambio, para que los desarrolladores puedan ver exactamente en qué punto difieren dos objetos.
¿deepdiff es gratuito? ¿Qué licencia tiene?
deepdiff es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿deepdiff sigue mantenido?
Actualizado en los últimos 6 meses. El último commit de deepdiff fue el 18 sept 2026.
¿Para qué puedo usar deepdiff?
Escribir pruebas que verifiquen que dos respuestas complejas de API u objetos de configuración coincidan. Detectar cambios entre distintas versiones de datos JSON o YAML anidados. Registrar y reproducir actualizaciones incrementales de un estado estructurado. Deduplicar objetos mediante hashes de contenido.
¿Cómo se instala deepdiff?
Instala DeepDiff desde PyPI: pip install deepdiff Instala opcionalmente el complemento de línea de comandos: pip install "deepdiff[cli]"
¿Dónde consigo deepdiff?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/qlustered/deepdiff

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados