codegreen 0.3.7__tar.gz → 0.3.9__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.9}/PKG-INFO +8 -11
  2. {codegreen-0.3.7 → codegreen-0.3.9}/README.md +7 -10
  3. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/__init__.py +1 -1
  4. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/cli/cli.py +40 -1
  5. {codegreen-0.3.7 → codegreen-0.3.9/codegreen.egg-info}/PKG-INFO +8 -11
  6. {codegreen-0.3.7 → codegreen-0.3.9}/pyproject.toml +1 -1
  7. {codegreen-0.3.7 → codegreen-0.3.9}/CMakeLists.txt +0 -0
  8. {codegreen-0.3.7 → codegreen-0.3.9}/LICENSE +0 -0
  9. {codegreen-0.3.7 → codegreen-0.3.9}/MANIFEST.in +0 -0
  10. {codegreen-0.3.7 → codegreen-0.3.9}/benchmark/__init__.py +0 -0
  11. {codegreen-0.3.7 → codegreen-0.3.9}/benchmark/__main__.py +0 -0
  12. {codegreen-0.3.7 → codegreen-0.3.9}/benchmark/compilers.py +0 -0
  13. {codegreen-0.3.7 → codegreen-0.3.9}/benchmark/config.py +0 -0
  14. {codegreen-0.3.7 → codegreen-0.3.9}/benchmark/harness.py +0 -0
  15. {codegreen-0.3.7 → codegreen-0.3.9}/benchmark/profilers.py +0 -0
  16. {codegreen-0.3.7 → codegreen-0.3.9}/benchmark/results.py +0 -0
  17. {codegreen-0.3.7 → codegreen-0.3.9}/benchmark/suites/__init__.py +0 -0
  18. {codegreen-0.3.7 → codegreen-0.3.9}/benchmark/suites/base.py +0 -0
  19. {codegreen-0.3.7 → codegreen-0.3.9}/benchmark/suites/benchmarksgame.py +0 -0
  20. {codegreen-0.3.7 → codegreen-0.3.9}/benchmark/suites/dacapo.py +0 -0
  21. {codegreen-0.3.7 → codegreen-0.3.9}/benchmark/suites/perfopt.py +0 -0
  22. {codegreen-0.3.7 → codegreen-0.3.9}/benchmark/suites/renaissance.py +0 -0
  23. {codegreen-0.3.7 → codegreen-0.3.9}/benchmark/validation/__init__.py +0 -0
  24. {codegreen-0.3.7 → codegreen-0.3.9}/benchmark/validation/analysis.py +0 -0
  25. {codegreen-0.3.7 → codegreen-0.3.9}/benchmark/validation/experiments.py +0 -0
  26. {codegreen-0.3.7 → codegreen-0.3.9}/benchmark/validation/reporting.py +0 -0
  27. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/analysis/__init__.py +0 -0
  28. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/analysis/_ts_java.py +0 -0
  29. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/analysis/cfg/__init__.py +0 -0
  30. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/analysis/cfg/builder.py +0 -0
  31. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/analysis/cfg/callgraph.py +0 -0
  32. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/analysis/cfg/dataflow.py +0 -0
  33. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/analysis/cfg/energy_flow.py +0 -0
  34. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/analysis/cfg/features.py +0 -0
  35. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/analysis/cfg/pdg.py +0 -0
  36. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/analysis/cfg/types.py +0 -0
  37. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/analysis/cfg/visualization.py +0 -0
  38. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/analyzer/__init__.py +0 -0
  39. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/analyzer/plot.py +0 -0
  40. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/cli/__init__.py +0 -0
  41. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/cli/entrypoint.py +0 -0
  42. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/config.json +0 -0
  43. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/instrumentation/__init__.py +0 -0
  44. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/instrumentation/ast_processor.py +0 -0
  45. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/instrumentation/bridge_analyze.py +0 -0
  46. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/instrumentation/bridge_instrument.py +0 -0
  47. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/instrumentation/config.py +0 -0
  48. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/instrumentation/configs/TEMPLATE.json +0 -0
  49. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/instrumentation/configs/c.json +0 -0
  50. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/instrumentation/configs/cpp.json +0 -0
  51. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/instrumentation/configs/java.json +0 -0
  52. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/instrumentation/configs/javascript.json +0 -0
  53. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/instrumentation/configs/python.json +0 -0
  54. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/instrumentation/engine.py +0 -0
  55. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/instrumentation/language_configs.py +0 -0
  56. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/instrumentation/language_engine.py +0 -0
  57. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/instrumentation/language_runtimes/c/codegreen_runtime.h +0 -0
  58. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/instrumentation/language_runtimes/cpp/codegreen/runtime.hpp +0 -0
  59. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/instrumentation/language_runtimes/java/codegreen/runtime/CodeGreenRuntime.java +0 -0
  60. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/instrumentation/language_runtimes/java/codegreen/runtime/CodeGreenStandaloneRuntime.java +0 -0
  61. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/instrumentation/language_runtimes/python/codegreen_runtime.py +0 -0
  62. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/utils/__init__.py +0 -0
  63. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/utils/binary.py +0 -0
  64. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen/utils/platform.py +0 -0
  65. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen.egg-info/SOURCES.txt +0 -0
  66. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen.egg-info/dependency_links.txt +0 -0
  67. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen.egg-info/entry_points.txt +0 -0
  68. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen.egg-info/not-zip-safe +0 -0
  69. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen.egg-info/requires.txt +0 -0
  70. {codegreen-0.3.7 → codegreen-0.3.9}/codegreen.egg-info/top_level.txt +0 -0
  71. {codegreen-0.3.7 → codegreen-0.3.9}/requirements.txt +0 -0
  72. {codegreen-0.3.7 → codegreen-0.3.9}/setup.cfg +0 -0
  73. {codegreen-0.3.7 → codegreen-0.3.9}/setup.py +0 -0
  74. {codegreen-0.3.7 → codegreen-0.3.9}/tests/test_instrumentation.py +0 -0
  75. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/Programming-Language-Benchmarks/bench/algorithm/binarytrees/2.c +0 -0
  76. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/Programming-Language-Benchmarks/bench/algorithm/helloworld/1.c +0 -0
  77. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/Programming-Language-Benchmarks/bench/algorithm/knucleotide/1.c +0 -0
  78. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/Programming-Language-Benchmarks/bench/algorithm/mandelbrot/1-ffi.c +0 -0
  79. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/Programming-Language-Benchmarks/bench/algorithm/mandelbrot/1-mffi.c +0 -0
  80. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/Programming-Language-Benchmarks/bench/algorithm/nbody/2.c +0 -0
  81. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/Programming-Language-Benchmarks/bench/algorithm/nbody/5.c +0 -0
  82. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/Programming-Language-Benchmarks/bench/algorithm/nbody/8-i.c +0 -0
  83. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/Programming-Language-Benchmarks/bench/algorithm/nsieve/1.c +0 -0
  84. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/Programming-Language-Benchmarks/bench/algorithm/spectral-norm/3.c +0 -0
  85. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/Programming-Language-Benchmarks/bench/algorithm/spectral-norm/4.c +0 -0
  86. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/Programming-Language-Benchmarks/bench/algorithm/spectral-norm/5-im.c +0 -0
  87. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/Programming-Language-Benchmarks/bench/algorithm/spectral-norm/6-im.c +0 -0
  88. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/aligned_indent.c +0 -0
  89. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/array.c +0 -0
  90. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/comment.c +0 -0
  91. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/compound_lit.c +0 -0
  92. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/cond.c +0 -0
  93. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/enum.c +0 -0
  94. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/expr.c +0 -0
  95. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/func.c +0 -0
  96. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/if_else.c +0 -0
  97. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/issue-1568.c +0 -0
  98. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/issue-2086.c +0 -0
  99. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/issue-4079.c +0 -0
  100. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/issue-4117.c +0 -0
  101. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/issue-4525.c +0 -0
  102. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/label.c +0 -0
  103. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/loop.c +0 -0
  104. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/no_braces.c +0 -0
  105. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/preproc_cond.c +0 -0
  106. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/preproc_func.c +0 -0
  107. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/string.c +0 -0
  108. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/struct.c +0 -0
  109. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/switch.c +0 -0
  110. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/ternary.c +0 -0
  111. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/indent/c/unfinished_comment.c +0 -0
  112. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/nvim-treesitter/tests/query/highlights/c/enums-as-constants.c +0 -0
  113. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/crates/cli/src/templates/PARSER_NAME.h +0 -0
  114. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/crates/cli/src/templates/py-binding.c +0 -0
  115. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/crates/generate/src/templates/alloc.h +0 -0
  116. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/crates/generate/src/templates/array.h +0 -0
  117. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/crates/highlight/include/tree_sitter/highlight.h +0 -0
  118. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/crates/tags/include/tree_sitter/tags.h +0 -0
  119. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/CMakeLists.txt +0 -0
  120. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/binding_web/lib/tree-sitter.c +0 -0
  121. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/include/tree_sitter/api.h +0 -0
  122. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/alloc.c +0 -0
  123. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/alloc.h +0 -0
  124. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/array.h +0 -0
  125. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/atomic.h +0 -0
  126. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/clock.h +0 -0
  127. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/error_costs.h +0 -0
  128. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/get_changed_ranges.c +0 -0
  129. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/get_changed_ranges.h +0 -0
  130. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/host.h +0 -0
  131. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/language.c +0 -0
  132. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/language.h +0 -0
  133. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/length.h +0 -0
  134. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/lexer.c +0 -0
  135. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/lexer.h +0 -0
  136. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/lib.c +0 -0
  137. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/node.c +0 -0
  138. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/parser.c +0 -0
  139. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/parser.h +0 -0
  140. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/point.h +0 -0
  141. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/portable/endian.h +0 -0
  142. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/query.c +0 -0
  143. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/reduce_action.h +0 -0
  144. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/reusable_node.h +0 -0
  145. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/stack.c +0 -0
  146. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/stack.h +0 -0
  147. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/subtree.c +0 -0
  148. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/subtree.h +0 -0
  149. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/tree.c +0 -0
  150. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/tree.h +0 -0
  151. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/tree_cursor.c +0 -0
  152. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/tree_cursor.h +0 -0
  153. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/ts_assert.h +0 -0
  154. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/unicode/ptypes.h +0 -0
  155. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/unicode/umachine.h +0 -0
  156. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/unicode/urename.h +0 -0
  157. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/unicode/utf.h +0 -0
  158. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/unicode/utf16.h +0 -0
  159. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/unicode/utf8.h +0 -0
  160. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/unicode.h +0 -0
  161. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/wasm/stdlib.c +0 -0
  162. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/wasm/wasm-stdlib.h +0 -0
  163. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/wasm_store.c +0 -0
  164. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/lib/src/wasm_store.h +0 -0
  165. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/test/fixtures/test_grammars/depends_on_column/scanner.c +0 -0
  166. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/test/fixtures/test_grammars/epsilon_external_extra_tokens/scanner.c +0 -0
  167. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/test/fixtures/test_grammars/epsilon_external_tokens/scanner.c +0 -0
  168. {codegreen-0.3.7 → codegreen-0.3.9}/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.9}/third_party/tree-sitter/test/fixtures/test_grammars/external_and_internal_tokens/scanner.c +0 -0
  170. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/test/fixtures/test_grammars/external_extra_tokens/scanner.c +0 -0
  171. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/test/fixtures/test_grammars/external_tokens/scanner.c +0 -0
  172. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/test/fixtures/test_grammars/external_unicode_column_alignment/scanner.c +0 -0
  173. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/test/fixtures/test_grammars/get_col_eof/scanner.c +0 -0
  174. {codegreen-0.3.7 → codegreen-0.3.9}/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.9}/third_party/tree-sitter/test/fixtures/test_grammars/inverted_external_token/scanner.c +0 -0
  176. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter/test/fixtures/test_grammars/uses_current_column/scanner.c +0 -0
  177. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-c/CMakeLists.txt +0 -0
  178. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-c/bindings/c/tree_sitter/tree-sitter-c.h +0 -0
  179. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-c/bindings/python/tree_sitter_c/binding.c +0 -0
  180. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-c/bindings/swift/TreeSitterC/c.h +0 -0
  181. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-c/examples/cluster.c +0 -0
  182. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-c/examples/malloc.c +0 -0
  183. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-c/examples/parser.c +0 -0
  184. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-c/src/parser.c +0 -0
  185. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-c/src/tree_sitter/alloc.h +0 -0
  186. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-c/src/tree_sitter/array.h +0 -0
  187. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-c/src/tree_sitter/parser.h +0 -0
  188. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-c/test/highlight/keywords.c +0 -0
  189. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-c/test/highlight/names.c +0 -0
  190. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-cpp/CMakeLists.txt +0 -0
  191. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-cpp/bindings/c/tree-sitter-cpp.h +0 -0
  192. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-cpp/bindings/python/tree_sitter_cpp/binding.c +0 -0
  193. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-cpp/bindings/swift/TreeSitterCPP/cpp.h +0 -0
  194. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-cpp/examples/marker-index.h +0 -0
  195. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-cpp/src/parser.c +0 -0
  196. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-cpp/src/scanner.c +0 -0
  197. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-cpp/src/tree_sitter/alloc.h +0 -0
  198. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-cpp/src/tree_sitter/array.h +0 -0
  199. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-cpp/src/tree_sitter/parser.h +0 -0
  200. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-java/CMakeLists.txt +0 -0
  201. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-java/bindings/c/tree-sitter-java.h +0 -0
  202. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-java/bindings/python/tree_sitter_java/binding.c +0 -0
  203. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-java/bindings/swift/TreeSitterJava/java.h +0 -0
  204. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-java/src/parser.c +0 -0
  205. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-java/src/tree_sitter/alloc.h +0 -0
  206. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-java/src/tree_sitter/array.h +0 -0
  207. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-java/src/tree_sitter/parser.h +0 -0
  208. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-python/CMakeLists.txt +0 -0
  209. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-python/bindings/c/tree-sitter-python.h +0 -0
  210. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-python/bindings/python/tree_sitter_python/binding.c +0 -0
  211. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-python/bindings/swift/TreeSitterPython/python.h +0 -0
  212. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-python/src/parser.c +0 -0
  213. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-python/src/scanner.c +0 -0
  214. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-python/src/tree_sitter/alloc.h +0 -0
  215. {codegreen-0.3.7 → codegreen-0.3.9}/third_party/tree-sitter-python/src/tree_sitter/array.h +0 -0
  216. {codegreen-0.3.7 → codegreen-0.3.9}/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.9
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.9"
9
9
  __author__ = "Saurabhsingh Rajput"
10
10
  __email__ = "saurabh@dal.ca"
11
11
  __description__ = "Energy-aware software development tool"
@@ -2290,6 +2290,7 @@ def run_command(
2290
2290
  subprocess.run(command, capture_output=True, timeout=300)
2291
2291
 
2292
2292
  energies, times = [], []
2293
+ domain_runs = [] # per-domain breakdown per run
2293
2294
  for i in range(repeat):
2294
2295
  if not json_output:
2295
2296
  console.print(f"[dim]Run {i+1}/{repeat}[/dim]")
@@ -2297,11 +2298,15 @@ def run_command(
2297
2298
  times.append(elapsed)
2298
2299
  if energy_j is not None and energy_j > 0:
2299
2300
  energies.append(energy_j)
2301
+ if isinstance(backend, _NEMBBackend):
2302
+ domains = backend.get_last_domain_breakdown()
2303
+ if domains:
2304
+ domain_runs.append(domains)
2300
2305
 
2301
2306
  if not energies:
2302
2307
  msg = f"No energy data from {backend.name}"
2303
2308
  if isinstance(backend, _TimeOnlyBackend):
2304
- msg += " (need perf on Linux or sudo powermetrics on macOS)"
2309
+ msg += " (need perf on Linux, or NEMB library not found)"
2305
2310
  if json_output:
2306
2311
  t_mean = sum(times) / len(times) if times else 0
2307
2312
  print(json.dumps({"success": False, "error": msg,
@@ -2347,6 +2352,26 @@ def run_command(
2347
2352
  console.print(f"[bold]Time:[/bold] {t_stats.mean:.4f} s +/- {t_stats.std:.4f} s")
2348
2353
  console.print(f"[bold]Power:[/bold] {e_stats.mean / t_stats.mean:.2f} W (avg)")
2349
2354
  console.print(f" Runs: {len(energies)}, Outliers removed: {e_stats.outliers_removed}")
2355
+
2356
+ # Per-domain energy breakdown (averaged across runs, same as total)
2357
+ if domain_runs:
2358
+ all_domains = set()
2359
+ for dr in domain_runs:
2360
+ all_domains.update(dr.keys())
2361
+ avg_domains = {}
2362
+ for d in all_domains:
2363
+ vals = [dr.get(d, 0) for dr in domain_runs if dr.get(d, 0) > 0]
2364
+ if vals:
2365
+ avg_domains[d] = sum(vals) / len(vals)
2366
+ if avg_domains:
2367
+ console.print(f"\n[bold]Domain Breakdown (avg of {len(domain_runs)} runs):[/bold]")
2368
+ total_reported = sum(avg_domains.values())
2369
+ for domain, joules in sorted(avg_domains.items(), key=lambda x: -x[1]):
2370
+ pct = (joules / total_reported * 100) if total_reported > 0 else 0
2371
+ bar_len = int(pct / 5)
2372
+ bar = "[green]" + "=" * bar_len + "[/green]" + " " * (20 - bar_len)
2373
+ console.print(f" {domain:<25} {joules:>10.4f} J {bar} {pct:5.1f}%")
2374
+
2350
2375
  if cv > 20:
2351
2376
  console.print(f"[yellow] Tip: high variance -- try --repeat 30 or reduce background load[/yellow]")
2352
2377
  if budget is not None:
@@ -2427,8 +2452,22 @@ class _NEMBBackend(_EnergyBackend):
2427
2452
  energy = ctypes.c_double(0)
2428
2453
  power = ctypes.c_double(0)
2429
2454
  ok = lib.nemb_stop_session(sid, ctypes.byref(energy), ctypes.byref(power))
2455
+ # Fetch per-domain breakdown (post-hoc, no measurement overhead)
2456
+ self._last_domains = {}
2457
+ try:
2458
+ buf = ctypes.create_string_buffer(4096)
2459
+ lib.nemb_get_domain_energy_json.restype = ctypes.c_int
2460
+ lib.nemb_get_domain_energy_json.argtypes = [ctypes.c_char_p, ctypes.c_int]
2461
+ n = lib.nemb_get_domain_energy_json(buf, 4096)
2462
+ if n > 0:
2463
+ self._last_domains = json.loads(buf.value.decode())
2464
+ except Exception:
2465
+ pass
2430
2466
  return (energy.value if ok and energy.value > 0 else None, elapsed)
2431
2467
 
2468
+ def get_last_domain_breakdown(self) -> dict:
2469
+ return getattr(self, '_last_domains', {})
2470
+
2432
2471
  def wrap_command(self, cmd_str: str, energy_file: str, checkpoint_file: str) -> str:
2433
2472
  # NEMB measures in-process; for project mode, just run the command and
2434
2473
  # 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.9
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.9"
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