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.
Files changed (73) hide show
  1. {invocation_tree-0.0.28/invocation_tree.egg-info → invocation_tree-0.0.29}/PKG-INFO +5 -2
  2. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/README.md +4 -1
  3. invocation_tree-0.0.29/images/__pycache__/graph.cpython-313.pyc +0 -0
  4. invocation_tree-0.0.29/images/bdsmlr-123210-XatifIR7GC.jpg +0 -0
  5. invocation_tree-0.0.29/images/bdsmlr-137085-6shuc85rzp.jpg +0 -0
  6. invocation_tree-0.0.29/images/bdsmlr-137085-BgIaVabSuO.jpg +0 -0
  7. invocation_tree-0.0.29/images/bdsmlr-137085-EbOCN2t7pK.jpg +0 -0
  8. invocation_tree-0.0.29/images/bdsmlr-137085-G7VfslodUg.jpg +0 -0
  9. invocation_tree-0.0.29/images/bdsmlr-137085-bECkK7Tmrl.jpg +0 -0
  10. invocation_tree-0.0.29/images/bdsmlr-137085-dwKgKQW44r.jpg +0 -0
  11. invocation_tree-0.0.29/images/bdsmlr-137085-k3Cc6Y1Czs.jpg +0 -0
  12. invocation_tree-0.0.29/images/bdsmlr-137085-lG052p8RGk.jpg +0 -0
  13. invocation_tree-0.0.29/images/bdsmlr-13874-OSFOTjkp0j.jpg +0 -0
  14. invocation_tree-0.0.29/images/bdsmlr-193150-3cpmNpHLOn.jpg +0 -0
  15. invocation_tree-0.0.29/images/bdsmlr-193150-DTYC3stBX0.jpg +0 -0
  16. invocation_tree-0.0.29/images/bdsmlr-193150-FqlVlDXAoY.jpg +0 -0
  17. invocation_tree-0.0.29/images/bdsmlr-193150-hdbOxh4o7w.jpg +0 -0
  18. invocation_tree-0.0.29/images/bdsmlr-193150-i64En9zgET.jpg +0 -0
  19. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/invocation_tree/__init__.py +11 -11
  20. {invocation_tree-0.0.28 → invocation_tree-0.0.29/invocation_tree.egg-info}/PKG-INFO +5 -2
  21. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/invocation_tree.egg-info/SOURCES.txt +16 -0
  22. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/pyproject.toml +1 -1
  23. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/LICENSE.txt +0 -0
  24. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/MANIFEST.in +0 -0
  25. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/compute.gif +0 -0
  26. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/compute.py +0 -0
  27. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/create_gif.sh +0 -0
  28. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/create_images.sh +0 -0
  29. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/draw_graph.py +0 -0
  30. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/draw_graph_d_x.py +0 -0
  31. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/edges_big.out +0 -0
  32. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/edges_big_d_x.out +0 -0
  33. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/edges_small.out +0 -0
  34. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/edges_to_dict.py +0 -0
  35. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/factorial.gif +0 -0
  36. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/factorial.py +0 -0
  37. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/graph.png.png +0 -0
  38. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/graph.py +0 -0
  39. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/graph_big.png +0 -0
  40. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/graph_big_d_x.png +0 -0
  41. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/graph_small.png +0 -0
  42. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/jugs.png +0 -0
  43. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/jugs_depth_first.py +0 -0
  44. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/perms_LR3.png +0 -0
  45. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/permutations.gif +0 -0
  46. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/permutations.py +0 -0
  47. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/permutations_collect.gif +0 -0
  48. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/permutations_collect.py +0 -0
  49. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/permutations_dot.py +0 -0
  50. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/permutations_neighbor.gif +0 -0
  51. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/permutations_neighbor.py +0 -0
  52. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/permutations_return.gif +0 -0
  53. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/permutations_return.py +0 -0
  54. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/permutations_vscode.gif +0 -0
  55. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/print_all_paths.py +0 -0
  56. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/print_all_paths_of_length.py +0 -0
  57. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/print_all_paths_via.py +0 -0
  58. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/puz.txt +0 -0
  59. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/quick_sort.gif +0 -0
  60. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/quick_sort.py +0 -0
  61. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/students.gif +0 -0
  62. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/students.py +0 -0
  63. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/test.pdf +0 -0
  64. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/test.py +0 -0
  65. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/tree.pdf +0 -0
  66. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/tree_problem.gv +0 -0
  67. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/images/vscode.png +0 -0
  68. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/invocation_tree/regex_set.py +0 -0
  69. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/invocation_tree/test_regex_fix.py +0 -0
  70. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/invocation_tree.egg-info/dependency_links.txt +0 -0
  71. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/invocation_tree.egg-info/requires.txt +0 -0
  72. {invocation_tree-0.0.28 → invocation_tree-0.0.29}/invocation_tree.egg-info/top_level.txt +0 -0
  73. {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.28
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
- **solution exercise6:** First try it yourself, but 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.
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
- **solution exercise6:** First try it yourself, but 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.
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:
@@ -9,7 +9,7 @@ import difflib
9
9
 
10
10
  import invocation_tree.regex_set as regset
11
11
 
12
- __version__ = "0.0.28"
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 not self.regset_hide_calls.match(class_fun_name, self.hide_calls):
297
- if event == 'return':
298
- if class_fun_name == self.ignoring_call:
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
- if event == 'call':
304
- if self.regset_ignore_calls.match(class_fun_name, self.ignore_calls):
305
- self.ignoring_call = class_fun_name
306
- return
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.28
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
- **solution exercise6:** First try it yourself, but 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.
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "invocation_tree"
7
- version = "0.0.28"
7
+ version = "0.0.29"
8
8
  description = "Generates an invocation tree of functions calls."
9
9
  authors = [
10
10
  {name = "Bas Terwijn", email = "bterwijn@gmail.com"}