Skip to content

๐Ÿ‘€ Deep compare python objects and structures like dictionaries, lists and iterables.

License

Notifications You must be signed in to change notification settings

jparadadev/deepcomparer.py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

34 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Deepcomparer

GitHub Pypi Downloads GA

Deep compare python objects and structures like dictionaries, lists and iterables.

Getting Started

Installation

  pip install deepcomparer

Usage

from deepcomparer import deep_compare

class Pokemon:
    def __init__(self, name):
        self.name = name

user: dict = {
    'name': 'ash',
    'links': {
        'pokehub': '@ash'
    },
    'pokemons': [Pokemon('pikachu')]
}

user2: dict = {
    'name': 'ash',
    'links': {
        'pokehub': '@ash'
    },
    'pokemons': [Pokemon('geodude')]
}
print(deep_compare(user, user2))
# output: False

user2['pokemons'] = [Pokemon('pikachu')]
print(deep_compare(user, user2))
# output: True
from deepcomparer import deep_compare

ash_data: dict = {
    'name': 'ash',
    'links': {
        'pokehub': '@ash'
    }
}

brock_data: dict = {
    'name': 'brock',
    'links': {
        'pokehub': '@brock'
    }
}

# Over iterable structures
print(deep_compare([ash_data, brock_data], [ash_data, brock_data]))
# output: True

# Over iterable structures
print(deep_compare([ash_data, brock_data], [brock_data, ash_data]))
# output: False

# Over unsorted iterable structures
print(deep_compare([ash_data, brock_data], [brock_data, ash_data], ignore_order=True))
# output: True

About

๐Ÿ‘€ Deep compare python objects and structures like dictionaries, lists and iterables.

Resources

License

Stars

Watchers

Forks

Packages

No packages published