Comments (5)
What are you exactly trying to inspect in boto? I don't remember a self.loop in boto.
The test class you have made has a loop to itself so DeepDiff gets stuck in that loop since it tries to get to the bottom depth of your object,
from deepdiff.
I have seen this sort of design multiple times - i know pytest has it as well. Of course there's no explicit "loop", that's for the bug's purpose; the point is that Python supports such circular references but DeepDiff doesn't.
The boto class I'm trying to compare is the ElasticLoadBalancer attributes. The "Health Check" attribute has an access point attribute that also lists the health checks, and that's where the loop may exist.
Take for instance any hierarchical object; most of them will have a link to parent. If you enter parent, and re-enter the same child from parent, you can also create this "loop". It's a common idiom.
You might want to check how the json library handles this case when serializing custom objects. I know it has a switch to enable/disable recursion protection.
from deepdiff.
Great point. I'm adding loop detection.
from deepdiff.
I just added recursion detection and added some tests. Please let me know if you again run into issues with boto. DeepDiff v0.5.5
from deepdiff.
Bingo :) Thank you so much!
from deepdiff.
Related Issues (20)
- Error after comparing: Can not produce a hash (type datetime.date doesn't define __round__ method) HOT 1
- parse_path() cannot parse a path HOT 4
- Is there a way to systematically cycle through all corresponding attributes that haven't changed? HOT 1
- support compre string as float specify precision HOT 1
- Error when comparing two nested dicts with 2 added fields HOT 5
- why exclude_regex_paths dont work with ignore_order HOT 1
- Change of integer attribute is not detected HOT 3
- DeepDiff include_path param doesn't work with list of dictionaries HOT 1
- Instantiating a Delta with a flat_dict_list unexpectedly mutates the flat_dict_list HOT 1
- DeepDiff result got errors but not raising an exception
- Documentation on how to create an object only containing changed elements. HOT 1
- DeepDiff cannot compare two zero-dimensional `ndarrays` HOT 2
- Deepdiff incompatible with numpy 2.0 HOT 3
- DeepDiff cannot distinguish between datetime timezones HOT 1
- DeepDiff significiant digit 0 is comparing digits after the decimal point
- deepdiff diff error when i haved set a custom iterable_compare_func HOT 1
- load 2 json files to dict, the compare result is not correct HOT 1
- exclude_regex_paths does not work correctly with regular expressions including $
- TypeError when diffing dict that have bytes keys HOT 1
- deepdiff 7.0.1 test failure in Fedora rawhide with Python 3.13 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from deepdiff.