invocation-tree 0.0.6__tar.gz → 0.0.8__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 (109) hide show
  1. {invocation_tree-0.0.6/invocation_tree.egg-info → invocation_tree-0.0.8}/PKG-INFO +9 -10
  2. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/README.md +8 -9
  3. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/factorial1.png +0 -0
  4. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/factorial2.png +0 -0
  5. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/factorial3.png +0 -0
  6. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/factorial4.png +0 -0
  7. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/factorial5.png +0 -0
  8. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/factorial6.png +0 -0
  9. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/factorial7.png +0 -0
  10. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/permutations1.png +0 -0
  11. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/permutations10.png +0 -0
  12. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/permutations11.png +0 -0
  13. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/permutations12.png +0 -0
  14. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/permutations13.png +0 -0
  15. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/permutations2.png +0 -0
  16. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/permutations3.png +0 -0
  17. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/permutations4.png +0 -0
  18. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/permutations5.png +0 -0
  19. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/permutations6.png +0 -0
  20. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/permutations7.png +0 -0
  21. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/permutations8.png +0 -0
  22. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/permutations9.png +0 -0
  23. invocation_tree-0.0.8/images/students.gif +0 -0
  24. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students.py +2 -2
  25. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students1.png +0 -0
  26. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students10.png +0 -0
  27. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students11.png +0 -0
  28. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students12.png +0 -0
  29. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students13.png +0 -0
  30. invocation_tree-0.0.8/images/students14.png +0 -0
  31. invocation_tree-0.0.8/images/students15.png +0 -0
  32. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students2.png +0 -0
  33. invocation_tree-0.0.8/images/students3.png +0 -0
  34. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students4.png +0 -0
  35. invocation_tree-0.0.8/images/students5.png +0 -0
  36. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students6.png +0 -0
  37. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students7.png +0 -0
  38. invocation_tree-0.0.8/images/students8.png +0 -0
  39. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students9.png +0 -0
  40. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/invocation_tree/__init__.py +3 -3
  41. {invocation_tree-0.0.6 → invocation_tree-0.0.8/invocation_tree.egg-info}/PKG-INFO +9 -10
  42. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/invocation_tree.egg-info/SOURCES.txt +0 -2
  43. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/setup.py +1 -1
  44. invocation_tree-0.0.6/images/factorial0.png +0 -0
  45. invocation_tree-0.0.6/images/permutations0.png +0 -0
  46. invocation_tree-0.0.6/images/students.gif +0 -0
  47. invocation_tree-0.0.6/images/students14.png +0 -0
  48. invocation_tree-0.0.6/images/students15.png +0 -0
  49. invocation_tree-0.0.6/images/students3.png +0 -0
  50. invocation_tree-0.0.6/images/students5.png +0 -0
  51. invocation_tree-0.0.6/images/students8.png +0 -0
  52. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/LICENSE.txt +0 -0
  53. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/MANIFEST.in +0 -0
  54. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/create_gif.sh +0 -0
  55. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/create_images.sh +0 -0
  56. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/create_images.sh~ +0 -0
  57. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/factorial.gif +0 -0
  58. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/factorial.py +0 -0
  59. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/factorial.py~ +0 -0
  60. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/factorial8.gv +0 -0
  61. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/factorial9.gv +0 -0
  62. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/invocation_tree.pdf +0 -0
  63. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/invocation_tree0.pdf +0 -0
  64. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/permutations.gif +0 -0
  65. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/permutations.py +0 -0
  66. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/permutations.py~ +0 -0
  67. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/permutations22.png~ +0 -0
  68. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/student.gif +0 -0
  69. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students.py~ +0 -0
  70. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students16.gv +0 -0
  71. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students17.gv +0 -0
  72. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students18.gv +0 -0
  73. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students19.gv +0 -0
  74. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students20.gv +0 -0
  75. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students21.gv +0 -0
  76. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students22.gv +0 -0
  77. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students23.gv +0 -0
  78. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students24.gv +0 -0
  79. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students25.gv +0 -0
  80. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students26.gv +0 -0
  81. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students27.gv +0 -0
  82. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students28.gv +0 -0
  83. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students29.gv +0 -0
  84. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/students30.gv +0 -0
  85. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/test.py +0 -0
  86. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/tree0.gv +0 -0
  87. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/tree1.gv +0 -0
  88. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/tree10.gv +0 -0
  89. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/tree11.gv +0 -0
  90. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/tree12.gv +0 -0
  91. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/tree13.gv +0 -0
  92. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/tree14.gv +0 -0
  93. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/tree15.gv +0 -0
  94. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/tree16.gv +0 -0
  95. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/tree17.gv +0 -0
  96. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/tree2.gv +0 -0
  97. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/tree3.gv +0 -0
  98. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/tree4.gv +0 -0
  99. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/tree5.gv +0 -0
  100. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/tree6.gv +0 -0
  101. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/tree7.gv +0 -0
  102. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/tree8.gv +0 -0
  103. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/tree9.gv +0 -0
  104. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/images/vscode.png +0 -0
  105. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/install.txt +0 -0
  106. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/invocation_tree.egg-info/dependency_links.txt +0 -0
  107. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/invocation_tree.egg-info/requires.txt +0 -0
  108. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/invocation_tree.egg-info/top_level.txt +0 -0
  109. {invocation_tree-0.0.6 → invocation_tree-0.0.8}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: invocation_tree
3
- Version: 0.0.6
3
+ Version: 0.0.8
4
4
  Summary: Generate an invocation tree of functions calls.
5
5
  Home-page: https://github.com/bterwijn/invocation_tree
6
6
  Author: Bas Terwijn
@@ -29,7 +29,7 @@ The [invocation_tree](https://pypi.org/project/invocation-tree/) package is desi
29
29
 
30
30
  ```python
31
31
  import invocation_tree as invo_tree
32
- import math
32
+ from decimal import Decimal, ROUND_HALF_UP
33
33
 
34
34
  def main():
35
35
  students = {'Ann':[7.5, 8.0],
@@ -42,9 +42,9 @@ def main():
42
42
 
43
43
  def compute_average(grades):
44
44
  average = sum(grades)/len(grades)
45
- return my_round(average, 1)
45
+ return half_up_round(average, 1)
46
46
 
47
- def my_round(value, digits=0):
47
+ def half_up_round(value, digits=0):
48
48
  """ High-precision half-up rounding of 'value' to a specified number of 'digits'. """
49
49
  return float(Decimal(str(value)).quantize(Decimal(f"1e-{digits}"),
50
50
  rounding=ROUND_HALF_UP))
@@ -72,7 +72,7 @@ For every function, the package displays its **local variables** and **return va
72
72
  The program blocks execution at every function call and return statement, printing the current location in the source code. Press the <Enter> key to continue execution. To block at every line of the program (like in a debugger tool) and only where a change of value occured, use instead:
73
73
 
74
74
  ```python
75
- tree = invo_tree.blocking_each_line()
75
+ tree = invo_tree.blocking_each_change()
76
76
  ```
77
77
 
78
78
  # Debugger #
@@ -166,14 +166,13 @@ tree = invo_tree.Invocation_Tree()
166
166
 
167
167
  For convenience we provide these functions to set common configurations:
168
168
 
169
- - **invo_tree.blocking(filename)**, for blocking on function call and return
170
- - **invo_tree.blocking_each_line(filename)**, for blocking on each line of the program
169
+ - **invo_tree.blocking(filename)**, blocks on function call and return
170
+ - **invo_tree.blocking_each_change(filename)**, blocks on each change of value
171
171
  - **invo_tree.debugger(filename)**, for use in debugger tool (open <filename> manually)
172
- - **invo_tree.gif(filename)**, for generating many output files on function call and return for gif creation
173
- - **invo_tree.gif_each_line(filename)**, for generating many output files on each line for gif creation
172
+ - **invo_tree.gif(filename)**, generates many output files on function call and return for gif creation
173
+ - **invo_tree.gif_each_change(filename)**, generates many output files on each change of value for gif creation
174
174
 
175
175
  # Troubleshooting #
176
-
177
176
  - Adobe Acrobat Reader [doesn't refresh a PDF file](https://superuser.com/questions/337011/windows-pdf-viewer-that-auto-refreshes-pdf-when-compiling-with-pdflatex) when it changes on disk and blocks updates which results in an `Could not open 'somefile.pdf' for writing : Permission denied` error. One solution is to install a PDF reader that does refresh ([Evince](https://www.fosshub.com/Evince.html), [Okular](https://okular.kde.org/), [SumatraPDF](https://www.sumatrapdfreader.org/), ...) and set it as the default PDF reader. Another solution is to save the tree to a different [Graphviz Output Format](https://graphviz.org/docs/outputs/).
178
177
 
179
178
  ## Memory_Graph Package ##
@@ -10,7 +10,7 @@ The [invocation_tree](https://pypi.org/project/invocation-tree/) package is desi
10
10
 
11
11
  ```python
12
12
  import invocation_tree as invo_tree
13
- import math
13
+ from decimal import Decimal, ROUND_HALF_UP
14
14
 
15
15
  def main():
16
16
  students = {'Ann':[7.5, 8.0],
@@ -23,9 +23,9 @@ def main():
23
23
 
24
24
  def compute_average(grades):
25
25
  average = sum(grades)/len(grades)
26
- return my_round(average, 1)
26
+ return half_up_round(average, 1)
27
27
 
28
- def my_round(value, digits=0):
28
+ def half_up_round(value, digits=0):
29
29
  """ High-precision half-up rounding of 'value' to a specified number of 'digits'. """
30
30
  return float(Decimal(str(value)).quantize(Decimal(f"1e-{digits}"),
31
31
  rounding=ROUND_HALF_UP))
@@ -53,7 +53,7 @@ For every function, the package displays its **local variables** and **return va
53
53
  The program blocks execution at every function call and return statement, printing the current location in the source code. Press the <Enter> key to continue execution. To block at every line of the program (like in a debugger tool) and only where a change of value occured, use instead:
54
54
 
55
55
  ```python
56
- tree = invo_tree.blocking_each_line()
56
+ tree = invo_tree.blocking_each_change()
57
57
  ```
58
58
 
59
59
  # Debugger #
@@ -147,14 +147,13 @@ tree = invo_tree.Invocation_Tree()
147
147
 
148
148
  For convenience we provide these functions to set common configurations:
149
149
 
150
- - **invo_tree.blocking(filename)**, for blocking on function call and return
151
- - **invo_tree.blocking_each_line(filename)**, for blocking on each line of the program
150
+ - **invo_tree.blocking(filename)**, blocks on function call and return
151
+ - **invo_tree.blocking_each_change(filename)**, blocks on each change of value
152
152
  - **invo_tree.debugger(filename)**, for use in debugger tool (open <filename> manually)
153
- - **invo_tree.gif(filename)**, for generating many output files on function call and return for gif creation
154
- - **invo_tree.gif_each_line(filename)**, for generating many output files on each line for gif creation
153
+ - **invo_tree.gif(filename)**, generates many output files on function call and return for gif creation
154
+ - **invo_tree.gif_each_change(filename)**, generates many output files on each change of value for gif creation
155
155
 
156
156
  # Troubleshooting #
157
-
158
157
  - Adobe Acrobat Reader [doesn't refresh a PDF file](https://superuser.com/questions/337011/windows-pdf-viewer-that-auto-refreshes-pdf-when-compiling-with-pdflatex) when it changes on disk and blocks updates which results in an `Could not open 'somefile.pdf' for writing : Permission denied` error. One solution is to install a PDF reader that does refresh ([Evince](https://www.fosshub.com/Evince.html), [Okular](https://okular.kde.org/), [SumatraPDF](https://www.sumatrapdfreader.org/), ...) and set it as the default PDF reader. Another solution is to save the tree to a different [Graphviz Output Format](https://graphviz.org/docs/outputs/).
159
158
 
160
159
  ## Memory_Graph Package ##
@@ -12,9 +12,9 @@ def main():
12
12
 
13
13
  def compute_average(grades):
14
14
  average = sum(grades)/len(grades)
15
- return my_round(average, 1)
15
+ return half_up_round(average, 1)
16
16
 
17
- def my_round(value, digits=0):
17
+ def half_up_round(value, digits=0):
18
18
  """ High-precision half-up rounding of 'value' to a specified number of 'digits'. """
19
19
  return float(Decimal(str(value)).quantize(Decimal(f"1e-{digits}"),
20
20
  rounding=ROUND_HALF_UP))
@@ -7,7 +7,7 @@ import html
7
7
  import sys
8
8
  import difflib
9
9
 
10
- __version__ = "0.0.6"
10
+ __version__ = "0.0.8"
11
11
  __author__ = 'Bas Terwijn'
12
12
 
13
13
  def highlight_diff(str1, str2):
@@ -264,7 +264,7 @@ class Invocation_Tree:
264
264
  def blocking(filename='tree.pdf'):
265
265
  return Invocation_Tree(filename=filename)
266
266
 
267
- def blocking_each_line(filename='tree.pdf'):
267
+ def blocking_each_change(filename='tree.pdf'):
268
268
  return Invocation_Tree(filename=filename, each_line=True)
269
269
 
270
270
  def debugger(filename='tree.pdf'):
@@ -273,5 +273,5 @@ def debugger(filename='tree.pdf'):
273
273
  def gif(filename='tree.png'):
274
274
  return Invocation_Tree(filename=filename, show=False, block=False, gifcount=0)
275
275
 
276
- def gif_each_line(filename='tree.png'):
276
+ def gif_each_change(filename='tree.png'):
277
277
  return Invocation_Tree(filename=filename, show=False, block=False, gifcount=0, each_line=True)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: invocation_tree
3
- Version: 0.0.6
3
+ Version: 0.0.8
4
4
  Summary: Generate an invocation tree of functions calls.
5
5
  Home-page: https://github.com/bterwijn/invocation_tree
6
6
  Author: Bas Terwijn
@@ -29,7 +29,7 @@ The [invocation_tree](https://pypi.org/project/invocation-tree/) package is desi
29
29
 
30
30
  ```python
31
31
  import invocation_tree as invo_tree
32
- import math
32
+ from decimal import Decimal, ROUND_HALF_UP
33
33
 
34
34
  def main():
35
35
  students = {'Ann':[7.5, 8.0],
@@ -42,9 +42,9 @@ def main():
42
42
 
43
43
  def compute_average(grades):
44
44
  average = sum(grades)/len(grades)
45
- return my_round(average, 1)
45
+ return half_up_round(average, 1)
46
46
 
47
- def my_round(value, digits=0):
47
+ def half_up_round(value, digits=0):
48
48
  """ High-precision half-up rounding of 'value' to a specified number of 'digits'. """
49
49
  return float(Decimal(str(value)).quantize(Decimal(f"1e-{digits}"),
50
50
  rounding=ROUND_HALF_UP))
@@ -72,7 +72,7 @@ For every function, the package displays its **local variables** and **return va
72
72
  The program blocks execution at every function call and return statement, printing the current location in the source code. Press the <Enter> key to continue execution. To block at every line of the program (like in a debugger tool) and only where a change of value occured, use instead:
73
73
 
74
74
  ```python
75
- tree = invo_tree.blocking_each_line()
75
+ tree = invo_tree.blocking_each_change()
76
76
  ```
77
77
 
78
78
  # Debugger #
@@ -166,14 +166,13 @@ tree = invo_tree.Invocation_Tree()
166
166
 
167
167
  For convenience we provide these functions to set common configurations:
168
168
 
169
- - **invo_tree.blocking(filename)**, for blocking on function call and return
170
- - **invo_tree.blocking_each_line(filename)**, for blocking on each line of the program
169
+ - **invo_tree.blocking(filename)**, blocks on function call and return
170
+ - **invo_tree.blocking_each_change(filename)**, blocks on each change of value
171
171
  - **invo_tree.debugger(filename)**, for use in debugger tool (open <filename> manually)
172
- - **invo_tree.gif(filename)**, for generating many output files on function call and return for gif creation
173
- - **invo_tree.gif_each_line(filename)**, for generating many output files on each line for gif creation
172
+ - **invo_tree.gif(filename)**, generates many output files on function call and return for gif creation
173
+ - **invo_tree.gif_each_change(filename)**, generates many output files on each change of value for gif creation
174
174
 
175
175
  # Troubleshooting #
176
-
177
176
  - Adobe Acrobat Reader [doesn't refresh a PDF file](https://superuser.com/questions/337011/windows-pdf-viewer-that-auto-refreshes-pdf-when-compiling-with-pdflatex) when it changes on disk and blocks updates which results in an `Could not open 'somefile.pdf' for writing : Permission denied` error. One solution is to install a PDF reader that does refresh ([Evince](https://www.fosshub.com/Evince.html), [Okular](https://okular.kde.org/), [SumatraPDF](https://www.sumatrapdfreader.org/), ...) and set it as the default PDF reader. Another solution is to save the tree to a different [Graphviz Output Format](https://graphviz.org/docs/outputs/).
178
177
 
179
178
  ## Memory_Graph Package ##
@@ -9,7 +9,6 @@ images/create_images.sh~
9
9
  images/factorial.gif
10
10
  images/factorial.py
11
11
  images/factorial.py~
12
- images/factorial0.png
13
12
  images/factorial1.png
14
13
  images/factorial2.png
15
14
  images/factorial3.png
@@ -24,7 +23,6 @@ images/invocation_tree0.pdf
24
23
  images/permutations.gif
25
24
  images/permutations.py
26
25
  images/permutations.py~
27
- images/permutations0.png
28
26
  images/permutations1.png
29
27
  images/permutations10.png
30
28
  images/permutations11.png
@@ -11,7 +11,7 @@ long_description_from_readme = (this_directory / "README.md").read_text()
11
11
 
12
12
  setup(
13
13
  name = 'invocation_tree',
14
- version = '0.0.6',
14
+ version = '0.0.8',
15
15
  description = 'Generate an invocation tree of functions calls.',
16
16
  long_description = long_description_from_readme,
17
17
  long_description_content_type = 'text/markdown',
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file