Repolode
qlustered

qlustered/deepdiff

Biblioteca Python para comparar objetos aninhados, pesquisar dentro deles, gerar hashes baseados no conteúdo e armazenar e aplicar diferenças como deltas.

Estrelas
2,537
Forks
296
Issues abertas
125
Último commit
mês passado

O que é?

DeepDiff é uma biblioteca Python para encontrar diferenças entre estruturas de dados aninhadas, como dicionários, listas, conjuntos, strings e objetos arbitrários. Ela informa o que foi adicionado, removido ou alterado, além do caminho de cada mudança, para que os desenvolvedores possam ver exatamente onde dois objetos divergem.

Além de comparar diferenças, o pacote inclui DeepSearch para localizar valores em objetos aninhados, DeepHash para gerar um hash com base no conteúdo de um objeto e Delta para armazenar diferenças e aplicá-las a outros objetos, reconstruindo os resultados. Também oferece Extract, que lê um item de um objeto aninhado a partir do caminho, e uma interface de linha de comando instalada por meio de um extra opcional.

A biblioteca oferece suporte a Python 3.10 ou mais recente, além de PyPy3. Dependências opcionais, como PyYAML, tomli, orjson e pydantic, adicionam suporte a outros formatos e permitem uma serialização mais rápida. Versões recentes adicionaram multiprocessing para comparação de diferenças e padrões curinga para exclude_paths e include_paths.

Recursos principais

  • 01Informa itens adicionados, removidos e alterados, com seus caminhos nos dados aninhados.
  • 02Pesquisa valores em objetos Python aninhados arbitrários com DeepSearch.
  • 03Gera hashes baseados no conteúdo de qualquer objeto Python com DeepHash.
  • 04Armazena diferenças como objetos Delta e as aplica para reconstruir objetos.
  • 05Oferece suporte a padrões curinga para exclude_paths e include_paths.

Casos de uso

  • Escrever testes que verifiquem se duas respostas complexas de API ou objetos de configuração correspondem.
  • Detectar mudanças entre versões de dados aninhados em JSON ou YAML.
  • Rastrear e reaplicar atualizações incrementais a um estado estruturado.
  • Eliminar objetos duplicados usando hashes de conteúdo.

Início rápido

  1. 1

    Instale o DeepDiff pelo PyPI

    pip install deepdiff
  2. 2

    Se quiser, instale o extra de linha de comando

    pip install "deepdiff[cli]"

Antes de usar

  • Nos metadados, a licença está listada como NOASSERTION; por isso, confira os termos da licença antes de usar.
  • O README informa que o projeto agora faz parte do Qluster e inclui uma nota promocional sobre ele.

Tópicos

Perguntas frequentes

O que é deepdiff?
Biblioteca Python para comparar objetos aninhados, pesquisar dentro deles, gerar hashes baseados no conteúdo e armazenar e aplicar diferenças como deltas. DeepDiff é uma biblioteca Python para encontrar diferenças entre estruturas de dados aninhadas, como dicionários, listas, conjuntos, strings e objetos arbitrários. Ela informa o que foi adicionado, removido ou alterado, além do caminho de cada mudança, para que os desenvolvedores possam ver exatamente onde dois objetos divergem.
deepdiff é gratuito? Qual é a licença?
deepdiff é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
deepdiff ainda é mantido?
Atualizado nos últimos 6 meses. O último commit de deepdiff foi em 18 de set. de 2026.
Para que posso usar deepdiff?
Escrever testes que verifiquem se duas respostas complexas de API ou objetos de configuração correspondem. Detectar mudanças entre versões de dados aninhados em JSON ou YAML. Rastrear e reaplicar atualizações incrementais a um estado estruturado. Eliminar objetos duplicados usando hashes de conteúdo.
Como instalar deepdiff?
Instale o DeepDiff pelo PyPI: pip install deepdiff Se quiser, instale o extra de linha de comando: pip install "deepdiff[cli]"
Onde consigo deepdiff?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/qlustered/deepdiff

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados