Ferramenta de linha de comando rápida e otimizada com SIMD, além de biblioteca Node.js, que compara imagens pixel a pixel e gera uma imagem de diferenças.
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
Instale o DeepDiff pelo PyPI
pip install deepdiff - 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
Ferramenta para encontrar arquivos duplicados nas pastas de arquivos recebidos do WeChat e movê-los com segurança para a lixeira do sistema.
Uma interface local de revisão no navegador para anotar planos de agentes, Markdown, HTML e diffs de código e enviar feedback de volta aos agentes de programação.
Ferramenta CLI que abre um visualizador web local no estilo GitHub para revisar diffs de commits git e copiar comentários como prompts para IA.
Uma GUI desktop para Git rápida e local-first, disponível para Linux, Windows e macOS, desenvolvida em Rust com o framework GPUI.
Biblioteca Python para automatizar navegadores Chromium, Firefox e WebKit por meio de uma única API, com variantes síncrona e assíncrona.