codegreen 0.3.7__tar.gz → 0.3.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 (216) hide show
  1. {codegreen-0.3.7/codegreen.egg-info → codegreen-0.3.8}/PKG-INFO +8 -11
  2. {codegreen-0.3.7 → codegreen-0.3.8}/README.md +7 -10
  3. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/__init__.py +1 -1
  4. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/cli/cli.py +29 -1
  5. {codegreen-0.3.7 → codegreen-0.3.8/codegreen.egg-info}/PKG-INFO +8 -11
  6. {codegreen-0.3.7 → codegreen-0.3.8}/pyproject.toml +1 -1
  7. {codegreen-0.3.7 → codegreen-0.3.8}/CMakeLists.txt +0 -0
  8. {codegreen-0.3.7 → codegreen-0.3.8}/LICENSE +0 -0
  9. {codegreen-0.3.7 → codegreen-0.3.8}/MANIFEST.in +0 -0
  10. {codegreen-0.3.7 → codegreen-0.3.8}/benchmark/__init__.py +0 -0
  11. {codegreen-0.3.7 → codegreen-0.3.8}/benchmark/__main__.py +0 -0
  12. {codegreen-0.3.7 → codegreen-0.3.8}/benchmark/compilers.py +0 -0
  13. {codegreen-0.3.7 → codegreen-0.3.8}/benchmark/config.py +0 -0
  14. {codegreen-0.3.7 → codegreen-0.3.8}/benchmark/harness.py +0 -0
  15. {codegreen-0.3.7 → codegreen-0.3.8}/benchmark/profilers.py +0 -0
  16. {codegreen-0.3.7 → codegreen-0.3.8}/benchmark/results.py +0 -0
  17. {codegreen-0.3.7 → codegreen-0.3.8}/benchmark/suites/__init__.py +0 -0
  18. {codegreen-0.3.7 → codegreen-0.3.8}/benchmark/suites/base.py +0 -0
  19. {codegreen-0.3.7 → codegreen-0.3.8}/benchmark/suites/benchmarksgame.py +0 -0
  20. {codegreen-0.3.7 → codegreen-0.3.8}/benchmark/suites/dacapo.py +0 -0
  21. {codegreen-0.3.7 → codegreen-0.3.8}/benchmark/suites/perfopt.py +0 -0
  22. {codegreen-0.3.7 → codegreen-0.3.8}/benchmark/suites/renaissance.py +0 -0
  23. {codegreen-0.3.7 → codegreen-0.3.8}/benchmark/validation/__init__.py +0 -0
  24. {codegreen-0.3.7 → codegreen-0.3.8}/benchmark/validation/analysis.py +0 -0
  25. {codegreen-0.3.7 → codegreen-0.3.8}/benchmark/validation/experiments.py +0 -0
  26. {codegreen-0.3.7 → codegreen-0.3.8}/benchmark/validation/reporting.py +0 -0
  27. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/analysis/__init__.py +0 -0
  28. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/analysis/_ts_java.py +0 -0
  29. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/analysis/cfg/__init__.py +0 -0
  30. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/analysis/cfg/builder.py +0 -0
  31. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/analysis/cfg/callgraph.py +0 -0
  32. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/analysis/cfg/dataflow.py +0 -0
  33. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/analysis/cfg/energy_flow.py +0 -0
  34. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/analysis/cfg/features.py +0 -0
  35. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/analysis/cfg/pdg.py +0 -0
  36. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/analysis/cfg/types.py +0 -0
  37. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/analysis/cfg/visualization.py +0 -0
  38. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/analyzer/__init__.py +0 -0
  39. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/analyzer/plot.py +0 -0
  40. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/cli/__init__.py +0 -0
  41. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/cli/entrypoint.py +0 -0
  42. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/config.json +0 -0
  43. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/instrumentation/__init__.py +0 -0
  44. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/instrumentation/ast_processor.py +0 -0
  45. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/instrumentation/bridge_analyze.py +0 -0
  46. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/instrumentation/bridge_instrument.py +0 -0
  47. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/instrumentation/config.py +0 -0
  48. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/instrumentation/configs/TEMPLATE.json +0 -0
  49. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/instrumentation/configs/c.json +0 -0
  50. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/instrumentation/configs/cpp.json +0 -0
  51. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/instrumentation/configs/java.json +0 -0
  52. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/instrumentation/configs/javascript.json +0 -0
  53. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/instrumentation/configs/python.json +0 -0
  54. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/instrumentation/engine.py +0 -0
  55. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/instrumentation/language_configs.py +0 -0
  56. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/instrumentation/language_engine.py +0 -0
  57. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/instrumentation/language_runtimes/c/codegreen_runtime.h +0 -0
  58. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/instrumentation/language_runtimes/cpp/codegreen/runtime.hpp +0 -0
  59. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/instrumentation/language_runtimes/java/codegreen/runtime/CodeGreenRuntime.java +0 -0
  60. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/instrumentation/language_runtimes/java/codegreen/runtime/CodeGreenStandaloneRuntime.java +0 -0
  61. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/instrumentation/language_runtimes/python/codegreen_runtime.py +0 -0
  62. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/utils/__init__.py +0 -0
  63. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/utils/binary.py +0 -0
  64. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen/utils/platform.py +0 -0
  65. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen.egg-info/SOURCES.txt +0 -0
  66. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen.egg-info/dependency_links.txt +0 -0
  67. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen.egg-info/entry_points.txt +0 -0
  68. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen.egg-info/not-zip-safe +0 -0
  69. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen.egg-info/requires.txt +0 -0
  70. {codegreen-0.3.7 → codegreen-0.3.8}/codegreen.egg-info/top_level.txt +0 -0
  71. {codegreen-0.3.7 → codegreen-0.3.8}/requirements.txt +0 -0
  72. {codegreen-0.3.7 → codegreen-0.3.8}/setup.cfg +0 -0
  73. {codegreen-0.3.7 → codegreen-0.3.8}/setup.py +0 -0
  74. {codegreen-0.3.7 → codegreen-0.3.8}/tests/test_instrumentation.py +0 -0
  75. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/Programming-Language-Benchmarks/bench/algorithm/binarytrees/2.c +0 -0
  76. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/Programming-Language-Benchmarks/bench/algorithm/helloworld/1.c +0 -0
  77. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/Programming-Language-Benchmarks/bench/algorithm/knucleotide/1.c +0 -0
  78. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/Programming-Language-Benchmarks/bench/algorithm/mandelbrot/1-ffi.c +0 -0
  79. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/Programming-Language-Benchmarks/bench/algorithm/mandelbrot/1-mffi.c +0 -0
  80. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/Programming-Language-Benchmarks/bench/algorithm/nbody/2.c +0 -0
  81. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/Programming-Language-Benchmarks/bench/algorithm/nbody/5.c +0 -0
  82. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/Programming-Language-Benchmarks/bench/algorithm/nbody/8-i.c +0 -0
  83. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/Programming-Language-Benchmarks/bench/algorithm/nsieve/1.c +0 -0
  84. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/Programming-Language-Benchmarks/bench/algorithm/spectral-norm/3.c +0 -0
  85. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/Programming-Language-Benchmarks/bench/algorithm/spectral-norm/4.c +0 -0
  86. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/Programming-Language-Benchmarks/bench/algorithm/spectral-norm/5-im.c +0 -0
  87. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/Programming-Language-Benchmarks/bench/algorithm/spectral-norm/6-im.c +0 -0
  88. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/aligned_indent.c +0 -0
  89. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/array.c +0 -0
  90. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/comment.c +0 -0
  91. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/compound_lit.c +0 -0
  92. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/cond.c +0 -0
  93. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/enum.c +0 -0
  94. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/expr.c +0 -0
  95. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/func.c +0 -0
  96. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/if_else.c +0 -0
  97. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/issue-1568.c +0 -0
  98. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/issue-2086.c +0 -0
  99. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/issue-4079.c +0 -0
  100. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/issue-4117.c +0 -0
  101. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/issue-4525.c +0 -0
  102. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/label.c +0 -0
  103. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/loop.c +0 -0
  104. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/no_braces.c +0 -0
  105. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/preproc_cond.c +0 -0
  106. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/preproc_func.c +0 -0
  107. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/string.c +0 -0
  108. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/struct.c +0 -0
  109. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/switch.c +0 -0
  110. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/ternary.c +0 -0
  111. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/indent/c/unfinished_comment.c +0 -0
  112. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/nvim-treesitter/tests/query/highlights/c/enums-as-constants.c +0 -0
  113. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/crates/cli/src/templates/PARSER_NAME.h +0 -0
  114. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/crates/cli/src/templates/py-binding.c +0 -0
  115. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/crates/generate/src/templates/alloc.h +0 -0
  116. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/crates/generate/src/templates/array.h +0 -0
  117. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/crates/highlight/include/tree_sitter/highlight.h +0 -0
  118. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/crates/tags/include/tree_sitter/tags.h +0 -0
  119. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/CMakeLists.txt +0 -0
  120. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/binding_web/lib/tree-sitter.c +0 -0
  121. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/include/tree_sitter/api.h +0 -0
  122. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/alloc.c +0 -0
  123. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/alloc.h +0 -0
  124. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/array.h +0 -0
  125. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/atomic.h +0 -0
  126. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/clock.h +0 -0
  127. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/error_costs.h +0 -0
  128. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/get_changed_ranges.c +0 -0
  129. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/get_changed_ranges.h +0 -0
  130. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/host.h +0 -0
  131. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/language.c +0 -0
  132. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/language.h +0 -0
  133. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/length.h +0 -0
  134. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/lexer.c +0 -0
  135. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/lexer.h +0 -0
  136. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/lib.c +0 -0
  137. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/node.c +0 -0
  138. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/parser.c +0 -0
  139. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/parser.h +0 -0
  140. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/point.h +0 -0
  141. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/portable/endian.h +0 -0
  142. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/query.c +0 -0
  143. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/reduce_action.h +0 -0
  144. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/reusable_node.h +0 -0
  145. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/stack.c +0 -0
  146. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/stack.h +0 -0
  147. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/subtree.c +0 -0
  148. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/subtree.h +0 -0
  149. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/tree.c +0 -0
  150. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/tree.h +0 -0
  151. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/tree_cursor.c +0 -0
  152. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/tree_cursor.h +0 -0
  153. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/ts_assert.h +0 -0
  154. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/unicode/ptypes.h +0 -0
  155. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/unicode/umachine.h +0 -0
  156. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/unicode/urename.h +0 -0
  157. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/unicode/utf.h +0 -0
  158. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/unicode/utf16.h +0 -0
  159. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/unicode/utf8.h +0 -0
  160. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/unicode.h +0 -0
  161. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/wasm/stdlib.c +0 -0
  162. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/wasm/wasm-stdlib.h +0 -0
  163. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/wasm_store.c +0 -0
  164. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/lib/src/wasm_store.h +0 -0
  165. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/test/fixtures/test_grammars/depends_on_column/scanner.c +0 -0
  166. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/test/fixtures/test_grammars/epsilon_external_extra_tokens/scanner.c +0 -0
  167. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/test/fixtures/test_grammars/epsilon_external_tokens/scanner.c +0 -0
  168. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/test/fixtures/test_grammars/external_and_internal_anonymous_tokens/scanner.c +0 -0
  169. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/test/fixtures/test_grammars/external_and_internal_tokens/scanner.c +0 -0
  170. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/test/fixtures/test_grammars/external_extra_tokens/scanner.c +0 -0
  171. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/test/fixtures/test_grammars/external_tokens/scanner.c +0 -0
  172. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/test/fixtures/test_grammars/external_unicode_column_alignment/scanner.c +0 -0
  173. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/test/fixtures/test_grammars/get_col_eof/scanner.c +0 -0
  174. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/test/fixtures/test_grammars/get_col_should_hang_not_crash/scanner.c +0 -0
  175. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/test/fixtures/test_grammars/inverted_external_token/scanner.c +0 -0
  176. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter/test/fixtures/test_grammars/uses_current_column/scanner.c +0 -0
  177. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-c/CMakeLists.txt +0 -0
  178. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-c/bindings/c/tree_sitter/tree-sitter-c.h +0 -0
  179. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-c/bindings/python/tree_sitter_c/binding.c +0 -0
  180. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-c/bindings/swift/TreeSitterC/c.h +0 -0
  181. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-c/examples/cluster.c +0 -0
  182. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-c/examples/malloc.c +0 -0
  183. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-c/examples/parser.c +0 -0
  184. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-c/src/parser.c +0 -0
  185. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-c/src/tree_sitter/alloc.h +0 -0
  186. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-c/src/tree_sitter/array.h +0 -0
  187. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-c/src/tree_sitter/parser.h +0 -0
  188. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-c/test/highlight/keywords.c +0 -0
  189. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-c/test/highlight/names.c +0 -0
  190. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-cpp/CMakeLists.txt +0 -0
  191. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-cpp/bindings/c/tree-sitter-cpp.h +0 -0
  192. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-cpp/bindings/python/tree_sitter_cpp/binding.c +0 -0
  193. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-cpp/bindings/swift/TreeSitterCPP/cpp.h +0 -0
  194. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-cpp/examples/marker-index.h +0 -0
  195. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-cpp/src/parser.c +0 -0
  196. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-cpp/src/scanner.c +0 -0
  197. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-cpp/src/tree_sitter/alloc.h +0 -0
  198. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-cpp/src/tree_sitter/array.h +0 -0
  199. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-cpp/src/tree_sitter/parser.h +0 -0
  200. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-java/CMakeLists.txt +0 -0
  201. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-java/bindings/c/tree-sitter-java.h +0 -0
  202. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-java/bindings/python/tree_sitter_java/binding.c +0 -0
  203. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-java/bindings/swift/TreeSitterJava/java.h +0 -0
  204. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-java/src/parser.c +0 -0
  205. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-java/src/tree_sitter/alloc.h +0 -0
  206. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-java/src/tree_sitter/array.h +0 -0
  207. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-java/src/tree_sitter/parser.h +0 -0
  208. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-python/CMakeLists.txt +0 -0
  209. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-python/bindings/c/tree-sitter-python.h +0 -0
  210. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-python/bindings/python/tree_sitter_python/binding.c +0 -0
  211. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-python/bindings/swift/TreeSitterPython/python.h +0 -0
  212. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-python/src/parser.c +0 -0
  213. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-python/src/scanner.c +0 -0
  214. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-python/src/tree_sitter/alloc.h +0 -0
  215. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-python/src/tree_sitter/array.h +0 -0
  216. {codegreen-0.3.7 → codegreen-0.3.8}/third_party/tree-sitter-python/src/tree_sitter/parser.h +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codegreen
3
- Version: 0.3.7
3
+ Version: 0.3.8
4
4
  Summary: Energy-aware software development tool for measuring and optimizing code energy consumption
5
5
  Author-email: Saurabhsingh Rajput <saurabh@dal.ca>
6
6
  Maintainer-email: Saurabhsingh Rajput <saurabh@dal.ca>
@@ -461,8 +461,7 @@ cd codegreen
461
461
  # Linux: RAPL sensor access (one-time, requires sudo):
462
462
  sudo ./install.sh # or: sudo codegreen init-sensors
463
463
 
464
- # macOS: energy measurement requires sudo (IOReport access):
465
- sudo codegreen run -- python script.py
464
+ # macOS: no setup needed, energy measurement works out of the box
466
465
  ```
467
466
 
468
467
  ### Platform support
@@ -482,7 +481,7 @@ sudo codegreen run -- python script.py
482
481
 
483
482
  - Python 3.9+
484
483
  - Linux: kernel 5.0+, Intel/AMD CPU with RAPL support
485
- - macOS: Apple Silicon (M1-M5) or Intel, sudo for energy measurement
484
+ - macOS: Apple Silicon (M1-M5) or Intel, no setup needed
486
485
  - Windows 11: Intel/AMD CPU (EMI via inbox intelpep.sys driver, zero install)
487
486
  - Source builds: CMake 3.16+, C++17 compiler
488
487
 
@@ -585,13 +584,11 @@ cd codegreen && git pull && ./install.sh --upgrade # source
585
584
  ## Citation
586
585
 
587
586
  ```bibtex
588
- @software{Rajput_CodeGreen_2026,
589
- author = {Rajput, Saurabhsingh},
590
- doi = {10.5281/zenodo.18371772},
591
- title = {{CodeGreen: Per-Function Energy Measurement for Multi-Language Software}},
592
- url = {https://smart-dal.github.io/codegreen/},
593
- version = {v0.2.0},
594
- year = {2026}
587
+ @article{rajput2026codegreen,
588
+ title={CodeGreen: Towards Improving Precision and Portability in Software Energy Measurement},
589
+ author={Rajput, Saurabhsingh and Sharma, Tushar},
590
+ journal={arXiv preprint arXiv:2603.17924},
591
+ year={2026}
595
592
  }
596
593
  ```
597
594
 
@@ -29,8 +29,7 @@ cd codegreen
29
29
  # Linux: RAPL sensor access (one-time, requires sudo):
30
30
  sudo ./install.sh # or: sudo codegreen init-sensors
31
31
 
32
- # macOS: energy measurement requires sudo (IOReport access):
33
- sudo codegreen run -- python script.py
32
+ # macOS: no setup needed, energy measurement works out of the box
34
33
  ```
35
34
 
36
35
  ### Platform support
@@ -50,7 +49,7 @@ sudo codegreen run -- python script.py
50
49
 
51
50
  - Python 3.9+
52
51
  - Linux: kernel 5.0+, Intel/AMD CPU with RAPL support
53
- - macOS: Apple Silicon (M1-M5) or Intel, sudo for energy measurement
52
+ - macOS: Apple Silicon (M1-M5) or Intel, no setup needed
54
53
  - Windows 11: Intel/AMD CPU (EMI via inbox intelpep.sys driver, zero install)
55
54
  - Source builds: CMake 3.16+, C++17 compiler
56
55
 
@@ -153,13 +152,11 @@ cd codegreen && git pull && ./install.sh --upgrade # source
153
152
  ## Citation
154
153
 
155
154
  ```bibtex
156
- @software{Rajput_CodeGreen_2026,
157
- author = {Rajput, Saurabhsingh},
158
- doi = {10.5281/zenodo.18371772},
159
- title = {{CodeGreen: Per-Function Energy Measurement for Multi-Language Software}},
160
- url = {https://smart-dal.github.io/codegreen/},
161
- version = {v0.2.0},
162
- year = {2026}
155
+ @article{rajput2026codegreen,
156
+ title={CodeGreen: Towards Improving Precision and Portability in Software Energy Measurement},
157
+ author={Rajput, Saurabhsingh and Sharma, Tushar},
158
+ journal={arXiv preprint arXiv:2603.17924},
159
+ year={2026}
163
160
  }
164
161
  ```
165
162
 
@@ -5,7 +5,7 @@ A comprehensive energy measurement and code optimization tool for developers
5
5
  and researchers who need precise, fine-grained energy consumption analysis.
6
6
  """
7
7
 
8
- __version__ = "0.3.7"
8
+ __version__ = "0.3.8"
9
9
  __author__ = "Saurabhsingh Rajput"
10
10
  __email__ = "saurabh@dal.ca"
11
11
  __description__ = "Energy-aware software development tool"
@@ -2301,7 +2301,7 @@ def run_command(
2301
2301
  if not energies:
2302
2302
  msg = f"No energy data from {backend.name}"
2303
2303
  if isinstance(backend, _TimeOnlyBackend):
2304
- msg += " (need perf on Linux or sudo powermetrics on macOS)"
2304
+ msg += " (need perf on Linux, or NEMB library not found)"
2305
2305
  if json_output:
2306
2306
  t_mean = sum(times) / len(times) if times else 0
2307
2307
  print(json.dumps({"success": False, "error": msg,
@@ -2347,6 +2347,20 @@ def run_command(
2347
2347
  console.print(f"[bold]Time:[/bold] {t_stats.mean:.4f} s +/- {t_stats.std:.4f} s")
2348
2348
  console.print(f"[bold]Power:[/bold] {e_stats.mean / t_stats.mean:.2f} W (avg)")
2349
2349
  console.print(f" Runs: {len(energies)}, Outliers removed: {e_stats.outliers_removed}")
2350
+
2351
+ # Per-domain energy breakdown (dynamically detected from hardware)
2352
+ if isinstance(backend, _NEMBBackend):
2353
+ domains = backend.get_last_domain_breakdown()
2354
+ if domains:
2355
+ console.print(f"\n[bold]Domain Breakdown:[/bold]")
2356
+ total_reported = sum(v for v in domains.values() if v > 0)
2357
+ for domain, joules in sorted(domains.items(), key=lambda x: -x[1]):
2358
+ if joules <= 0: continue
2359
+ pct = (joules / total_reported * 100) if total_reported > 0 else 0
2360
+ bar_len = int(pct / 5)
2361
+ bar = "[green]" + "=" * bar_len + "[/green]" + " " * (20 - bar_len)
2362
+ console.print(f" {domain:<25} {joules:>10.4f} J {bar} {pct:5.1f}%")
2363
+
2350
2364
  if cv > 20:
2351
2365
  console.print(f"[yellow] Tip: high variance -- try --repeat 30 or reduce background load[/yellow]")
2352
2366
  if budget is not None:
@@ -2427,8 +2441,22 @@ class _NEMBBackend(_EnergyBackend):
2427
2441
  energy = ctypes.c_double(0)
2428
2442
  power = ctypes.c_double(0)
2429
2443
  ok = lib.nemb_stop_session(sid, ctypes.byref(energy), ctypes.byref(power))
2444
+ # Fetch per-domain breakdown (post-hoc, no measurement overhead)
2445
+ self._last_domains = {}
2446
+ try:
2447
+ buf = ctypes.create_string_buffer(4096)
2448
+ lib.nemb_get_domain_energy_json.restype = ctypes.c_int
2449
+ lib.nemb_get_domain_energy_json.argtypes = [ctypes.c_char_p, ctypes.c_int]
2450
+ n = lib.nemb_get_domain_energy_json(buf, 4096)
2451
+ if n > 0:
2452
+ self._last_domains = json.loads(buf.value.decode())
2453
+ except Exception:
2454
+ pass
2430
2455
  return (energy.value if ok and energy.value > 0 else None, elapsed)
2431
2456
 
2457
+ def get_last_domain_breakdown(self) -> dict:
2458
+ return getattr(self, '_last_domains', {})
2459
+
2432
2460
  def wrap_command(self, cmd_str: str, energy_file: str, checkpoint_file: str) -> str:
2433
2461
  # NEMB measures in-process; for project mode, just run the command and
2434
2462
  # let the coordinator's background thread capture energy during execution
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codegreen
3
- Version: 0.3.7
3
+ Version: 0.3.8
4
4
  Summary: Energy-aware software development tool for measuring and optimizing code energy consumption
5
5
  Author-email: Saurabhsingh Rajput <saurabh@dal.ca>
6
6
  Maintainer-email: Saurabhsingh Rajput <saurabh@dal.ca>
@@ -461,8 +461,7 @@ cd codegreen
461
461
  # Linux: RAPL sensor access (one-time, requires sudo):
462
462
  sudo ./install.sh # or: sudo codegreen init-sensors
463
463
 
464
- # macOS: energy measurement requires sudo (IOReport access):
465
- sudo codegreen run -- python script.py
464
+ # macOS: no setup needed, energy measurement works out of the box
466
465
  ```
467
466
 
468
467
  ### Platform support
@@ -482,7 +481,7 @@ sudo codegreen run -- python script.py
482
481
 
483
482
  - Python 3.9+
484
483
  - Linux: kernel 5.0+, Intel/AMD CPU with RAPL support
485
- - macOS: Apple Silicon (M1-M5) or Intel, sudo for energy measurement
484
+ - macOS: Apple Silicon (M1-M5) or Intel, no setup needed
486
485
  - Windows 11: Intel/AMD CPU (EMI via inbox intelpep.sys driver, zero install)
487
486
  - Source builds: CMake 3.16+, C++17 compiler
488
487
 
@@ -585,13 +584,11 @@ cd codegreen && git pull && ./install.sh --upgrade # source
585
584
  ## Citation
586
585
 
587
586
  ```bibtex
588
- @software{Rajput_CodeGreen_2026,
589
- author = {Rajput, Saurabhsingh},
590
- doi = {10.5281/zenodo.18371772},
591
- title = {{CodeGreen: Per-Function Energy Measurement for Multi-Language Software}},
592
- url = {https://smart-dal.github.io/codegreen/},
593
- version = {v0.2.0},
594
- year = {2026}
587
+ @article{rajput2026codegreen,
588
+ title={CodeGreen: Towards Improving Precision and Portability in Software Energy Measurement},
589
+ author={Rajput, Saurabhsingh and Sharma, Tushar},
590
+ journal={arXiv preprint arXiv:2603.17924},
591
+ year={2026}
595
592
  }
596
593
  ```
597
594
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "codegreen"
7
- version = "0.3.7"
7
+ version = "0.3.8"
8
8
  description = "Energy-aware software development tool for measuring and optimizing code energy consumption"
9
9
  readme = "README.md"
10
10
  license = {file = "LICENSE"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes