invocation-tree 0.0.28__tar.gz → 0.0.29__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {invocation_tree-0.0.28/invocation_tree.egg-info → invocation_tree-0.0.29}/PKG-INFO +5 -2
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/README.md +4 -1
- invocation_tree-0.0.29/images/__pycache__/graph.cpython-313.pyc +0 -0
- invocation_tree-0.0.29/images/bdsmlr-123210-XatifIR7GC.jpg +0 -0
- invocation_tree-0.0.29/images/bdsmlr-137085-6shuc85rzp.jpg +0 -0
- invocation_tree-0.0.29/images/bdsmlr-137085-BgIaVabSuO.jpg +0 -0
- invocation_tree-0.0.29/images/bdsmlr-137085-EbOCN2t7pK.jpg +0 -0
- invocation_tree-0.0.29/images/bdsmlr-137085-G7VfslodUg.jpg +0 -0
- invocation_tree-0.0.29/images/bdsmlr-137085-bECkK7Tmrl.jpg +0 -0
- invocation_tree-0.0.29/images/bdsmlr-137085-dwKgKQW44r.jpg +0 -0
- invocation_tree-0.0.29/images/bdsmlr-137085-k3Cc6Y1Czs.jpg +0 -0
- invocation_tree-0.0.29/images/bdsmlr-137085-lG052p8RGk.jpg +0 -0
- invocation_tree-0.0.29/images/bdsmlr-13874-OSFOTjkp0j.jpg +0 -0
- invocation_tree-0.0.29/images/bdsmlr-193150-3cpmNpHLOn.jpg +0 -0
- invocation_tree-0.0.29/images/bdsmlr-193150-DTYC3stBX0.jpg +0 -0
- invocation_tree-0.0.29/images/bdsmlr-193150-FqlVlDXAoY.jpg +0 -0
- invocation_tree-0.0.29/images/bdsmlr-193150-hdbOxh4o7w.jpg +0 -0
- invocation_tree-0.0.29/images/bdsmlr-193150-i64En9zgET.jpg +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/invocation_tree/__init__.py +11 -11
- {invocation_tree-0.0.28 → invocation_tree-0.0.29/invocation_tree.egg-info}/PKG-INFO +5 -2
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/invocation_tree.egg-info/SOURCES.txt +16 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/pyproject.toml +1 -1
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/LICENSE.txt +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/MANIFEST.in +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/compute.gif +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/compute.py +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/create_gif.sh +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/create_images.sh +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/draw_graph.py +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/draw_graph_d_x.py +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/edges_big.out +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/edges_big_d_x.out +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/edges_small.out +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/edges_to_dict.py +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/factorial.gif +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/factorial.py +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/graph.png.png +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/graph.py +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/graph_big.png +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/graph_big_d_x.png +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/graph_small.png +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/jugs.png +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/jugs_depth_first.py +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/perms_LR3.png +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/permutations.gif +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/permutations.py +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/permutations_collect.gif +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/permutations_collect.py +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/permutations_dot.py +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/permutations_neighbor.gif +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/permutations_neighbor.py +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/permutations_return.gif +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/permutations_return.py +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/permutations_vscode.gif +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/print_all_paths.py +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/print_all_paths_of_length.py +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/print_all_paths_via.py +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/puz.txt +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/quick_sort.gif +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/quick_sort.py +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/students.gif +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/students.py +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/test.pdf +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/test.py +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/tree.pdf +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/tree_problem.gv +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/vscode.png +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/invocation_tree/regex_set.py +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/invocation_tree/test_regex_fix.py +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/invocation_tree.egg-info/dependency_links.txt +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/invocation_tree.egg-info/requires.txt +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/invocation_tree.egg-info/top_level.txt +0 -0
- {invocation_tree-0.0.28 → invocation_tree-0.0.29}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: invocation_tree
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.29
|
|
4
4
|
Summary: Generates an invocation tree of functions calls.
|
|
5
5
|
Author-email: Bas Terwijn <bterwijn@gmail.com>
|
|
6
6
|
License: BSD 2-Clause License
|
|
@@ -520,7 +520,9 @@ The breadth-first algorithm works and gives us the shortest path to a goal state
|
|
|
520
520
|
- A solution may not have the same jugs state multiple times (this also avoids infinite loops).
|
|
521
521
|
- It is not necessary to find the shortest path to a goal state (like breadth-first does).
|
|
522
522
|
|
|
523
|
-
|
|
523
|
+
You can use [configurations](https://invocation-tree.com/#codeurl=https://raw.githubusercontent.com/bterwijn/invocation_tree/refs/heads/main/src/config.py) to keep the tree small and readable.
|
|
524
|
+
|
|
525
|
+
**solution exercise6:** First try it yourself, we give the [solution](https://www.invocation-tree.com/#codeurl=https://raw.githubusercontent.com/bterwijn/invocation_tree/refs/heads/main/src/jugs_depth_first.py&breakpoints=136&continues=1) here for comparison.
|
|
524
526
|
|
|
525
527
|
A harder more fun instance of this puzzle is with jugs with capacity 3, 5, 34 and 107 liter and the goal of getting to a jug with 51 liters.
|
|
526
528
|
|
|
@@ -529,6 +531,7 @@ $ python jugs_breadth_first.py 51 3,5,34,107
|
|
|
529
531
|
```
|
|
530
532
|
|
|
531
533
|
# Configuration #
|
|
534
|
+
The Invocation Tree Web Debugger gives examples of the [most important configurations](https://invocation-tree.com/#codeurl=https://raw.githubusercontent.com/bterwijn/invocation_tree/refs/heads/main/src/config.py).
|
|
532
535
|
|
|
533
536
|
## Hidding ##
|
|
534
537
|
It can be useful to hide certian variables or functions to avoid unnecessary complexity. This can be done with:
|
|
@@ -475,7 +475,9 @@ The breadth-first algorithm works and gives us the shortest path to a goal state
|
|
|
475
475
|
- A solution may not have the same jugs state multiple times (this also avoids infinite loops).
|
|
476
476
|
- It is not necessary to find the shortest path to a goal state (like breadth-first does).
|
|
477
477
|
|
|
478
|
-
|
|
478
|
+
You can use [configurations](https://invocation-tree.com/#codeurl=https://raw.githubusercontent.com/bterwijn/invocation_tree/refs/heads/main/src/config.py) to keep the tree small and readable.
|
|
479
|
+
|
|
480
|
+
**solution exercise6:** First try it yourself, we give the [solution](https://www.invocation-tree.com/#codeurl=https://raw.githubusercontent.com/bterwijn/invocation_tree/refs/heads/main/src/jugs_depth_first.py&breakpoints=136&continues=1) here for comparison.
|
|
479
481
|
|
|
480
482
|
A harder more fun instance of this puzzle is with jugs with capacity 3, 5, 34 and 107 liter and the goal of getting to a jug with 51 liters.
|
|
481
483
|
|
|
@@ -484,6 +486,7 @@ $ python jugs_breadth_first.py 51 3,5,34,107
|
|
|
484
486
|
```
|
|
485
487
|
|
|
486
488
|
# Configuration #
|
|
489
|
+
The Invocation Tree Web Debugger gives examples of the [most important configurations](https://invocation-tree.com/#codeurl=https://raw.githubusercontent.com/bterwijn/invocation_tree/refs/heads/main/src/config.py).
|
|
487
490
|
|
|
488
491
|
## Hidding ##
|
|
489
492
|
It can be useful to hide certian variables or functions to avoid unnecessary complexity. This can be done with:
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -9,7 +9,7 @@ import difflib
|
|
|
9
9
|
|
|
10
10
|
import invocation_tree.regex_set as regset
|
|
11
11
|
|
|
12
|
-
__version__ = "0.0.
|
|
12
|
+
__version__ = "0.0.29"
|
|
13
13
|
__author__ = 'Bas Terwijn'
|
|
14
14
|
|
|
15
15
|
def highlight_diff(str1, str2):
|
|
@@ -293,17 +293,17 @@ class Invocation_Tree:
|
|
|
293
293
|
if self.is_external(frame):
|
|
294
294
|
return
|
|
295
295
|
class_fun_name = get_class_function_name(frame)
|
|
296
|
-
if
|
|
297
|
-
if
|
|
298
|
-
|
|
299
|
-
self.ignoring_call = None
|
|
300
|
-
return
|
|
301
|
-
if self.ignoring_call is not None:
|
|
296
|
+
if event == 'return':
|
|
297
|
+
if class_fun_name == self.ignoring_call:
|
|
298
|
+
self.ignoring_call = None
|
|
302
299
|
return
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
300
|
+
if self.ignoring_call is not None:
|
|
301
|
+
return
|
|
302
|
+
if event == 'call':
|
|
303
|
+
if self.regset_ignore_calls.match(class_fun_name, self.ignore_calls):
|
|
304
|
+
self.ignoring_call = class_fun_name
|
|
305
|
+
return
|
|
306
|
+
if not self.regset_hide_calls.match(class_fun_name, self.hide_calls):
|
|
307
307
|
if event == 'call':
|
|
308
308
|
# update previous active node with its current frame now
|
|
309
309
|
if len(self.stack)>0:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: invocation_tree
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.29
|
|
4
4
|
Summary: Generates an invocation tree of functions calls.
|
|
5
5
|
Author-email: Bas Terwijn <bterwijn@gmail.com>
|
|
6
6
|
License: BSD 2-Clause License
|
|
@@ -520,7 +520,9 @@ The breadth-first algorithm works and gives us the shortest path to a goal state
|
|
|
520
520
|
- A solution may not have the same jugs state multiple times (this also avoids infinite loops).
|
|
521
521
|
- It is not necessary to find the shortest path to a goal state (like breadth-first does).
|
|
522
522
|
|
|
523
|
-
|
|
523
|
+
You can use [configurations](https://invocation-tree.com/#codeurl=https://raw.githubusercontent.com/bterwijn/invocation_tree/refs/heads/main/src/config.py) to keep the tree small and readable.
|
|
524
|
+
|
|
525
|
+
**solution exercise6:** First try it yourself, we give the [solution](https://www.invocation-tree.com/#codeurl=https://raw.githubusercontent.com/bterwijn/invocation_tree/refs/heads/main/src/jugs_depth_first.py&breakpoints=136&continues=1) here for comparison.
|
|
524
526
|
|
|
525
527
|
A harder more fun instance of this puzzle is with jugs with capacity 3, 5, 34 and 107 liter and the goal of getting to a jug with 51 liters.
|
|
526
528
|
|
|
@@ -529,6 +531,7 @@ $ python jugs_breadth_first.py 51 3,5,34,107
|
|
|
529
531
|
```
|
|
530
532
|
|
|
531
533
|
# Configuration #
|
|
534
|
+
The Invocation Tree Web Debugger gives examples of the [most important configurations](https://invocation-tree.com/#codeurl=https://raw.githubusercontent.com/bterwijn/invocation_tree/refs/heads/main/src/config.py).
|
|
532
535
|
|
|
533
536
|
## Hidding ##
|
|
534
537
|
It can be useful to hide certian variables or functions to avoid unnecessary complexity. This can be done with:
|
|
@@ -2,6 +2,21 @@ LICENSE.txt
|
|
|
2
2
|
MANIFEST.in
|
|
3
3
|
README.md
|
|
4
4
|
pyproject.toml
|
|
5
|
+
images/bdsmlr-123210-XatifIR7GC.jpg
|
|
6
|
+
images/bdsmlr-137085-6shuc85rzp.jpg
|
|
7
|
+
images/bdsmlr-137085-BgIaVabSuO.jpg
|
|
8
|
+
images/bdsmlr-137085-EbOCN2t7pK.jpg
|
|
9
|
+
images/bdsmlr-137085-G7VfslodUg.jpg
|
|
10
|
+
images/bdsmlr-137085-bECkK7Tmrl.jpg
|
|
11
|
+
images/bdsmlr-137085-dwKgKQW44r.jpg
|
|
12
|
+
images/bdsmlr-137085-k3Cc6Y1Czs.jpg
|
|
13
|
+
images/bdsmlr-137085-lG052p8RGk.jpg
|
|
14
|
+
images/bdsmlr-13874-OSFOTjkp0j.jpg
|
|
15
|
+
images/bdsmlr-193150-3cpmNpHLOn.jpg
|
|
16
|
+
images/bdsmlr-193150-DTYC3stBX0.jpg
|
|
17
|
+
images/bdsmlr-193150-FqlVlDXAoY.jpg
|
|
18
|
+
images/bdsmlr-193150-hdbOxh4o7w.jpg
|
|
19
|
+
images/bdsmlr-193150-i64En9zgET.jpg
|
|
5
20
|
images/compute.gif
|
|
6
21
|
images/compute.py
|
|
7
22
|
images/create_gif.sh
|
|
@@ -45,6 +60,7 @@ images/test.py
|
|
|
45
60
|
images/tree.pdf
|
|
46
61
|
images/tree_problem.gv
|
|
47
62
|
images/vscode.png
|
|
63
|
+
images/__pycache__/graph.cpython-313.pyc
|
|
48
64
|
invocation_tree/__init__.py
|
|
49
65
|
invocation_tree/regex_set.py
|
|
50
66
|
invocation_tree/test_regex_fix.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{invocation_tree-0.0.28 → invocation_tree-0.0.29}/invocation_tree.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|