beaker-notebook 2.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 (201) hide show
  1. beaker_notebook-2.0.0/.gitignore +74 -0
  2. beaker_notebook-2.0.0/LICENSE.txt +9 -0
  3. beaker_notebook-2.0.0/PKG-INFO +85 -0
  4. beaker_notebook-2.0.0/README.md +43 -0
  5. beaker_notebook-2.0.0/pyproject.toml +293 -0
  6. beaker_notebook-2.0.0/src/beaker_kernel/__init__.py +37 -0
  7. beaker_notebook-2.0.0/src/beaker_notebook/__init__.py +172 -0
  8. beaker_notebook-2.0.0/src/beaker_notebook/app/__init__.py +13 -0
  9. beaker_notebook-2.0.0/src/beaker_notebook/app/api/__init__.py +0 -0
  10. beaker_notebook-2.0.0/src/beaker_notebook/app/api/handlers.py +84 -0
  11. beaker_notebook-2.0.0/src/beaker_notebook/app/api/integrations.py +299 -0
  12. beaker_notebook-2.0.0/src/beaker_notebook/app/api/notebook.py +118 -0
  13. beaker_notebook-2.0.0/src/beaker_notebook/app/api/subkernels.py +70 -0
  14. beaker_notebook-2.0.0/src/beaker_notebook/app/base.py +377 -0
  15. beaker_notebook-2.0.0/src/beaker_notebook/app/dev_app.py +145 -0
  16. beaker_notebook-2.0.0/src/beaker_notebook/app/handlers.py +608 -0
  17. beaker_notebook-2.0.0/src/beaker_notebook/app/notebook_app.py +13 -0
  18. beaker_notebook-2.0.0/src/beaker_notebook/app/server_app.py +16 -0
  19. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/beaker.svg +101 -0
  20. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/favicon.ico +0 -0
  21. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/index.html +15 -0
  22. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/BaseQueryCell-BkYxksI5.js +1 -0
  23. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/BeakerAdmin-CmINXWMq.css +1 -0
  24. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/BeakerAdmin-DZrn90Yo.js +531 -0
  25. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/BeakerNotebookPanel-DlwDdhcR.css +1 -0
  26. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/BeakerNotebookPanel.vue_vue_type_style_index_0_lang-DVEpDAgJ.js +2352 -0
  27. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/BeakerQueryCell-CLP87HiT.css +1 -0
  28. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/BeakerQueryCell.vue_vue_type_style_index_0_lang-CsPbh_vB.js +364 -0
  29. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/BeakerRawCell-CYX7jUwf.css +1 -0
  30. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/BeakerRawCell.vue_vue_type_style_index_0_lang-C0LQPDG_.js +845 -0
  31. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/BrainIcon-Cu5xmR-n.js +1 -0
  32. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/ChatInterface-CQS-IhF0.js +1065 -0
  33. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/ChatInterface-DKDl_3ZW.css +1 -0
  34. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/DevInterface-CX6JI9k4.css +1 -0
  35. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/DevInterface-D89vpZ2M.js +1171 -0
  36. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/IntegrationPanel-DKP_5B7W.css +1 -0
  37. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/IntegrationPanel.vue_vue_type_style_index_0_lang-c-zr1Dig.js +762 -0
  38. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/IntegrationsInterface-BlUeSxlA.js +1656 -0
  39. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/IntegrationsInterface-BzFBE6eg.css +1 -0
  40. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/MediaPanel-DNCoIEA4.css +1 -0
  41. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/MediaPanel.vue_vue_type_style_index_0_lang-qeorC2Wr.js +709 -0
  42. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/NextBeakerQueryCell-C426bZbZ.css +1 -0
  43. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/NextBeakerQueryCell.vue_vue_type_style_index_0_lang-COubACPH.js +1 -0
  44. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/NextNotebookInterface-CnSA3fCt.js +1090 -0
  45. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/NextNotebookInterface-DxBYBP58.css +1 -0
  46. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/NotebookInterface-B63z6cMq.js +597 -0
  47. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/NotebookInterface-BdxzVo_D.css +1 -0
  48. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/NotebookSvg-2w04pLXO.js +1 -0
  49. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/PlaygroundInterface-BiWl-IG6.css +1 -0
  50. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/PlaygroundInterface-CQXkNf61.js +1 -0
  51. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/WorkflowOutputPanel-CLNRizln.css +1 -0
  52. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/WorkflowOutputPanel.vue_vue_type_style_index_0_lang-CdsA6Nlb.js +20070 -0
  53. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/_plugin-vue_export-helper-DlAUqK2U.js +1 -0
  54. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/cellOperations-DiO7UBn1.css +1 -0
  55. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/cellOperations-mmhE2rpR.js +296 -0
  56. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/codemirror-CEJpu35t.js +12 -0
  57. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/index-8H8ONTyz.js +7212 -0
  58. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/index-CDHrXzwd.css +1 -0
  59. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/jupyterlab-DCB4j3g5.js +89 -0
  60. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/lato-v17-latin-ext_latin-300-CGqVYVBd.woff2 +0 -0
  61. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/lato-v17-latin-ext_latin-300-D-Ix9km9.woff +0 -0
  62. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/lato-v17-latin-ext_latin-700-CCBIyjkE.woff +0 -0
  63. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/lato-v17-latin-ext_latin-700-C_mCopxe.woff2 +0 -0
  64. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/lato-v17-latin-ext_latin-regular-Dz3ZLxjK.woff +0 -0
  65. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/lato-v17-latin-ext_latin-regular-GAITDyQJ.woff2 +0 -0
  66. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/pdf.worker-BQQyum15.mjs +58272 -0
  67. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/pdfjs-B7zhfHd9.js +16052 -0
  68. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/primeicons-C6QP2o4f.woff2 +0 -0
  69. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/primeicons-DMOk5skT.eot +0 -0
  70. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/primeicons-Dr5RGzOO.svg +345 -0
  71. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/primeicons-MpK4pl85.ttf +0 -0
  72. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/primeicons-WjwUDZjB.woff +0 -0
  73. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/primevue-DXcp5I-A.js +5711 -0
  74. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/renderers-D-ztt1K4.js +19617 -0
  75. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/renderers-DTrMDJiK.css +1 -0
  76. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/vue.esm-browser.prod.js +12 -0
  77. beaker_notebook-2.0.0/src/beaker_notebook/app/ui/static/xlsx-C3u7rb2R.js +63 -0
  78. beaker_notebook-2.0.0/src/beaker_notebook/builder/__init__.py +0 -0
  79. beaker_notebook-2.0.0/src/beaker_notebook/builder/beaker.py +210 -0
  80. beaker_notebook-2.0.0/src/beaker_notebook/builder/hooks.py +22 -0
  81. beaker_notebook-2.0.0/src/beaker_notebook/builder/templates.py +99 -0
  82. beaker_notebook-2.0.0/src/beaker_notebook/builder/utils.py +12 -0
  83. beaker_notebook-2.0.0/src/beaker_notebook/cli/__init__.py +0 -0
  84. beaker_notebook-2.0.0/src/beaker_notebook/cli/app.py +131 -0
  85. beaker_notebook-2.0.0/src/beaker_notebook/cli/config.py +270 -0
  86. beaker_notebook-2.0.0/src/beaker_notebook/cli/context.py +236 -0
  87. beaker_notebook-2.0.0/src/beaker_notebook/cli/helpers.py +77 -0
  88. beaker_notebook-2.0.0/src/beaker_notebook/cli/main.py +73 -0
  89. beaker_notebook-2.0.0/src/beaker_notebook/cli/project.py +340 -0
  90. beaker_notebook-2.0.0/src/beaker_notebook/cli/running.py +114 -0
  91. beaker_notebook-2.0.0/src/beaker_notebook/cli/server.py +210 -0
  92. beaker_notebook-2.0.0/src/beaker_notebook/cli/subkernel.py +499 -0
  93. beaker_notebook-2.0.0/src/beaker_notebook/contexts/__init__.py +0 -0
  94. beaker_notebook-2.0.0/src/beaker_notebook/contexts/default/__init__.py +0 -0
  95. beaker_notebook-2.0.0/src/beaker_notebook/contexts/default/agent.py +91 -0
  96. beaker_notebook-2.0.0/src/beaker_notebook/contexts/default/context.py +46 -0
  97. beaker_notebook-2.0.0/src/beaker_notebook/contexts/default/default_payload.json +1 -0
  98. beaker_notebook-2.0.0/src/beaker_notebook/kernel.json +9 -0
  99. beaker_notebook-2.0.0/src/beaker_notebook/kernel.py +900 -0
  100. beaker_notebook-2.0.0/src/beaker_notebook/lib/__init__.py +9 -0
  101. beaker_notebook-2.0.0/src/beaker_notebook/lib/admin.py +105 -0
  102. beaker_notebook-2.0.0/src/beaker_notebook/lib/agent.py +475 -0
  103. beaker_notebook-2.0.0/src/beaker_notebook/lib/agent_tasks.py +111 -0
  104. beaker_notebook-2.0.0/src/beaker_notebook/lib/app.py +458 -0
  105. beaker_notebook-2.0.0/src/beaker_notebook/lib/autodiscovery.py +198 -0
  106. beaker_notebook-2.0.0/src/beaker_notebook/lib/code_analysis/__init__.py +19 -0
  107. beaker_notebook-2.0.0/src/beaker_notebook/lib/code_analysis/analysis_agent.py +149 -0
  108. beaker_notebook-2.0.0/src/beaker_notebook/lib/code_analysis/analysis_types.py +144 -0
  109. beaker_notebook-2.0.0/src/beaker_notebook/lib/code_analysis/analyzer.py +74 -0
  110. beaker_notebook-2.0.0/src/beaker_notebook/lib/code_analysis/message_types.py +0 -0
  111. beaker_notebook-2.0.0/src/beaker_notebook/lib/code_analysis/rules/__init__.py +1 -0
  112. beaker_notebook-2.0.0/src/beaker_notebook/lib/code_analysis/rules/base.py +134 -0
  113. beaker_notebook-2.0.0/src/beaker_notebook/lib/code_analysis/rules/trust/__init__.py +6 -0
  114. beaker_notebook-2.0.0/src/beaker_notebook/lib/code_analysis/rules/trust/categories.py +103 -0
  115. beaker_notebook-2.0.0/src/beaker_notebook/lib/code_analysis/rules/trust/rules.py +138 -0
  116. beaker_notebook-2.0.0/src/beaker_notebook/lib/config.py +550 -0
  117. beaker_notebook-2.0.0/src/beaker_notebook/lib/context.py +1225 -0
  118. beaker_notebook-2.0.0/src/beaker_notebook/lib/context_dump.py +453 -0
  119. beaker_notebook-2.0.0/src/beaker_notebook/lib/exporters/__init__.py +0 -0
  120. beaker_notebook-2.0.0/src/beaker_notebook/lib/exporters/chat.py +349 -0
  121. beaker_notebook-2.0.0/src/beaker_notebook/lib/exporters/full_context_notebook.py +24 -0
  122. beaker_notebook-2.0.0/src/beaker_notebook/lib/exporters/streamline.py +223 -0
  123. beaker_notebook-2.0.0/src/beaker_notebook/lib/extension.py +53 -0
  124. beaker_notebook-2.0.0/src/beaker_notebook/lib/integrations/__init__.py +0 -0
  125. beaker_notebook-2.0.0/src/beaker_notebook/lib/integrations/adhoc.py +645 -0
  126. beaker_notebook-2.0.0/src/beaker_notebook/lib/integrations/base.py +203 -0
  127. beaker_notebook-2.0.0/src/beaker_notebook/lib/integrations/registry.py +52 -0
  128. beaker_notebook-2.0.0/src/beaker_notebook/lib/integrations/skill.py +746 -0
  129. beaker_notebook-2.0.0/src/beaker_notebook/lib/integrations/types.py +254 -0
  130. beaker_notebook-2.0.0/src/beaker_notebook/lib/jupyter_kernel_proxy.py +391 -0
  131. beaker_notebook-2.0.0/src/beaker_notebook/lib/kernel_state.py +131 -0
  132. beaker_notebook-2.0.0/src/beaker_notebook/lib/message_types.py +38 -0
  133. beaker_notebook-2.0.0/src/beaker_notebook/lib/notebook_state.py +236 -0
  134. beaker_notebook-2.0.0/src/beaker_notebook/lib/reflector.py +247 -0
  135. beaker_notebook-2.0.0/src/beaker_notebook/lib/subkernel.py +898 -0
  136. beaker_notebook-2.0.0/src/beaker_notebook/lib/templates/__init__.py +105 -0
  137. beaker_notebook-2.0.0/src/beaker_notebook/lib/templates/agent_file.py +70 -0
  138. beaker_notebook-2.0.0/src/beaker_notebook/lib/templates/context_file.py +57 -0
  139. beaker_notebook-2.0.0/src/beaker_notebook/lib/templates/paths.py +12 -0
  140. beaker_notebook-2.0.0/src/beaker_notebook/lib/templates/procedure_file.py +21 -0
  141. beaker_notebook-2.0.0/src/beaker_notebook/lib/templates/readme_file.py +74 -0
  142. beaker_notebook-2.0.0/src/beaker_notebook/lib/templates/subkernel_file.py +50 -0
  143. beaker_notebook-2.0.0/src/beaker_notebook/lib/types.py +327 -0
  144. beaker_notebook-2.0.0/src/beaker_notebook/lib/utils.py +400 -0
  145. beaker_notebook-2.0.0/src/beaker_notebook/lib/workflow.py +341 -0
  146. beaker_notebook-2.0.0/src/beaker_notebook/services/__init__.py +59 -0
  147. beaker_notebook-2.0.0/src/beaker_notebook/services/auth/__init__.py +185 -0
  148. beaker_notebook-2.0.0/src/beaker_notebook/services/auth/dummy.py +33 -0
  149. beaker_notebook-2.0.0/src/beaker_notebook/services/auth/notebook.py +22 -0
  150. beaker_notebook-2.0.0/src/beaker_notebook/services/context/__init__.py +0 -0
  151. beaker_notebook-2.0.0/src/beaker_notebook/services/context/discovery_service.py +78 -0
  152. beaker_notebook-2.0.0/src/beaker_notebook/services/context/handlers.py +36 -0
  153. beaker_notebook-2.0.0/src/beaker_notebook/services/context/manager.py +88 -0
  154. beaker_notebook-2.0.0/src/beaker_notebook/services/context/util.py +64 -0
  155. beaker_notebook-2.0.0/src/beaker_notebook/services/kernel/__init__.py +5 -0
  156. beaker_notebook-2.0.0/src/beaker_notebook/services/kernel/manager.py +158 -0
  157. beaker_notebook-2.0.0/src/beaker_notebook/services/kernel/mappingmanager.py +128 -0
  158. beaker_notebook-2.0.0/src/beaker_notebook/services/kernel/provisioner.py +60 -0
  159. beaker_notebook-2.0.0/src/beaker_notebook/services/kernel/spec.py +115 -0
  160. beaker_notebook-2.0.0/src/beaker_notebook/services/session/__init__.py +245 -0
  161. beaker_notebook-2.0.0/src/beaker_notebook/services/storage/__init__.py +0 -0
  162. beaker_notebook-2.0.0/src/beaker_notebook/services/storage/base.py +93 -0
  163. beaker_notebook-2.0.0/src/beaker_notebook/services/storage/notebook.py +361 -0
  164. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/__init__.py +0 -0
  165. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/julia/__init__.py +3 -0
  166. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/julia/procedures/.gitkeep +0 -0
  167. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/julia/procedures/fetch_state.jl +71 -0
  168. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/julia/procedures/reflectors/array.jl +24 -0
  169. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/julia/procedures/reflectors/default.jl +20 -0
  170. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/julia/procedures/reflectors/dict.jl +34 -0
  171. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/julia/procedures/reflectors/function.jl +7 -0
  172. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/julia/procedures/reflectors/module.jl +7 -0
  173. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/julia/procedures/reflectors/type.jl +7 -0
  174. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/julia/subkernel.py +39 -0
  175. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/python/__init__.py +3 -0
  176. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/python/procedures/.gitkeep +0 -0
  177. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/python/procedures/describe_variables.py +69 -0
  178. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/python/procedures/fetch_state.py +59 -0
  179. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/python/procedures/reflectors/class.py +14 -0
  180. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/python/procedures/reflectors/dataframe.py +28 -0
  181. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/python/procedures/reflectors/default.py +32 -0
  182. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/python/procedures/reflectors/function.py +18 -0
  183. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/python/procedures/reflectors/mapping.py +36 -0
  184. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/python/procedures/reflectors/module.py +9 -0
  185. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/python/procedures/reflectors/ndarray.py +27 -0
  186. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/python/procedures/reflectors/primitive.py +22 -0
  187. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/python/procedures/reflectors/sequence.py +32 -0
  188. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/python/procedures/reflectors/series.py +26 -0
  189. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/python/procedures/reflectors/string.py +21 -0
  190. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/python/subkernel.py +165 -0
  191. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/rlang/__init__.py +3 -0
  192. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/rlang/procedures/.gitkeep +0 -0
  193. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/rlang/procedures/fetch_state.r +55 -0
  194. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/rlang/procedures/reflectors/data_frame.r +28 -0
  195. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/rlang/procedures/reflectors/default.r +23 -0
  196. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/rlang/procedures/reflectors/function.r +11 -0
  197. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/rlang/procedures/reflectors/list.r +23 -0
  198. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/rlang/procedures/reflectors/vector.r +25 -0
  199. beaker_notebook-2.0.0/src/beaker_notebook/subkernels/rlang/subkernel.py +38 -0
  200. beaker_notebook-2.0.0/src/beaker_notebook/util/__init__.py +0 -0
  201. beaker_notebook-2.0.0/src/beaker_notebook/util/refactor.py +52 -0
@@ -0,0 +1,74 @@
1
+ **/__pycache__/**
2
+ *.pyc
3
+ .ipynb_checkpoints
4
+ /*.ipynb
5
+ **/.cache
6
+ **/.ipython
7
+ **/.notebooks/
8
+
9
+ # Gradle
10
+ .gradle/
11
+ build/
12
+
13
+ # Eclipse
14
+ .project
15
+ .classpath
16
+ .settings/
17
+ bin/
18
+
19
+ # IntelliJ
20
+ .idea/*
21
+ *.ipr
22
+ *.iml
23
+ *.iws
24
+
25
+ # NetBeans
26
+ nb-configuration.xml
27
+
28
+ # Visual Studio Code
29
+ .vscode/*
30
+ .factorypath
31
+
32
+ # Nova
33
+ .nova/*
34
+
35
+ # OSX
36
+ .DS_Store
37
+
38
+ # Vim
39
+ *.swp
40
+ *.swo
41
+
42
+ # patch
43
+ *.orig
44
+ *.rej
45
+
46
+ # Local environment
47
+ .env
48
+
49
+ # Yarn
50
+ **/.yarn/*
51
+ **/!.yarn/patches
52
+ **/!.yarn/plugins
53
+ **/!.yarn/releases
54
+ **/!.yarn/sdks
55
+ **/!.yarn/versions
56
+ **/.pnp.*
57
+
58
+ # NPM
59
+ node_modules
60
+ dist
61
+ build
62
+
63
+ # MISC
64
+ create.sql
65
+ .eslintcache
66
+ **/.venv/
67
+ .openai.toml
68
+ shell.nix
69
+ **/.jekyll-cache
70
+
71
+ .beaker.conf
72
+ beaker_config.py
73
+ beaker_*_config.py
74
+ src/beaker_notebook/**/ui/*
@@ -0,0 +1,9 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023-present Jataware Corp
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,85 @@
1
+ Metadata-Version: 2.4
2
+ Name: beaker-notebook
3
+ Version: 2.0.0
4
+ Summary: Beaker Notebook is a general-purpose, computational notebook with embedded agentic AI designed . It provides a flexible context system that enables domain-specific customization for domains such as data science, research, and computational workflows through specialized AI agents, integrations with external data sources and APIs, and structured workflows.
5
+ Project-URL: Documentation, https://github.com/jataware/beaker-kernel#readme
6
+ Project-URL: Issues, https://github.com/jataware/beaker-kernel/issues
7
+ Project-URL: Source, https://github.com/jataware/beaker-kernel
8
+ Author-email: Matthew Printz <matt@jataware.com>, Brandon Rose <brandon@jataware.com>, Five Grant <five@jataware.com>
9
+ License-Expression: MIT
10
+ License-File: LICENSE.txt
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Programming Language :: Python
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Programming Language :: Python :: Implementation :: CPython
17
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
18
+ Requires-Python: >=3.11
19
+ Requires-Dist: archytas>=2.0.0
20
+ Requires-Dist: click~=8.1
21
+ Requires-Dist: dill
22
+ Requires-Dist: hatch
23
+ Requires-Dist: jinja2~=3.1.2
24
+ Requires-Dist: jupyterlab-server<3,>=2.22.1
25
+ Requires-Dist: jupyterlab~=4.0
26
+ Requires-Dist: matplotlib
27
+ Requires-Dist: numpy
28
+ Requires-Dist: openpyxl
29
+ Requires-Dist: pandas
30
+ Requires-Dist: python-dotenv~=1.0
31
+ Requires-Dist: requests<3,>=2.24
32
+ Requires-Dist: scipy
33
+ Requires-Dist: six
34
+ Requires-Dist: toml
35
+ Requires-Dist: tornado>=6.4.0
36
+ Requires-Dist: tree-sitter-julia<0.25
37
+ Requires-Dist: tree-sitter-python<0.25
38
+ Requires-Dist: tree-sitter<0.25
39
+ Requires-Dist: watchdog~=3.0
40
+ Requires-Dist: xarray
41
+ Description-Content-Type: text/markdown
42
+
43
+ # Beaker: the AI-first coding notebook
44
+
45
+ Beaker is a next-generation coding notebook built for the AI era. Beaker seamlessly integrates a Jupyter-like experience with an AI agent that can generate and run code on your behalf. The agent has access to the entire notebook environment as its context, allowing it to make smart decisions about the code it generates and runs. It can even read tracebacks and fix its own errors, and install missing libraries automatically when it needs them.
46
+
47
+ Beaker also lets you swap effortlessly between a notebook-style coding interface and a chat-style interface, giving you the best of both worlds. Since everything is interoperable with Jupyter, you can always export your notebook and use it in any other Jupyter-compatible environment.
48
+
49
+ Beaker is built on top of [Archytas](https://github.com/jataware/archytas), our framework for building AI agents that can interact with code. Advanced users can build their own custom agents with custom ReAct toolsets to support any number of use cases.
50
+
51
+ We like to think of Beaker as a (much better!) drop-in replacement for workflows where you'd normally rely on Jupyter notebooks, and we hope you'll give it a try and let us know what you think.
52
+
53
+ ## Getting Started
54
+
55
+ Getting Beaker up and running is easy. Install Beaker with:
56
+
57
+ ```bash
58
+ pip install beaker-notebook
59
+ ```
60
+
61
+ Next, run `beaker config update` to set up your configuration. This creates a `beaker.conf` configuration file (you can find its location at any time with `beaker config find`). You can leave most fields at their defaults, but you'll need to set `LLM_SERVICE_TOKEN` to your OpenAI API key — or the API key for whichever LLM provider you've selected.
62
+
63
+ Once installed and configured, start a notebook with:
64
+
65
+ ```bash
66
+ beaker notebook
67
+ ```
68
+
69
+ Your notebook server will start up and Beaker will be ready to use at [`localhost:8888`](http://localhost:8888).
70
+
71
+ ## Quick demo
72
+
73
+ Here is a quick demo of using Beaker to interact with a [free weather API](https://open-meteo.com/en/docs), fetch some data, perform some data transformations and a bit of analysis. This is really just scratching the surface of what you can do with Beaker, but it gives you a sense of the kinds of things it can do.
74
+
75
+ <div align="center">
76
+ <a href="https://www.youtube.com/watch?v=AP9LT_cxjzY" target="_blank">
77
+ <img src="docs/assets/beaker-movie-3x-optimized-higherres.gif" alt="Beaker demo" width="90%">
78
+ </a>
79
+ <br/>
80
+ Watch original video on <a href="https://www.youtube.com/watch?v=AP9LT_cxjzY">Youtube here</a>.
81
+ </div>
82
+
83
+ ## Want to know more?
84
+
85
+ There is a lot more to Beaker than what we've covered here. The full [documentation](https://jataware.github.io/beaker-notebook/) covers how to customize and extend Beaker — building your own custom contexts, agents, subkernels, and integrations to make Beaker fit your specific needs. It also covers using the `beaker-ts` TypeScript library to embed Beaker into your own front-end application.
@@ -0,0 +1,43 @@
1
+ # Beaker: the AI-first coding notebook
2
+
3
+ Beaker is a next-generation coding notebook built for the AI era. Beaker seamlessly integrates a Jupyter-like experience with an AI agent that can generate and run code on your behalf. The agent has access to the entire notebook environment as its context, allowing it to make smart decisions about the code it generates and runs. It can even read tracebacks and fix its own errors, and install missing libraries automatically when it needs them.
4
+
5
+ Beaker also lets you swap effortlessly between a notebook-style coding interface and a chat-style interface, giving you the best of both worlds. Since everything is interoperable with Jupyter, you can always export your notebook and use it in any other Jupyter-compatible environment.
6
+
7
+ Beaker is built on top of [Archytas](https://github.com/jataware/archytas), our framework for building AI agents that can interact with code. Advanced users can build their own custom agents with custom ReAct toolsets to support any number of use cases.
8
+
9
+ We like to think of Beaker as a (much better!) drop-in replacement for workflows where you'd normally rely on Jupyter notebooks, and we hope you'll give it a try and let us know what you think.
10
+
11
+ ## Getting Started
12
+
13
+ Getting Beaker up and running is easy. Install Beaker with:
14
+
15
+ ```bash
16
+ pip install beaker-notebook
17
+ ```
18
+
19
+ Next, run `beaker config update` to set up your configuration. This creates a `beaker.conf` configuration file (you can find its location at any time with `beaker config find`). You can leave most fields at their defaults, but you'll need to set `LLM_SERVICE_TOKEN` to your OpenAI API key — or the API key for whichever LLM provider you've selected.
20
+
21
+ Once installed and configured, start a notebook with:
22
+
23
+ ```bash
24
+ beaker notebook
25
+ ```
26
+
27
+ Your notebook server will start up and Beaker will be ready to use at [`localhost:8888`](http://localhost:8888).
28
+
29
+ ## Quick demo
30
+
31
+ Here is a quick demo of using Beaker to interact with a [free weather API](https://open-meteo.com/en/docs), fetch some data, perform some data transformations and a bit of analysis. This is really just scratching the surface of what you can do with Beaker, but it gives you a sense of the kinds of things it can do.
32
+
33
+ <div align="center">
34
+ <a href="https://www.youtube.com/watch?v=AP9LT_cxjzY" target="_blank">
35
+ <img src="docs/assets/beaker-movie-3x-optimized-higherres.gif" alt="Beaker demo" width="90%">
36
+ </a>
37
+ <br/>
38
+ Watch original video on <a href="https://www.youtube.com/watch?v=AP9LT_cxjzY">Youtube here</a>.
39
+ </div>
40
+
41
+ ## Want to know more?
42
+
43
+ There is a lot more to Beaker than what we've covered here. The full [documentation](https://jataware.github.io/beaker-notebook/) covers how to customize and extend Beaker — building your own custom contexts, agents, subkernels, and integrations to make Beaker fit your specific needs. It also covers using the `beaker-ts` TypeScript library to embed Beaker into your own front-end application.
@@ -0,0 +1,293 @@
1
+ [build-system]
2
+ requires = ["hatch<1.16", "hatchling", "virtualenv<21.0.0"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "beaker-notebook"
7
+ version = "2.0.0"
8
+ description = "Beaker Notebook is a general-purpose, computational notebook with embedded agentic AI designed . It provides a flexible context system that enables domain-specific customization for domains such as data science, research, and computational workflows through specialized AI agents, integrations with external data sources and APIs, and structured workflows."
9
+ readme = "README.md"
10
+ requires-python = ">=3.11"
11
+ license = "MIT"
12
+ keywords = []
13
+ authors = [
14
+ { name = "Matthew Printz", email = "matt@jataware.com" },
15
+ { name = "Brandon Rose", email = "brandon@jataware.com" },
16
+ { name = "Five Grant", email = "five@jataware.com" },
17
+ ]
18
+ classifiers = [
19
+ "Development Status :: 4 - Beta",
20
+ "Programming Language :: Python",
21
+ "Programming Language :: Python :: 3.11",
22
+ "Programming Language :: Python :: 3.12",
23
+ "Programming Language :: Python :: 3.13",
24
+ "Programming Language :: Python :: Implementation :: CPython",
25
+ "Programming Language :: Python :: Implementation :: PyPy",
26
+ ]
27
+ dependencies = [
28
+ "archytas>=2.0.0",
29
+ "jupyterlab~=4.0",
30
+ "jupyterlab-server>=2.22.1,<3",
31
+ "requests>=2.24,<3",
32
+ "six",
33
+ "tornado>=6.4.0",
34
+ "jinja2~=3.1.2",
35
+ "watchdog~=3.0",
36
+ "click~=8.1",
37
+ "python-dotenv~=1.0",
38
+ "hatch",
39
+ "toml",
40
+ "dill",
41
+ "pandas",
42
+ "matplotlib",
43
+ "xarray",
44
+ "numpy",
45
+ "scipy",
46
+ "openpyxl",
47
+ "tree-sitter<0.25",
48
+ "tree-sitter-python<0.25",
49
+ "tree-sitter-julia<0.25",
50
+ ]
51
+
52
+ [project.entry-points.hatch]
53
+ beaker = "beaker_notebook.builder.hooks"
54
+
55
+ [project.scripts]
56
+ beaker = "beaker_notebook.cli.main:cli"
57
+
58
+ [tool.hatch.metadata]
59
+ allow-direct-references = true
60
+
61
+ [tool.hatch.build]
62
+ require-runtime-dependencies = true
63
+ artifacts = [
64
+ "src/beaker_notebook/app/ui",
65
+ ]
66
+
67
+ [tool.hatch.build.targets.wheel]
68
+ packages = [
69
+ "src/beaker_notebook",
70
+ "src/beaker_kernel",
71
+ ]
72
+
73
+ [tool.hatch.build.targets.sdist]
74
+ only-include = ["src"]
75
+
76
+ # Beaker builder, loaded as a custom hook since it's not yet registered.
77
+ [tool.hatch.build.targets.wheel.hooks.custom]
78
+ path = "src/beaker_notebook/builder/beaker.py"
79
+
80
+ [tool.hatch.build.targets.wheel.shared-data]
81
+ "src/beaker_notebook/kernel.json" = "share/jupyter/kernels/beaker_kernel/kernel.json"
82
+
83
+
84
+ [tool.bumpversion]
85
+ current_version="2.0.0"
86
+ parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)((?P<release>[ab])(?P<revision>\\d+))?"
87
+ serialize = [
88
+ "{major}.{minor}.{patch}{release}{revision}",
89
+ "{major}.{minor}.{patch}"
90
+ ]
91
+ search = "{current_version}"
92
+ replace = "{new_version}"
93
+ regex = false
94
+ ignore_missing_version = false
95
+ ignore_missing_files = false
96
+ tag = true
97
+ sign_tags = false
98
+ tag_name = "v{new_version}"
99
+ tag_message = "Bump version: {current_version} → {new_version}"
100
+ allow_dirty = true
101
+ commit = true
102
+ message = "Bump version: {current_version} → {new_version}"
103
+ commit_args = ""
104
+
105
+ [tool.bumpversion.parts.release]
106
+ values = [
107
+ "a",
108
+ "b",
109
+ ]
110
+
111
+ [[tool.bumpversion.files]]
112
+ filename = "pyproject.toml"
113
+ search = 'version = "{current_version}"'
114
+ replace = 'version = "{new_version}"'
115
+
116
+ [[tool.bumpversion.files]]
117
+ glob = "beaker-vue/package*.json"
118
+ parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)-((?P<release>[ab]).(?P<revision>\\d+))?"
119
+ serialize = [
120
+ "{major}.{minor}.{patch}-{release}.{revision}",
121
+ "{major}.{minor}.{patch}"
122
+ ]
123
+ search = """@jataware/beaker-client": "^{current_version}"""
124
+ replace = """@jataware/beaker-client": "^{new_version}"""
125
+
126
+ [[tool.bumpversion.files]]
127
+ glob = "beaker-*/package*.json"
128
+ parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)-((?P<release>[ab]).(?P<revision>\\d+))?"
129
+ serialize = [
130
+ "{major}.{minor}.{patch}-{release}.{revision}",
131
+ "{major}.{minor}.{patch}"
132
+ ]
133
+ regex = true
134
+ search = """
135
+ ([^\\n]*"[^\\n"]*@jataware/beaker-(?:kernel|ts|vue|client)"[^\\n]*)
136
+ ([\\s]*)"version": "{current_version}"([^\\n]*)"""
137
+ replace = """
138
+ \\1
139
+ \\2"version": "{new_version}"\\3"""
140
+
141
+ [project.urls]
142
+ Documentation = "https://github.com/jataware/beaker-kernel#readme"
143
+ Issues = "https://github.com/jataware/beaker-kernel/issues"
144
+ Source = "https://github.com/jataware/beaker-kernel"
145
+
146
+ [tool.hatch.version]
147
+ path = "src/beaker_notebook/__about__.py"
148
+
149
+ [tool.hatch.envs.default]
150
+ dependencies = [
151
+ "bump-my-version",
152
+ "coverage[toml]>=6.5",
153
+ "pytest",
154
+ "pytest-asyncio",
155
+ ]
156
+ [tool.hatch.envs.default.scripts]
157
+ test = "pytest {args:tests}"
158
+ test-cov = "coverage run -m pytest {args:tests}"
159
+ cov-report = [
160
+ "- coverage combine",
161
+ "coverage report",
162
+ ]
163
+ cov = [
164
+ "test-cov",
165
+ "cov-report",
166
+ ]
167
+ bump = [
168
+ "bump-my-version bump {args:--help}"
169
+ ]
170
+
171
+ [[tool.hatch.envs.all.matrix]]
172
+ python = ["3.11", "3.12", "3.13"]
173
+
174
+ [tool.hatch.envs.lint]
175
+ detached = true
176
+ dependencies = [
177
+ "black>=23.1.0",
178
+ "mypy>=1.0.0",
179
+ "ruff>=0.0.243",
180
+ ]
181
+ [tool.hatch.envs.lint.scripts]
182
+ typing = "mypy --install-types --non-interactive {args:beaker_notebook tests}"
183
+ style = [
184
+ "ruff {args:.}",
185
+ "black --check --diff {args:.}",
186
+ ]
187
+ fmt = [
188
+ "black {args:.}",
189
+ "ruff --fix {args:.}",
190
+ "style",
191
+ ]
192
+ all = [
193
+ "style",
194
+ "typing",
195
+ ]
196
+
197
+ [tool.black]
198
+ target-version = ["py310"]
199
+ line-length = 120
200
+ skip-string-normalization = true
201
+
202
+ [tool.ruff]
203
+ target-version = "py310"
204
+ line-length = 120
205
+ select = [
206
+ "A",
207
+ "ARG",
208
+ "B",
209
+ "C",
210
+ "DTZ",
211
+ "E",
212
+ "EM",
213
+ "F",
214
+ "FBT",
215
+ "I",
216
+ "ICN",
217
+ "ISC",
218
+ "N",
219
+ "PLC",
220
+ "PLE",
221
+ "PLR",
222
+ "PLW",
223
+ "Q",
224
+ "RUF",
225
+ "S",
226
+ "T",
227
+ "TID",
228
+ "UP",
229
+ "W",
230
+ "YTT",
231
+ ]
232
+ ignore = [
233
+ # Allow non-abstract empty methods in abstract base classes
234
+ "B027",
235
+ # Allow boolean positional values in function calls, like `dict.get(... True)`
236
+ "FBT003",
237
+ # Ignore checks for possible passwords
238
+ "S105", "S106", "S107",
239
+ # Ignore complexity
240
+ "C901", "PLR0911", "PLR0912", "PLR0913", "PLR0915",
241
+ ]
242
+ unfixable = [
243
+ # Don't touch unused imports
244
+ "F401",
245
+ ]
246
+
247
+ [tool.ruff.isort]
248
+ known-first-party = ["beaker_notebook"]
249
+
250
+ [tool.ruff.flake8-tidy-imports]
251
+ ban-relative-imports = "all"
252
+
253
+ [tool.ruff.per-file-ignores]
254
+ # Tests can use magic values, assertions, and relative imports
255
+ "tests/**/*" = ["PLR2004", "S101", "TID252"]
256
+
257
+ [tool.coverage.run]
258
+ source_pkgs = ["beaker_notebook", "tests"]
259
+ branch = true
260
+ parallel = true
261
+ omit = [
262
+ "src/beaker_notebook/__about__.py",
263
+ ]
264
+
265
+ [tool.coverage.paths]
266
+ beaker_notebook = ["beaker_notebook"]
267
+ tests = ["tests"]
268
+
269
+ [tool.coverage.report]
270
+ exclude_lines = [
271
+ "no cov",
272
+ "if __name__ == .__main__.:",
273
+ "if TYPE_CHECKING:",
274
+ ]
275
+
276
+ [tool.hatch.envs.hatch-test]
277
+ extra-dependencies = [
278
+ "pytest",
279
+ "pytest-asyncio",
280
+ "rich",
281
+ ]
282
+
283
+ [tool.pytest.ini_options]
284
+ asyncio_mode = "auto"
285
+ asyncio_default_fixture_loop_scope = "function"
286
+
287
+ [project.entry-points."nbconvert.exporters"]
288
+ streamline = "beaker_notebook.lib.exporters.streamline:StreamlineExporter"
289
+ full_context_notebook = "beaker_notebook.lib.exporters.full_context_notebook:FullContextNotebookExporter"
290
+ chat = "beaker_notebook.lib.exporters.chat:ChatExporter"
291
+
292
+ [project.entry-points."jupyter_client.kernel_provisioners"]
293
+ beaker-local-provisioner = "beaker_notebook.services.kernel.provisioner:BeakerLocalProvisioner"
@@ -0,0 +1,37 @@
1
+ """
2
+ Compatibility shim: redirects any `beaker_kernel[.X]` import to `beaker_notebook[.X]`.
3
+ """
4
+ import importlib
5
+ import sys
6
+ from importlib.abc import MetaPathFinder, Loader
7
+ from importlib.machinery import ModuleSpec
8
+
9
+ _OLD = "beaker_kernel"
10
+ _NEW = "beaker_notebook"
11
+
12
+
13
+ class _RenameLoader(Loader):
14
+ def create_module(self, spec):
15
+ target = _NEW + spec.name[len(_OLD):]
16
+ module = importlib.import_module(target)
17
+ sys.modules[spec.name] = module
18
+ return module
19
+
20
+ def exec_module(self, module):
21
+ pass
22
+
23
+
24
+ class _RenameFinder(MetaPathFinder):
25
+ def find_spec(self, fullname, path=None, target=None):
26
+ if fullname == _OLD or fullname.startswith(_OLD + "."):
27
+ return ModuleSpec(fullname, _RenameLoader(), is_package=True)
28
+ return None
29
+
30
+
31
+ # Install once.
32
+ if not any(isinstance(f, _RenameFinder) for f in sys.meta_path):
33
+ sys.meta_path.insert(0, _RenameFinder())
34
+
35
+ # Make `beaker_kernel` itself be `beaker_notebook`.
36
+ import beaker_notebook as _bn
37
+ sys.modules[__name__] = _bn