pybrass 0.0.0__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 (435) hide show
  1. pybrass-0.0.0/.gitignore +84 -0
  2. pybrass-0.0.0/.gitmodules +3 -0
  3. pybrass-0.0.0/CMakeLists.txt +69 -0
  4. pybrass-0.0.0/LICENSE +21 -0
  5. pybrass-0.0.0/PKG-INFO +355 -0
  6. pybrass-0.0.0/README.md +320 -0
  7. pybrass-0.0.0/analyses/bulk.cc +133 -0
  8. pybrass-0.0.0/analyses/midrap.cc +84 -0
  9. pybrass-0.0.0/external/yaml-cpp/.bazelignore +1 -0
  10. pybrass-0.0.0/external/yaml-cpp/.clang-format +47 -0
  11. pybrass-0.0.0/external/yaml-cpp/.codedocs +50 -0
  12. pybrass-0.0.0/external/yaml-cpp/.git +1 -0
  13. pybrass-0.0.0/external/yaml-cpp/.github/dependabot.yml +11 -0
  14. pybrass-0.0.0/external/yaml-cpp/.github/workflows/build.yml +141 -0
  15. pybrass-0.0.0/external/yaml-cpp/.github/workflows/bzlmod-archive.yml +19 -0
  16. pybrass-0.0.0/external/yaml-cpp/.gitignore +3 -0
  17. pybrass-0.0.0/external/yaml-cpp/BUILD.bazel +21 -0
  18. pybrass-0.0.0/external/yaml-cpp/CMakeLists.txt +213 -0
  19. pybrass-0.0.0/external/yaml-cpp/CONTRIBUTING.md +26 -0
  20. pybrass-0.0.0/external/yaml-cpp/LICENSE +19 -0
  21. pybrass-0.0.0/external/yaml-cpp/MODULE.bazel +14 -0
  22. pybrass-0.0.0/external/yaml-cpp/MODULE.bazel.lock +114 -0
  23. pybrass-0.0.0/external/yaml-cpp/README.md +86 -0
  24. pybrass-0.0.0/external/yaml-cpp/SECURITY.md +13 -0
  25. pybrass-0.0.0/external/yaml-cpp/cmake_uninstall.cmake.in +21 -0
  26. pybrass-0.0.0/external/yaml-cpp/docs/Breaking-Changes.md +52 -0
  27. pybrass-0.0.0/external/yaml-cpp/docs/How-To-Emit-YAML.md +226 -0
  28. pybrass-0.0.0/external/yaml-cpp/docs/How-To-Parse-A-Document-(Old-API).md +265 -0
  29. pybrass-0.0.0/external/yaml-cpp/docs/Strings.md +18 -0
  30. pybrass-0.0.0/external/yaml-cpp/docs/Tutorial.md +201 -0
  31. pybrass-0.0.0/external/yaml-cpp/docs/_config.yml +1 -0
  32. pybrass-0.0.0/external/yaml-cpp/docs/index.md +1 -0
  33. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/anchor.h +17 -0
  34. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/binary.h +71 -0
  35. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/contrib/anchordict.h +40 -0
  36. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/contrib/graphbuilder.h +149 -0
  37. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/depthguard.h +77 -0
  38. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/dll.h +59 -0
  39. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/emitfromevents.h +58 -0
  40. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/emitter.h +295 -0
  41. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/emitterdef.h +16 -0
  42. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/emittermanip.h +144 -0
  43. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/emitterstyle.h +17 -0
  44. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/eventhandler.h +45 -0
  45. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/exceptions.h +305 -0
  46. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/fptostring.h +15 -0
  47. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/mark.h +29 -0
  48. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/convert.h +472 -0
  49. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/detail/impl.h +235 -0
  50. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/detail/iterator.h +96 -0
  51. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/detail/iterator_fwd.h +27 -0
  52. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/detail/memory.h +47 -0
  53. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/detail/node.h +177 -0
  54. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/detail/node_data.h +127 -0
  55. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/detail/node_iterator.h +181 -0
  56. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/detail/node_ref.h +98 -0
  57. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/emit.h +32 -0
  58. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/impl.h +387 -0
  59. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/iterator.h +34 -0
  60. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/node.h +148 -0
  61. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/parse.h +78 -0
  62. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/ptr.h +28 -0
  63. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/node/type.h +17 -0
  64. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/noexcept.h +18 -0
  65. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/null.h +26 -0
  66. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/ostream_wrapper.h +76 -0
  67. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/parser.h +90 -0
  68. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/stlemitter.h +50 -0
  69. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/traits.h +136 -0
  70. pybrass-0.0.0/external/yaml-cpp/include/yaml-cpp/yaml.h +24 -0
  71. pybrass-0.0.0/external/yaml-cpp/install.txt +24 -0
  72. pybrass-0.0.0/external/yaml-cpp/src/binary.cpp +100 -0
  73. pybrass-0.0.0/external/yaml-cpp/src/collectionstack.h +41 -0
  74. pybrass-0.0.0/external/yaml-cpp/src/contrib/dragonbox.h +4196 -0
  75. pybrass-0.0.0/external/yaml-cpp/src/contrib/graphbuilder.cpp +16 -0
  76. pybrass-0.0.0/external/yaml-cpp/src/contrib/graphbuilderadapter.cpp +94 -0
  77. pybrass-0.0.0/external/yaml-cpp/src/contrib/graphbuilderadapter.h +86 -0
  78. pybrass-0.0.0/external/yaml-cpp/src/contrib/yaml-cpp.natvis +32 -0
  79. pybrass-0.0.0/external/yaml-cpp/src/contrib/yaml-cpp.natvis.md +9 -0
  80. pybrass-0.0.0/external/yaml-cpp/src/convert.cpp +74 -0
  81. pybrass-0.0.0/external/yaml-cpp/src/depthguard.cpp +9 -0
  82. pybrass-0.0.0/external/yaml-cpp/src/directives.cpp +17 -0
  83. pybrass-0.0.0/external/yaml-cpp/src/directives.h +29 -0
  84. pybrass-0.0.0/external/yaml-cpp/src/emit.cpp +25 -0
  85. pybrass-0.0.0/external/yaml-cpp/src/emitfromevents.cpp +129 -0
  86. pybrass-0.0.0/external/yaml-cpp/src/emitter.cpp +977 -0
  87. pybrass-0.0.0/external/yaml-cpp/src/emitterstate.cpp +400 -0
  88. pybrass-0.0.0/external/yaml-cpp/src/emitterstate.h +216 -0
  89. pybrass-0.0.0/external/yaml-cpp/src/emitterutils.cpp +499 -0
  90. pybrass-0.0.0/external/yaml-cpp/src/emitterutils.h +55 -0
  91. pybrass-0.0.0/external/yaml-cpp/src/exceptions.cpp +20 -0
  92. pybrass-0.0.0/external/yaml-cpp/src/exp.cpp +137 -0
  93. pybrass-0.0.0/external/yaml-cpp/src/exp.h +226 -0
  94. pybrass-0.0.0/external/yaml-cpp/src/fptostring.cpp +238 -0
  95. pybrass-0.0.0/external/yaml-cpp/src/indentation.h +40 -0
  96. pybrass-0.0.0/external/yaml-cpp/src/memory.cpp +26 -0
  97. pybrass-0.0.0/external/yaml-cpp/src/node.cpp +12 -0
  98. pybrass-0.0.0/external/yaml-cpp/src/node_data.cpp +325 -0
  99. pybrass-0.0.0/external/yaml-cpp/src/nodebuilder.cpp +134 -0
  100. pybrass-0.0.0/external/yaml-cpp/src/nodebuilder.h +74 -0
  101. pybrass-0.0.0/external/yaml-cpp/src/nodeevents.cpp +98 -0
  102. pybrass-0.0.0/external/yaml-cpp/src/nodeevents.h +68 -0
  103. pybrass-0.0.0/external/yaml-cpp/src/null.cpp +17 -0
  104. pybrass-0.0.0/external/yaml-cpp/src/ostream_wrapper.cpp +62 -0
  105. pybrass-0.0.0/external/yaml-cpp/src/parse.cpp +72 -0
  106. pybrass-0.0.0/external/yaml-cpp/src/parser.cpp +120 -0
  107. pybrass-0.0.0/external/yaml-cpp/src/ptr_vector.h +45 -0
  108. pybrass-0.0.0/external/yaml-cpp/src/regex_yaml.cpp +43 -0
  109. pybrass-0.0.0/external/yaml-cpp/src/regex_yaml.h +88 -0
  110. pybrass-0.0.0/external/yaml-cpp/src/regeximpl.h +189 -0
  111. pybrass-0.0.0/external/yaml-cpp/src/scanner.cpp +415 -0
  112. pybrass-0.0.0/external/yaml-cpp/src/scanner.h +189 -0
  113. pybrass-0.0.0/external/yaml-cpp/src/scanscalar.cpp +251 -0
  114. pybrass-0.0.0/external/yaml-cpp/src/scanscalar.h +63 -0
  115. pybrass-0.0.0/external/yaml-cpp/src/scantag.cpp +81 -0
  116. pybrass-0.0.0/external/yaml-cpp/src/scantag.h +19 -0
  117. pybrass-0.0.0/external/yaml-cpp/src/scantoken.cpp +444 -0
  118. pybrass-0.0.0/external/yaml-cpp/src/setting.h +100 -0
  119. pybrass-0.0.0/external/yaml-cpp/src/simplekey.cpp +132 -0
  120. pybrass-0.0.0/external/yaml-cpp/src/singledocparser.cpp +434 -0
  121. pybrass-0.0.0/external/yaml-cpp/src/singledocparser.h +71 -0
  122. pybrass-0.0.0/external/yaml-cpp/src/stream.cpp +463 -0
  123. pybrass-0.0.0/external/yaml-cpp/src/stream.h +83 -0
  124. pybrass-0.0.0/external/yaml-cpp/src/streamcharsource.h +50 -0
  125. pybrass-0.0.0/external/yaml-cpp/src/stringsource.h +48 -0
  126. pybrass-0.0.0/external/yaml-cpp/src/tag.cpp +50 -0
  127. pybrass-0.0.0/external/yaml-cpp/src/tag.h +33 -0
  128. pybrass-0.0.0/external/yaml-cpp/src/token.h +71 -0
  129. pybrass-0.0.0/external/yaml-cpp/test/BUILD.bazel +28 -0
  130. pybrass-0.0.0/external/yaml-cpp/test/CMakeLists.txt +63 -0
  131. pybrass-0.0.0/external/yaml-cpp/test/binary_test.cpp +14 -0
  132. pybrass-0.0.0/external/yaml-cpp/test/cmake/CMakeLists.txt +21 -0
  133. pybrass-0.0.0/external/yaml-cpp/test/cmake/main.cpp +3 -0
  134. pybrass-0.0.0/external/yaml-cpp/test/create-emitter-tests.py +223 -0
  135. pybrass-0.0.0/external/yaml-cpp/test/fptostring_test.cpp +242 -0
  136. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/.clang-format +4 -0
  137. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/.github/ISSUE_TEMPLATE/00-bug_report.yml +53 -0
  138. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/.github/ISSUE_TEMPLATE/10-feature_request.yml +33 -0
  139. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/.github/ISSUE_TEMPLATE/config.yml +5 -0
  140. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/.github/workflows/gtest-ci.yml +43 -0
  141. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/.gitignore +84 -0
  142. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/BUILD.bazel +218 -0
  143. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/CMakeLists.txt +39 -0
  144. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/CONTRIBUTING.md +131 -0
  145. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/CONTRIBUTORS +65 -0
  146. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/LICENSE +28 -0
  147. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/README.md +117 -0
  148. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/WORKSPACE +40 -0
  149. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/ci/linux-presubmit.sh +134 -0
  150. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/ci/macos-presubmit.sh +75 -0
  151. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/ci/windows-presubmit.bat +56 -0
  152. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/_config.yml +1 -0
  153. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/_data/navigation.yml +43 -0
  154. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/_layouts/default.html +58 -0
  155. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/_sass/main.scss +200 -0
  156. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/advanced.md +2407 -0
  157. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/assets/css/style.scss +5 -0
  158. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/community_created_documentation.md +7 -0
  159. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/faq.md +692 -0
  160. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/gmock_cheat_sheet.md +241 -0
  161. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/gmock_cook_book.md +4343 -0
  162. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/gmock_faq.md +390 -0
  163. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/gmock_for_dummies.md +700 -0
  164. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/index.md +22 -0
  165. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/pkgconfig.md +148 -0
  166. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/platforms.md +35 -0
  167. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/primer.md +483 -0
  168. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/quickstart-bazel.md +146 -0
  169. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/quickstart-cmake.md +156 -0
  170. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/reference/actions.md +115 -0
  171. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/reference/assertions.md +633 -0
  172. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/reference/matchers.md +290 -0
  173. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/reference/mocking.md +589 -0
  174. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/reference/testing.md +1431 -0
  175. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/docs/samples.md +22 -0
  176. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/CMakeLists.txt +218 -0
  177. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/README.md +40 -0
  178. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/cmake/gmock.pc.in +10 -0
  179. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/cmake/gmock_main.pc.in +10 -0
  180. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/docs/README.md +4 -0
  181. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/gmock-actions.h +2302 -0
  182. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/gmock-cardinalities.h +159 -0
  183. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/gmock-function-mocker.h +517 -0
  184. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/gmock-matchers.h +5620 -0
  185. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/gmock-more-actions.h +662 -0
  186. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/gmock-more-matchers.h +122 -0
  187. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/gmock-nice-strict.h +277 -0
  188. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/gmock-spec-builders.h +2111 -0
  189. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/gmock.h +96 -0
  190. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/internal/custom/README.md +18 -0
  191. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/internal/custom/gmock-generated-actions.h +7 -0
  192. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/internal/custom/gmock-matchers.h +37 -0
  193. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/internal/custom/gmock-port.h +40 -0
  194. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/internal/gmock-internal-utils.h +490 -0
  195. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/internal/gmock-port.h +139 -0
  196. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/include/gmock/internal/gmock-pp.h +279 -0
  197. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/src/gmock-all.cc +46 -0
  198. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/src/gmock-cardinalities.cc +155 -0
  199. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/src/gmock-internal-utils.cc +251 -0
  200. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/src/gmock-matchers.cc +479 -0
  201. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/src/gmock-spec-builders.cc +795 -0
  202. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/src/gmock.cc +223 -0
  203. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/src/gmock_main.cc +72 -0
  204. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/BUILD.bazel +118 -0
  205. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-actions_test.cc +2167 -0
  206. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-cardinalities_test.cc +422 -0
  207. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-function-mocker_test.cc +1004 -0
  208. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-internal-utils_test.cc +765 -0
  209. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-matchers-arithmetic_test.cc +1517 -0
  210. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-matchers-comparisons_test.cc +2359 -0
  211. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-matchers-containers_test.cc +3129 -0
  212. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-matchers-misc_test.cc +1819 -0
  213. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-matchers_test.h +192 -0
  214. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-more-actions_test.cc +1550 -0
  215. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-nice-strict_test.cc +541 -0
  216. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-port_test.cc +42 -0
  217. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-pp-string_test.cc +205 -0
  218. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-pp_test.cc +83 -0
  219. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock-spec-builders_test.cc +2620 -0
  220. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_all_test.cc +49 -0
  221. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_ex_test.cc +78 -0
  222. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_leak_test.py +104 -0
  223. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_leak_test_.cc +99 -0
  224. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_link2_test.cc +38 -0
  225. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_link_test.cc +38 -0
  226. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_link_test.h +689 -0
  227. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_output_test.py +186 -0
  228. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_output_test_.cc +291 -0
  229. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_output_test_golden.txt +317 -0
  230. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_stress_test.cc +227 -0
  231. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_test.cc +179 -0
  232. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googlemock/test/gmock_test_utils.py +96 -0
  233. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/CMakeLists.txt +338 -0
  234. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/README.md +217 -0
  235. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/cmake/Config.cmake.in +9 -0
  236. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/cmake/gtest.pc.in +9 -0
  237. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/cmake/gtest_main.pc.in +10 -0
  238. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/cmake/internal_utils.cmake +356 -0
  239. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/cmake/libgtest.la.in +21 -0
  240. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/docs/README.md +4 -0
  241. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest-assertion-result.h +237 -0
  242. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest-death-test.h +345 -0
  243. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest-matchers.h +956 -0
  244. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest-message.h +220 -0
  245. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest-param-test.h +545 -0
  246. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest-printers.h +1131 -0
  247. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest-spi.h +250 -0
  248. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest-test-part.h +192 -0
  249. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest-typed-test.h +331 -0
  250. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest.h +2318 -0
  251. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest_pred_impl.h +279 -0
  252. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/gtest_prod.h +60 -0
  253. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/custom/README.md +44 -0
  254. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/custom/gtest-port.h +37 -0
  255. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/custom/gtest-printers.h +42 -0
  256. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/custom/gtest.h +37 -0
  257. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/gtest-death-test-internal.h +307 -0
  258. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/gtest-filepath.h +227 -0
  259. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/gtest-internal.h +1571 -0
  260. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/gtest-param-util.h +1031 -0
  261. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/gtest-port-arch.h +118 -0
  262. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/gtest-port.h +2460 -0
  263. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/gtest-string.h +178 -0
  264. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/include/gtest/internal/gtest-type-util.h +190 -0
  265. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/prime_tables.h +124 -0
  266. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample1.cc +66 -0
  267. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample1.h +41 -0
  268. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample10_unittest.cc +139 -0
  269. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample1_unittest.cc +148 -0
  270. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample2.cc +54 -0
  271. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample2.h +79 -0
  272. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample2_unittest.cc +107 -0
  273. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample3-inl.h +171 -0
  274. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample3_unittest.cc +146 -0
  275. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample4.cc +50 -0
  276. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample4.h +53 -0
  277. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample4_unittest.cc +53 -0
  278. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample5_unittest.cc +189 -0
  279. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample6_unittest.cc +214 -0
  280. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample7_unittest.cc +113 -0
  281. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample8_unittest.cc +152 -0
  282. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/samples/sample9_unittest.cc +149 -0
  283. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest-all.cc +49 -0
  284. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest-assertion-result.cc +77 -0
  285. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest-death-test.cc +1620 -0
  286. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest-filepath.cc +410 -0
  287. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest-internal-inl.h +1217 -0
  288. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest-matchers.cc +98 -0
  289. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest-port.cc +1394 -0
  290. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest-printers.cc +553 -0
  291. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest-test-part.cc +105 -0
  292. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest-typed-test.cc +104 -0
  293. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest.cc +6844 -0
  294. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/src/gtest_main.cc +65 -0
  295. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/BUILD.bazel +594 -0
  296. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-break-on-failure-unittest.py +208 -0
  297. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-break-on-failure-unittest_.cc +83 -0
  298. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-catch-exceptions-test.py +236 -0
  299. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-catch-exceptions-test_.cc +289 -0
  300. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-color-test.py +128 -0
  301. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-color-test_.cc +60 -0
  302. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-death-test-test.cc +1526 -0
  303. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-death-test_ex_test.cc +91 -0
  304. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-env-var-test.py +120 -0
  305. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-env-var-test_.cc +130 -0
  306. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-failfast-unittest.py +410 -0
  307. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-failfast-unittest_.cc +166 -0
  308. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-filepath-test.cc +671 -0
  309. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-filter-unittest.py +670 -0
  310. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-filter-unittest_.cc +106 -0
  311. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-global-environment-unittest.py +130 -0
  312. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-global-environment-unittest_.cc +58 -0
  313. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-json-outfiles-test.py +195 -0
  314. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-json-output-unittest.py +912 -0
  315. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-list-tests-unittest.py +205 -0
  316. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-list-tests-unittest_.cc +140 -0
  317. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-listener-test.cc +514 -0
  318. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-message-test.cc +161 -0
  319. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-options-test.cc +222 -0
  320. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-output-test-golden-lin.txt +1196 -0
  321. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-output-test.py +346 -0
  322. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-output-test_.cc +1053 -0
  323. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-param-test-invalid-name1-test.py +63 -0
  324. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-param-test-invalid-name1-test_.cc +46 -0
  325. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-param-test-invalid-name2-test.py +62 -0
  326. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-param-test-invalid-name2-test_.cc +50 -0
  327. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-param-test-test.cc +1173 -0
  328. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-param-test-test.h +49 -0
  329. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-param-test2-test.cc +58 -0
  330. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-port-test.cc +1299 -0
  331. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-printers-test.cc +1987 -0
  332. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-setuptestsuite-test.py +54 -0
  333. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-setuptestsuite-test_.cc +44 -0
  334. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-shuffle-test.py +323 -0
  335. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-shuffle-test_.cc +100 -0
  336. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-test-part-test.cc +220 -0
  337. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-throw-on-failure-test.py +168 -0
  338. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-throw-on-failure-test_.cc +71 -0
  339. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-uninitialized-test.py +67 -0
  340. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/googletest-uninitialized-test_.cc +39 -0
  341. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest-typed-test2_test.cc +39 -0
  342. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest-typed-test_test.cc +423 -0
  343. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest-typed-test_test.h +57 -0
  344. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest-unittest-api_test.cc +328 -0
  345. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_all_test.cc +46 -0
  346. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_assert_by_exception_test.cc +112 -0
  347. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_dirs_test.cc +97 -0
  348. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_environment_test.cc +179 -0
  349. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_help_test.py +189 -0
  350. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_help_test_.cc +44 -0
  351. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_json_test_utils.py +62 -0
  352. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_list_output_unittest.py +286 -0
  353. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_list_output_unittest_.cc +77 -0
  354. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_main_unittest.cc +42 -0
  355. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_no_test_unittest.cc +54 -0
  356. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_pred_impl_unittest.cc +2070 -0
  357. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_premature_exit_test.cc +128 -0
  358. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_prod_test.cc +56 -0
  359. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_repeat_test.cc +222 -0
  360. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_skip_check_output_test.py +59 -0
  361. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_skip_environment_check_output_test.py +54 -0
  362. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_skip_in_environment_setup_test.cc +50 -0
  363. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_skip_test.cc +51 -0
  364. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_sole_header_test.cc +54 -0
  365. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_stress_test.cc +242 -0
  366. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_test_macro_stack_footprint_test.cc +89 -0
  367. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_test_utils.py +255 -0
  368. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_testbridge_test.py +63 -0
  369. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_testbridge_test_.cc +42 -0
  370. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_throw_on_failure_ex_test.cc +90 -0
  371. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_unittest.cc +7756 -0
  372. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_xml_outfile1_test_.cc +43 -0
  373. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_xml_outfile2_test_.cc +45 -0
  374. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_xml_outfiles_test.py +135 -0
  375. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_xml_output_unittest.py +415 -0
  376. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_xml_output_unittest_.cc +195 -0
  377. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/gtest_xml_test_utils.py +201 -0
  378. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/production.cc +35 -0
  379. pybrass-0.0.0/external/yaml-cpp/test/googletest-1.13.0/googletest/test/production.h +55 -0
  380. pybrass-0.0.0/external/yaml-cpp/test/integration/BUILD.bazel +14 -0
  381. pybrass-0.0.0/external/yaml-cpp/test/integration/emitter_test.cpp +1784 -0
  382. pybrass-0.0.0/external/yaml-cpp/test/integration/encoding_test.cpp +182 -0
  383. pybrass-0.0.0/external/yaml-cpp/test/integration/error_messages_test.cpp +61 -0
  384. pybrass-0.0.0/external/yaml-cpp/test/integration/gen_emitter_test.cpp +9936 -0
  385. pybrass-0.0.0/external/yaml-cpp/test/integration/handler_spec_test.cpp +1686 -0
  386. pybrass-0.0.0/external/yaml-cpp/test/integration/handler_test.cpp +76 -0
  387. pybrass-0.0.0/external/yaml-cpp/test/integration/handler_test.h +32 -0
  388. pybrass-0.0.0/external/yaml-cpp/test/integration/load_node_test.cpp +451 -0
  389. pybrass-0.0.0/external/yaml-cpp/test/integration/node_spec_test.cpp +1136 -0
  390. pybrass-0.0.0/external/yaml-cpp/test/main.cpp +6 -0
  391. pybrass-0.0.0/external/yaml-cpp/test/mock_event_handler.h +30 -0
  392. pybrass-0.0.0/external/yaml-cpp/test/node/node_test.cpp +880 -0
  393. pybrass-0.0.0/external/yaml-cpp/test/ostream_wrapper_test.cpp +66 -0
  394. pybrass-0.0.0/external/yaml-cpp/test/parser_test.cpp +64 -0
  395. pybrass-0.0.0/external/yaml-cpp/test/regex_test.cpp +177 -0
  396. pybrass-0.0.0/external/yaml-cpp/test/specexamples.h +868 -0
  397. pybrass-0.0.0/external/yaml-cpp/util/CMakeLists.txt +32 -0
  398. pybrass-0.0.0/external/yaml-cpp/util/api.cpp +137 -0
  399. pybrass-0.0.0/external/yaml-cpp/util/parse.cpp +46 -0
  400. pybrass-0.0.0/external/yaml-cpp/util/read.cpp +103 -0
  401. pybrass-0.0.0/external/yaml-cpp/util/sandbox.cpp +36 -0
  402. pybrass-0.0.0/external/yaml-cpp/yaml-cpp-config.cmake.in +33 -0
  403. pybrass-0.0.0/external/yaml-cpp/yaml-cpp.pc.in +11 -0
  404. pybrass-0.0.0/include/analysis.h +63 -0
  405. pybrass-0.0.0/include/analysisregister.h +38 -0
  406. pybrass-0.0.0/include/binaryreader.h +275 -0
  407. pybrass-0.0.0/include/datatree.h +67 -0
  408. pybrass-0.0.0/include/histogram1d.h +114 -0
  409. pybrass-0.0.0/include/histogram2d.h +122 -0
  410. pybrass-0.0.0/include/mergekey.h +41 -0
  411. pybrass-0.0.0/pyproject.toml +46 -0
  412. pybrass-0.0.0/pythonlib/bindings.cc +149 -0
  413. pybrass-0.0.0/pythonlib/brass/__init__.py +5 -0
  414. pybrass-0.0.0/pythonlib/brass/cli/analyze_runs.py +146 -0
  415. pybrass-0.0.0/pythonlib/brass/scan/__init__.py +0 -0
  416. pybrass-0.0.0/pythonlib/brass/scan/commands.txt +16 -0
  417. pybrass-0.0.0/pythonlib/brass/scan/get_cmds.py +23 -0
  418. pybrass-0.0.0/pythonlib/brass/scan/scan.py +98 -0
  419. pybrass-0.0.0/pythonlib/brass/scan/template.py +33 -0
  420. pybrass-0.0.0/src/analysis.cc +104 -0
  421. pybrass-0.0.0/src/analysisregister.cc +25 -0
  422. pybrass-0.0.0/src/binaryreader.cc +126 -0
  423. pybrass-0.0.0/src/datatree.cc +173 -0
  424. pybrass-0.0.0/src/mergekey.cc +131 -0
  425. pybrass-0.0.0/tests/.pytest_cache/.gitignore +2 -0
  426. pybrass-0.0.0/tests/.pytest_cache/CACHEDIR.TAG +4 -0
  427. pybrass-0.0.0/tests/.pytest_cache/README.md +8 -0
  428. pybrass-0.0.0/tests/.pytest_cache/v/cache/lastfailed +5 -0
  429. pybrass-0.0.0/tests/.pytest_cache/v/cache/nodeids +8 -0
  430. pybrass-0.0.0/tests/.pytest_cache/v/cache/stepwise +1 -0
  431. pybrass-0.0.0/tests/__pycache__/test_Binary.cpython-312-pytest-8.4.2.pyc +0 -0
  432. pybrass-0.0.0/tests/binaryreader.cc +152 -0
  433. pybrass-0.0.0/tests/doctest.h +7134 -0
  434. pybrass-0.0.0/tests/main.cc +19 -0
  435. pybrass-0.0.0/tests/test_Binary.py +162 -0
@@ -0,0 +1,84 @@
1
+ # ------------------
2
+ # General
3
+ # ------------------
4
+ *.log
5
+ *.tmp
6
+ *.swp
7
+ *.DS_Store
8
+ *.ipynb_checkpoints/
9
+ __pycache__/
10
+ *.py[cod]
11
+
12
+ # ------------------
13
+ # Python
14
+ # ------------------
15
+ # Virtual environments
16
+ .venv/
17
+ venv/
18
+ ENV/
19
+ env/
20
+ .conda/
21
+
22
+ # Packaging
23
+ build/
24
+ dist/
25
+ *.egg-info/
26
+ .eggs/
27
+ pip-wheel-metadata/
28
+
29
+ # Jupyter
30
+ .ipynb_checkpoints/
31
+
32
+ # Coverage / testing
33
+ htmlcov/
34
+ .tox/
35
+ .nox/
36
+ .coverage
37
+ .coverage.*
38
+ .cache
39
+ .pytest_cache/
40
+
41
+ # ------------------
42
+ # C++
43
+ # ------------------
44
+ # Build artifacts
45
+ build/
46
+ cmake-build-*/
47
+ CMakeFiles/
48
+ CMakeCache.txt
49
+ Makefile
50
+ *.o
51
+ *.obj
52
+ *.so
53
+ *.a
54
+ *.out
55
+ *.exe
56
+ *.dll
57
+ *.lib
58
+ *.pdb
59
+
60
+ # Generated files
61
+ *.mod
62
+ *.pch
63
+
64
+ # IDE-specific
65
+ .vscode/
66
+ .idea/
67
+ *.user
68
+ *.suo
69
+ *.vcxproj*
70
+ *.xcodeproj/
71
+ *.swp
72
+
73
+ # ------------------
74
+ # Optional: data / experiments
75
+ # ------------------
76
+ *.dat
77
+ *.csv
78
+ *.tsv
79
+ *.yaml
80
+ *.yml
81
+ *.json
82
+ results/
83
+ plots/
84
+ tables/
@@ -0,0 +1,3 @@
1
+ [submodule "external/yaml-cpp"]
2
+ path = external/yaml-cpp
3
+ url = https://github.com/jbeder/yaml-cpp.git
@@ -0,0 +1,69 @@
1
+ cmake_minimum_required(VERSION 3.14)
2
+ project(brass)
3
+
4
+ set(CMAKE_CXX_STANDARD 20)
5
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
6
+ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
7
+
8
+ include_directories(include)
9
+
10
+ # ---- Explicit source lists (no GLOBs) ----
11
+ set(SRC_FILES
12
+ src/analysis.cc
13
+ src/analysisregister.cc
14
+ src/binaryreader.cc
15
+ src/datatree.cc
16
+ src/mergekey.cc
17
+ )
18
+
19
+ set(ANALYSIS_FILES
20
+ analyses/bulk.cc
21
+ analyses/midrap.cc
22
+ )
23
+
24
+ # Third-party: yaml-cpp (vendored)
25
+ add_subdirectory(external/yaml-cpp)
26
+
27
+ option(BUILD_PYTHON "Build Python extension module" ON)
28
+
29
+ if(BUILD_PYTHON)
30
+ set(PYBIND11_FINDPYTHON ON)
31
+ find_package(pybind11 CONFIG REQUIRED)
32
+ find_package(Python COMPONENTS Interpreter Development.Module REQUIRED)
33
+
34
+ pybind11_add_module(_brass
35
+ pythonlib/bindings.cc
36
+ ${SRC_FILES}
37
+ ${ANALYSIS_FILES}
38
+ )
39
+ target_include_directories(_brass PRIVATE include)
40
+ target_link_libraries(_brass PRIVATE yaml-cpp)
41
+
42
+ set_target_properties(_brass PROPERTIES
43
+ LIBRARY_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/pythonlib/brass"
44
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/pythonlib/brass"
45
+ ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/pythonlib/brass"
46
+ OUTPUT_NAME "_brass"
47
+ )
48
+ endif()
49
+
50
+ # ---- Tests ----
51
+ option(BUILD_TESTS "Build unit tests" OFF)
52
+ if(BUILD_TESTS)
53
+ enable_testing()
54
+
55
+ set(TEST_SOURCES
56
+ tests/main.cc
57
+ tests/binaryreader.cc
58
+ )
59
+
60
+ add_executable(unit_tests
61
+ ${TEST_SOURCES}
62
+ ${SRC_FILES}
63
+ ${ANALYSIS_FILES}
64
+ )
65
+ target_include_directories(unit_tests PRIVATE tests include)
66
+ target_link_libraries(unit_tests PRIVATE yaml-cpp)
67
+
68
+ add_test(NAME unit_tests COMMAND unit_tests)
69
+ endif()
pybrass-0.0.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Carl B. Rosenkvist
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
pybrass-0.0.0/PKG-INFO ADDED
@@ -0,0 +1,355 @@
1
+ Metadata-Version: 2.2
2
+ Name: pybrass
3
+ Version: 0.0.0
4
+ Summary: Binary Reader and Analysis Suite Software
5
+ Author: Carl B. Rosenkvist
6
+ License: MIT License
7
+
8
+ Copyright (c) 2025 Carl B. Rosenkvist
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+
28
+ Classifier: Programming Language :: Python :: 3
29
+ Classifier: Programming Language :: C++
30
+ Classifier: License :: OSI Approved :: MIT License
31
+ Classifier: Operating System :: POSIX :: Linux
32
+ Classifier: Operating System :: MacOS
33
+ Requires-Python: >=3.8
34
+ Description-Content-Type: text/markdown
35
+
36
+ # BRASS (Binary Reader and Analysis Suite Software)
37
+
38
+ A simple and extensible C++/Python library for reading and analyzing binary particle output files.
39
+
40
+ ## Features
41
+ - C++ header-based binary file reader for particle data
42
+ - Plugin-style extensible analysis system (via registry macros)
43
+ - Optional Python bindings via `pybind11`
44
+ - Histogramming utilities
45
+ - No external dependencies (except optionally `pybind11`)
46
+ - Devloped primarly for SMASH
47
+ ## Build Instructions
48
+ In repository
49
+ ```bash
50
+ pip install pythonlib
51
+ ```
52
+ ## Performance
53
+
54
+ <img width="1713" height="715" alt="image" src="https://github.com/user-attachments/assets/03b56538-1b2c-4bea-a3a9-8dd6922975de" />
55
+
56
+
57
+
58
+ # brass-analyze
59
+
60
+ Command-line tool for running registered analyses on multiple SMASH run directories.
61
+
62
+ ## Usage
63
+
64
+ brass-analyze [OPTIONS] OUTPUT_DIR ANALYSIS_NAME
65
+
66
+ - OUTPUT_DIR — top directory containing run subfolders (`out-*` by default)
67
+ - ANALYSIS_NAME — name of a registered analysis (see `--list-analyses`)
68
+
69
+ ## Options
70
+
71
+ --list-analyses
72
+ List registered analyses and exit.
73
+
74
+ --pattern PATTERN
75
+ Glob for run folders (default: out-*).
76
+
77
+ --keys KEY1 KEY2 ...
78
+ Dotted keys from config for labeling runs (last segment used as name).
79
+ Example:
80
+ --keys Modi.Collider.Sqrtsnn General.Nevents
81
+
82
+ --results-subdir DIR
83
+ Subdirectory to store results (default: data).
84
+
85
+ --strict-quantities
86
+ Fail if Quantities differ across runs (default: warn and use first).
87
+
88
+ -v, --verbose
89
+ Print detailed information.
90
+
91
+ ## Writing Analyses
92
+
93
+ You can create a custom analysis by subclassing `Analysis`:
94
+
95
+ ```cpp
96
+ class MyAnalysis : public Analysis {
97
+ public:
98
+ void analyze_particle_block(const ParticleBlock& block, const Accessor& accessor) override {
99
+ // your logic here
100
+ }
101
+ void finalize() override {}
102
+ void save(const std::string& path) override {}
103
+ };
104
+
105
+ REGISTER_ANALYSIS("my_analysis", MyAnalysis)
106
+ ```
107
+
108
+ ```cpp
109
+ #include "analysis.h"
110
+ #include "analysisregister.h"
111
+ #include "histogram2d.h"
112
+ #include <cmath>
113
+ #include <vector>
114
+ #include <fstream>
115
+ #include <unordered_map>
116
+ #include <string>
117
+
118
+ class BulkObservables : public Analysis {
119
+ public:
120
+ BulkObservables()
121
+ : y_min(-4.0), y_max(4.0), y_bins(30),
122
+ pt_min(0.0), pt_max(3.0), pt_bins(30),
123
+ d2N_dpT_dy(pt_min, pt_max, pt_bins,
124
+ y_min, y_max, y_bins),
125
+ n_events(0) {}
126
+
127
+ Analysis& operator+=(const Analysis& other) override {
128
+ auto const* o = dynamic_cast<const BulkObservables*>(&other);
129
+ if (!o) throw std::runtime_error("merge mismatch");
130
+
131
+ d2N_dpT_dy += o->d2N_dpT_dy;
132
+ n_events += o->n_events;
133
+
134
+ for (auto const& [pdg, src] : o->per_pdg_) {
135
+ auto& dst = obs_for(pdg);
136
+ dst.d2N_dpT_dy += src.d2N_dpT_dy;
137
+ }
138
+ return *this;
139
+ }
140
+
141
+ void analyze_particle_block(const ParticleBlock& b, const Accessor& a) override {
142
+ // event selection: needs at least one wounded nucleon
143
+ bool has_wounded = false;
144
+ for (size_t i = 0; i < b.npart; ++i) {
145
+ int pdg = a.get_int("pdg", b, i);
146
+ if ((pdg == 2212 || pdg == 2112) && a.get_int("ncoll", b, i) > 0) {
147
+ has_wounded = true;
148
+ break;
149
+ }
150
+ }
151
+ if (!has_wounded) return;
152
+ ++n_events;
153
+
154
+ // fill spectra
155
+ for (size_t i = 0; i < b.npart; ++i) {
156
+ const int pdg = a.get_int("pdg", b, i);
157
+ const double E = a.get_double("p0", b, i);
158
+ const double pz = a.get_double("pz", b, i);
159
+ const double px = a.get_double("px", b, i);
160
+ const double py = a.get_double("py", b, i);
161
+
162
+ if (E <= std::abs(pz)) continue;
163
+ const double y = 0.5 * std::log((E + pz) / (E - pz));
164
+ const double pt = std::hypot(px, py);
165
+
166
+ d2N_dpT_dy.fill(pt, y);
167
+
168
+ auto& obs = obs_for(pdg);
169
+ obs.d2N_dpT_dy.fill(pt, y);
170
+ }
171
+ }
172
+
173
+ void finalize() override {
174
+ if (n_events > 0) {
175
+ d2N_dpT_dy.scale(1.0 / n_events);
176
+ for (auto& [_, o] : per_pdg_) {
177
+ o.d2N_dpT_dy.scale(1.0 / n_events);
178
+ }
179
+ }
180
+ }
181
+
182
+ void save(const std::string& dir) override {
183
+ YAML::Emitter out;
184
+ out << YAML::BeginMap;
185
+
186
+ out << YAML::Key << "merge_key" << YAML::Value; to_yaml(out, keys);
187
+ out << YAML::Key << "smash_version" << YAML::Value << YAML::DoubleQuoted << smash_version;
188
+ out << YAML::Key << "n_events" << YAML::Value << n_events;
189
+
190
+ // totals
191
+ out << YAML::Key << "d2N_dpT_dy" << YAML::Value;
192
+ to_yaml(out, "pt", "y", d2N_dpT_dy);
193
+
194
+ // per-PDG spectra
195
+ out << YAML::Key << "spectra" << YAML::Value << YAML::BeginMap;
196
+ for (auto const& [pdg, o] : per_pdg_) {
197
+ out << YAML::Key << std::to_string(pdg) << YAML::Value;
198
+ to_yaml(out, "pt", "y", o.d2N_dpT_dy);
199
+ }
200
+ out << YAML::EndMap;
201
+
202
+ out << YAML::EndMap;
203
+
204
+ std::ofstream f(dir + "/bulk.yaml");
205
+ f << out.c_str();
206
+ }
207
+
208
+ private:
209
+ struct Obs {
210
+ Histogram2D d2N_dpT_dy;
211
+ Obs(double pt_min, double pt_max, size_t pt_bins,
212
+ double y_min, double y_max, size_t y_bins)
213
+ : d2N_dpT_dy(pt_min, pt_max, pt_bins,
214
+ y_min, y_max, y_bins) {}
215
+ };
216
+
217
+ Obs& obs_for(int pdg) {
218
+ auto [it, inserted] = per_pdg_.try_emplace(
219
+ pdg, pt_min, pt_max, pt_bins, y_min, y_max, y_bins);
220
+ return it->second;
221
+ }
222
+
223
+ double y_min, y_max, pt_min, pt_max;
224
+ size_t y_bins, pt_bins;
225
+ Histogram2D d2N_dpT_dy;
226
+ int n_events;
227
+
228
+ std::unordered_map<int, Obs> per_pdg_;
229
+ };
230
+
231
+ REGISTER_ANALYSIS("BulkObservables", BulkObservables);
232
+
233
+ ```
234
+ ## How Analyses Work
235
+
236
+ Each analysis plugin in BRASS subclasses the `Analysis` interface and is responsible for processing particle blocks and storing results.
237
+
238
+ ### Merging by Metadata
239
+
240
+ When you run over multiple binary files, BRASS uses user-supplied metadata (like `sqrt_s`, `projectile`, `target`) to associate results with a **merge key**.
241
+ You define metadata like this:
242
+
243
+
244
+ ### YAML Output
245
+
246
+ Each analysis writes a human-readable YAML file named after the analysis, e.g., `simple.yaml`, which contains:
247
+ - The `smash_version`
248
+ - The `merge_keys`
249
+ - The `data` block with all computed quantities
250
+
251
+ Example output:
252
+ ```yaml
253
+ merge_key:
254
+ sqrts: 17.3
255
+ system: "PbPb"
256
+ smash_version: "SMASH-3.2-38-g5c9a7cbef"
257
+ n_events: 40
258
+ d2N_dpT_dy:
259
+ pt_range: [0, 3]
260
+ y_range: [-4, 4]
261
+ pt_bins: 30
262
+ y_bins: 30
263
+ counts: ...
264
+ ```
265
+ ## Python usage
266
+ ```py
267
+ from brass import BinaryReader, CollectorAccessor
268
+ import numpy as np
269
+ accessor = CollectorAccessor()
270
+ reader = BinaryReader("particles_binary.bin", ["pdg", "pz", "p0"], accessor)
271
+ reader.read()
272
+
273
+ pz = accessor.get_double_array("pz")
274
+ e = accessor.get_double_array("p0")
275
+ pdg = accessor.get_int_array("pdg")
276
+
277
+ y = 0.5 * np.log((e + pz) / (e - pz))
278
+ ```
279
+
280
+ ## Run analyses through Python
281
+ ```py
282
+
283
+ import os
284
+ import yaml
285
+ import brass as br
286
+
287
+ # --- point these to a few run directories you want to analyze ---
288
+ RUN_DIRS = [
289
+ "runs/out-001",
290
+ "runs/out-002",
291
+ ]
292
+
293
+ def load_meta(yaml_path):
294
+ with open(yaml_path, "r") as f:
295
+ cfg = yaml.safe_load(f) or {}
296
+
297
+ coll = (cfg.get("Modi", {}) or {}).get("Collider", {}) or {}
298
+ proj = (coll.get("Projectile", {}) or {}).get("Particles", {}) or {}
299
+ targ = (coll.get("Target", {}) or {}).get("Particles", {}) or {}
300
+
301
+ Zp, Np = int(proj.get(2212, 0)), int(proj.get(2112, 0))
302
+ Zt, Nt = int(targ.get(2212, 0)), int(targ.get(2112, 0))
303
+
304
+ def sym(Z, N):
305
+ # Just a couple of common cases; falls back to A=Z+N
306
+ if (Z, N) == (82, 126): return "Pb"
307
+ if (Z, N) == (1, 0): return "p"
308
+ return f"A{Z+N}"
309
+
310
+ system = f"{sym(Zt, Nt)}{sym(Zp, Np)}"
311
+ sqrts = coll.get("Sqrtsnn", "unknown")
312
+ return f"system={system},sqrts={sqrts}"
313
+
314
+ def main():
315
+ file_and_meta = []
316
+ used_quantities = None
317
+
318
+ for d in RUN_DIRS:
319
+ bin_path = os.path.join(d, "particles_binary.bin")
320
+ yaml_path = os.path.join(d, "config.yaml")
321
+ if not (os.path.isfile(bin_path) and os.path.isfile(yaml_path)):
322
+ print(f"[skip] Missing files in {d}")
323
+ continue
324
+
325
+ # Optional: read quantities once (if present). Otherwise, use [].
326
+ with open(yaml_path, "r") as f:
327
+ cfg = yaml.safe_load(f) or {}
328
+ q = (((cfg.get("Output", {}) or {}).get("Particles", {}) or {})
329
+ .get("Quantities", []) or [])
330
+ q = [str(x) for x in q]
331
+
332
+ if used_quantities is None:
333
+ used_quantities = q
334
+ elif used_quantities != q:
335
+ print(f"[warn] Quantities differ in {yaml_path}; using the first set.")
336
+
337
+ meta = load_meta(yaml_path)
338
+ file_and_meta.append((bin_path, meta))
339
+
340
+ if not file_and_meta:
341
+ raise SystemExit("No valid runs found.")
342
+
343
+ br.run_analysis(
344
+ file_and_meta=file_and_meta, # [(path_to_bin, "meta=..."), ...]
345
+ analysis_name="my_analysis", # label for outputs
346
+ quantities=used_quantities or [],# [] if you don't care / not in YAML
347
+ save_output=True,
348
+ print_output=False,
349
+ output_folder="results" # will be created if missing
350
+ )
351
+ print("[done] brass analysis finished -> results/")
352
+
353
+ if __name__ == "__main__":
354
+ main()
355
+ ```