rbx.cp 0.17.3__tar.gz → 0.17.5__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 (230) hide show
  1. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/PKG-INFO +1 -1
  2. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/pyproject.toml +1 -1
  3. rbx_cp-0.17.5/rbx/__version__.py +1 -0
  4. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/cli.py +8 -0
  5. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/package.py +1 -1
  6. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/stresses.py +4 -0
  7. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/stressing/generator_parser.py +1 -1
  8. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/tooling/boca/scraper.py +2 -1
  9. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/unit.py +2 -2
  10. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/grading/judge/sandbox.py +1 -1
  11. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/grading/judge/storage.py +1 -1
  12. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/preset.rbx.yml +1 -1
  13. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/utils.py +13 -0
  14. rbx_cp-0.17.3/rbx/__version__.py +0 -1
  15. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/LICENSE +0 -0
  16. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/README.md +0 -0
  17. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/__init__.py +0 -0
  18. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/annotations.py +0 -0
  19. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/autoenum.py +0 -0
  20. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/__init__.py +0 -0
  21. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/builder.py +0 -0
  22. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/cd.py +0 -0
  23. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/checkers.py +0 -0
  24. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/code.py +0 -0
  25. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/compile.py +0 -0
  26. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/contest/__init__.py +0 -0
  27. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/contest/build_contest_statements.py +0 -0
  28. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/contest/contest_package.py +0 -0
  29. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/contest/contest_utils.py +0 -0
  30. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/contest/main.py +0 -0
  31. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/contest/schema.py +0 -0
  32. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/contest/statements.py +0 -0
  33. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/creation.py +0 -0
  34. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/deferred.py +0 -0
  35. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/download.py +0 -0
  36. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/dump_schemas.py +0 -0
  37. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/environment.py +0 -0
  38. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/extensions.py +0 -0
  39. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/fields.py +0 -0
  40. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/formatting.py +0 -0
  41. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/generators.py +0 -0
  42. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/git_utils.py +0 -0
  43. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/global_package.py +0 -0
  44. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/header.py +0 -0
  45. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/lang.py +0 -0
  46. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/lazy_importing_main.py +0 -0
  47. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/limits_info.py +0 -0
  48. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/linting.py +0 -0
  49. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/main.py +0 -0
  50. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/naming.py +0 -0
  51. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/packaging/__init__.py +0 -0
  52. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/packaging/boca/__init__.py +0 -0
  53. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/packaging/boca/boca_language_utils.py +0 -0
  54. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/packaging/boca/boca_outcome_utils.py +0 -0
  55. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/packaging/boca/extension.py +0 -0
  56. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/packaging/boca/packager.py +0 -0
  57. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/packaging/contest_main.py +0 -0
  58. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/packaging/importer.py +0 -0
  59. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/packaging/main.py +0 -0
  60. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/packaging/moj/packager.py +0 -0
  61. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/packaging/packager.py +0 -0
  62. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/packaging/pkg/packager.py +0 -0
  63. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/packaging/polygon/importer.py +0 -0
  64. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/packaging/polygon/packager.py +0 -0
  65. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/packaging/polygon/polygon_api.py +0 -0
  66. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/packaging/polygon/test.py +0 -0
  67. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/packaging/polygon/upload.py +0 -0
  68. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/packaging/polygon/xml_schema.py +0 -0
  69. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/presets/__init__.py +0 -0
  70. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/presets/fetch.py +0 -0
  71. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/presets/lock_schema.py +0 -0
  72. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/presets/schema.py +0 -0
  73. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/remote.py +0 -0
  74. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/retries.py +0 -0
  75. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/sanitizers/issue_stack.py +0 -0
  76. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/sanitizers/warning_stack.py +0 -0
  77. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/schema.py +0 -0
  78. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/setter_config.py +0 -0
  79. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/solutions.py +0 -0
  80. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/state.py +0 -0
  81. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/statements/__init__.py +0 -0
  82. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/statements/build_statements.py +0 -0
  83. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/statements/builders.py +0 -0
  84. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/statements/expander.py +0 -0
  85. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/statements/joiners.py +0 -0
  86. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/statements/latex.py +0 -0
  87. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/statements/latex_jinja.py +0 -0
  88. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/statements/schema.py +0 -0
  89. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/stats.py +0 -0
  90. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/stressing/__init__.py +0 -0
  91. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/stressing/finder_parser.py +0 -0
  92. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/tasks.py +0 -0
  93. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/testcase_extractors.py +0 -0
  94. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/testcase_utils.py +0 -0
  95. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/testcases/__init__.py +0 -0
  96. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/testcases/main.py +0 -0
  97. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/testing/__init__.py +0 -0
  98. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/testing/testing_package.py +0 -0
  99. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/testing/testing_preset.py +0 -0
  100. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/testing/testing_shared.py +0 -0
  101. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/timing.py +0 -0
  102. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/tooling/__init__.py +0 -0
  103. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/tooling/boca/__init__.py +0 -0
  104. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/tooling/boca/debug_utils.py +0 -0
  105. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/tooling/boca/main.py +0 -0
  106. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/tooling/boca/manual_scrape.py +0 -0
  107. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/tooling/boca/scrape.py +0 -0
  108. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/tooling/converter.py +0 -0
  109. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/tooling/main.py +0 -0
  110. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/__init__.py +0 -0
  111. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/captured_log.py +0 -0
  112. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/css/app.tcss +0 -0
  113. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/main.py +0 -0
  114. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/screens/__init__.py +0 -0
  115. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/screens/build.py +0 -0
  116. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/screens/command.py +0 -0
  117. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/screens/differ.py +0 -0
  118. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/screens/error.py +0 -0
  119. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/screens/rich_log_modal.py +0 -0
  120. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/screens/run.py +0 -0
  121. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/screens/run_explorer.py +0 -0
  122. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/screens/run_test_explorer.py +0 -0
  123. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/screens/selector.py +0 -0
  124. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/screens/test_explorer.py +0 -0
  125. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/utils/__init__.py +0 -0
  126. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/utils/run_ui.py +0 -0
  127. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/widgets/__init__.py +0 -0
  128. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/widgets/diff_box.py +0 -0
  129. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/widgets/file_log.py +0 -0
  130. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/widgets/interaction_box.py +0 -0
  131. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/widgets/rich_log_box.py +0 -0
  132. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/widgets/test_output_box.py +0 -0
  133. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/ui/widgets/two_sided_test_output_box.py +0 -0
  134. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/box/validators.py +0 -0
  135. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/config.py +0 -0
  136. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/console.py +0 -0
  137. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/grading/__init__.py +0 -0
  138. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/grading/caching.py +0 -0
  139. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/grading/debug_context.py +0 -0
  140. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/grading/grading_context.py +0 -0
  141. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/grading/judge/__init__.py +0 -0
  142. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/grading/judge/cacher.py +0 -0
  143. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/grading/judge/digester.py +0 -0
  144. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/grading/judge/program.py +0 -0
  145. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/grading/judge/sandboxes/__init__.py +0 -0
  146. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/grading/judge/sandboxes/stupid_sandbox.py +0 -0
  147. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/grading/judge/sandboxes/tee.py +0 -0
  148. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/grading/limits.py +0 -0
  149. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/grading/profiling.py +0 -0
  150. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/grading/steps.py +0 -0
  151. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/grading/steps_with_caching.py +0 -0
  152. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/checkers/boilerplate.cpp +0 -0
  153. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/checkers/noop.cpp +0 -0
  154. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/default_config.json +0 -0
  155. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/default_setter_config.mac.yml +0 -0
  156. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/default_setter_config.yml +0 -0
  157. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/envs/default.rbx.yml +0 -0
  158. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/checker.sh +0 -0
  159. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/compare.sh +0 -0
  160. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/compile/c +0 -0
  161. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/compile/cc +0 -0
  162. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/compile/cpp +0 -0
  163. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/compile/java +0 -0
  164. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/compile/kt +0 -0
  165. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/compile/py2 +0 -0
  166. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/compile/py3 +0 -0
  167. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/interactive/c +0 -0
  168. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/interactive/cc +0 -0
  169. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/interactive/cpp +0 -0
  170. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/interactive/java +0 -0
  171. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/interactive/kt +0 -0
  172. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/interactive/py2 +0 -0
  173. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/interactive/py3 +0 -0
  174. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/interactor_compile.sh +0 -0
  175. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/interactor_run.sh +0 -0
  176. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/run/bkp +0 -0
  177. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/run/c +0 -0
  178. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/run/cc +0 -0
  179. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/run/cpp +0 -0
  180. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/run/java +0 -0
  181. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/run/kt +0 -0
  182. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/run/py2 +0 -0
  183. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/run/py3 +0 -0
  184. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/safeexec.c +0 -0
  185. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/boca/safeexec_compile.sh +0 -0
  186. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/moj/scripts/c/compile.sh +0 -0
  187. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/moj/scripts/c/prep.sh +0 -0
  188. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/moj/scripts/c/run.sh +0 -0
  189. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/moj/scripts/compare.sh +0 -0
  190. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/moj/scripts/cpp/compile.sh +0 -0
  191. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/moj/scripts/cpp/prep.sh +0 -0
  192. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/moj/scripts/cpp/run.sh +0 -0
  193. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/moj/scripts/interactor_prep.sh +0 -0
  194. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/moj/scripts/interactor_run.sh +0 -0
  195. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/moj/scripts/java/compile.sh +0 -0
  196. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/moj/scripts/java/prep.sh +0 -0
  197. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/moj/scripts/java/run.sh +0 -0
  198. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/moj/scripts/py2/compile.sh +0 -0
  199. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/moj/scripts/py2/prep.sh +0 -0
  200. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/moj/scripts/py2/run.sh +0 -0
  201. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/moj/scripts/py3/compile.sh +0 -0
  202. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/moj/scripts/py3/prep.sh +0 -0
  203. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/packagers/moj/scripts/py3/run.sh +0 -0
  204. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/contest/.gitignore +0 -0
  205. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/contest/contest.rbx.yml +0 -0
  206. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/contest/statement/contest.rbx.tex +0 -0
  207. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/contest/statement/info.rbx.tex +0 -0
  208. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/contest/statement/instructions.tex +0 -0
  209. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/contest/statement/logo.png +0 -0
  210. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/env.rbx.yml +0 -0
  211. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/problem/.gitignore +0 -0
  212. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/problem/gens/gen.cpp +0 -0
  213. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/problem/manual_tests/samples/000.in +0 -0
  214. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/problem/manual_tests/samples/001.in +0 -0
  215. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/problem/problem.rbx.yml +0 -0
  216. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/problem/rbx.h +0 -0
  217. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/problem/sols/main.cpp +0 -0
  218. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/problem/sols/wa-overflow.cpp +0 -0
  219. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/problem/statement/statement.rbx.tex +0 -0
  220. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/problem/testlib.h +0 -0
  221. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/problem/testplan/random.py +0 -0
  222. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/problem/testplan/random.txt +0 -0
  223. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/problem/validator.cpp +0 -0
  224. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/problem/wcmp.cpp +0 -0
  225. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/shared/contest_template.rbx.tex +0 -0
  226. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/shared/icpc.sty +0 -0
  227. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/presets/default/shared/problem_template.rbx.tex +0 -0
  228. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/templates/rbx.h +0 -0
  229. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/resources/templates/template.cpp +0 -0
  230. {rbx_cp-0.17.3 → rbx_cp-0.17.5}/rbx/testing_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: rbx.cp
3
- Version: 0.17.3
3
+ Version: 0.17.5
4
4
  Summary:
5
5
  Author: Roberto Sales
6
6
  Requires-Python: >=3.9.1,<4.0.0
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "rbx.cp"
3
- version = "0.17.3"
3
+ version = "0.17.5"
4
4
  description = ""
5
5
  packages = [
6
6
  {include = "rbx"}
@@ -0,0 +1 @@
1
+ __version__ = '0.17.5'
@@ -673,6 +673,13 @@ async def stress(
673
673
  '-d',
674
674
  help='Optional description of the stress test.',
675
675
  ),
676
+ print_descriptors: bool = typer.Option(
677
+ False,
678
+ '--descriptors',
679
+ '-D',
680
+ help='Whether to print descriptors of the stress test.',
681
+ hidden=True,
682
+ ),
676
683
  ):
677
684
  if finder and not generator_args or generator_args and not finder:
678
685
  console.console.print(
@@ -693,6 +700,7 @@ async def stress(
693
700
  progress=s,
694
701
  verbose=verbose,
695
702
  sanitized=sanitized,
703
+ print_descriptors=print_descriptors,
696
704
  )
697
705
 
698
706
  stresses.print_stress_report(report)
@@ -352,7 +352,7 @@ def get_solutions(root: pathlib.Path = pathlib.Path()) -> List[Solution]:
352
352
 
353
353
  for entry in package.solutions:
354
354
  if '*' in str(entry.path):
355
- for file in root.glob(str(entry.path)):
355
+ for file in sorted(root.glob(str(entry.path))):
356
356
  relative_file = file.relative_to(root)
357
357
  add_solution(
358
358
  Solution.model_copy(
@@ -56,6 +56,7 @@ async def run_stress(
56
56
  verbose: bool = False,
57
57
  progress: Optional[StatusProgress] = None,
58
58
  sanitized: bool = False,
59
+ print_descriptors: bool = False,
59
60
  ) -> StressReport:
60
61
  pkg = package.find_problem_package_or_die()
61
62
 
@@ -134,6 +135,9 @@ async def run_stress(
134
135
  if time.monotonic() - startTime > timeoutInSeconds:
135
136
  break
136
137
 
138
+ if print_descriptors:
139
+ utils.print_open_fd_count()
140
+
137
141
  executed += 1
138
142
 
139
143
  if progress:
@@ -46,7 +46,7 @@ TEXT: (/[^ \t\f\r\n\[\]\(\)\<\>\|\`]/ | ESCAPED_STRING)+
46
46
  // Whitespace
47
47
  _WS: WS
48
48
 
49
- RECNAME: /[a-zA-Z0-9_]/+ /(\.[a-zA-Z0-9_])/*
49
+ RECNAME: /[a-zA-Z0-9_]/+ /(\.[a-zA-Z0-9_]+)/*
50
50
 
51
51
  %import common.WS
52
52
  %import common.CNAME
@@ -359,7 +359,8 @@ class BocaScraper:
359
359
  form['problemnumber'] = f'{problem_index + 1}'
360
360
  form['problemname'] = problem_shortname
361
361
  form['confirmation'] = 'confirm'
362
- form['autojudge_new_sel'] = ['all']
362
+ if form.find_control('autojudge_new_sel'):
363
+ form['autojudge_new_sel'] = ['all']
363
364
  form['Submit3'] = 'Send'
364
365
 
365
366
  with file.open('rb') as f:
@@ -45,7 +45,7 @@ def extract_validator_test_entries(
45
45
  ) -> List[ValidatorTestEntry]:
46
46
  res: List[ValidatorTestEntry] = []
47
47
  for test in tests:
48
- for input in pathlib.Path().glob(str(test.glob)):
48
+ for input in sorted(pathlib.Path().glob(str(test.glob))):
49
49
  if not input.is_file():
50
50
  continue
51
51
  res.append(
@@ -60,7 +60,7 @@ def extract_checker_test_entries(tests: List[CheckerTest]) -> List[CheckerTestEn
60
60
  res: List[CheckerTestEntry] = []
61
61
  seen: Set[pathlib.Path] = set()
62
62
  for test in tests:
63
- for file in pathlib.Path().glob(str(test.glob)):
63
+ for file in sorted(pathlib.Path().glob(str(test.glob))):
64
64
  if not file.is_file():
65
65
  continue
66
66
  if file.suffix not in ['.in', '.out', '.ans']:
@@ -559,7 +559,7 @@ class SandboxBase(abc.ABC):
559
559
  def glob(self, glob_expr: str) -> List[pathlib.Path]:
560
560
  return [
561
561
  path.relative_to(self.get_root_path())
562
- for path in self.get_root_path().glob(glob_expr)
562
+ for path in sorted(self.get_root_path().glob(glob_expr))
563
563
  ]
564
564
 
565
565
  @abc.abstractmethod
@@ -360,7 +360,7 @@ class FilesystemStorage(Storage):
360
360
  def list_metadata(self, filename: str) -> List[str]:
361
361
  return [
362
362
  path.stem.split('__')[1]
363
- for path in (self.path / '.metadata').glob(f'{filename}__*.json')
363
+ for path in sorted((self.path / '.metadata').glob(f'{filename}__*.json'))
364
364
  ]
365
365
 
366
366
  def exists(self, filename: str) -> bool:
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  # yaml-language-server: $schema=https://rsalesc.github.io/rbx/schemas/Preset.json
3
3
  name: "default"
4
- min_version: "0.17.3"
4
+ min_version: "0.17.5"
5
5
  uri: "rsalesc/rbx/rbx/resources/presets/default"
6
6
  problem: "problem"
7
7
  contest: "contest"
@@ -75,6 +75,19 @@ def check_version_compatibility(required: str) -> SemVerCompatibility:
75
75
  return check_version_compatibility_between(installed, required)
76
76
 
77
77
 
78
+ def print_open_fd_count() -> int:
79
+ import psutil
80
+
81
+ try:
82
+ current_process = psutil.Process()
83
+ open_fds = len(current_process.open_files())
84
+ print(f'Number of opened file descriptors: {open_fds}')
85
+ except psutil.AccessDenied:
86
+ print('Access denied. Run with appropriate permissions (e.g., sudo) if needed.')
87
+ except Exception as e:
88
+ print(f'An error occurred: {e}')
89
+
90
+
78
91
  def create_and_write(path: pathlib.Path, *args, **kwargs):
79
92
  path.parent.mkdir(parents=True, exist_ok=True)
80
93
  path.write_text(*args, **kwargs)
@@ -1 +0,0 @@
1
- __version__ = '0.17.3'
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes