PyCon 2016 in Portland, Or
hills next to breadcrumb illustration

Wednesday 2:30 p.m.–3 p.m.

Diff It To Dig It

Sep Dehpour (Seperman)

Audience level:
Novice
Category:
Python Core (language, stdlib, etc.)

Description

Do you know about objects __dict__ and __slots__ and what they hold? Hashing unhashables? Objects with loops pointing to themselves? Objects that have changed and you want to know how? No? Then this is the talk for you. In this talk we will learn a lot by diffing Python data types and objects, the same way that you can learn a lot about code by git diff. May the diff habit be with you!

Abstract

Once upon a time in land a far away, I had to write a test that would compare a system's output against the expected one. This didn't sound like a lot of work, except when there was a change anywhere in the huge output, I had to dig it to find what exactly had changed. And this is how [DeepDiff](https://github.com/seperman/deepdiff) was born, to: - Diff nested dictionaries/sequences and custom objects - Get the exact path and value of the item that had been changed, added or removed - Ignore a sequence's order when required - Work with both Python 2 and 3 This talk shows you the interesting insights you can get into Python by diffing, the same way that you learn about the code by git diff: Diff It To Dig It!