@datalayer/core 0.0.1 → 0.0.2

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 (641) hide show
  1. package/README.md +176 -7
  2. package/lib/App.d.ts +3 -0
  3. package/lib/App.js +4 -0
  4. package/lib/__tests__/App.test.d.ts +1 -0
  5. package/lib/__tests__/App.test.js +17 -0
  6. package/lib/__tests__/hooks.test.d.ts +1 -0
  7. package/lib/__tests__/hooks.test.js +19 -0
  8. package/lib/__tests__/index.test.d.ts +1 -0
  9. package/lib/__tests__/index.test.js +26 -0
  10. package/lib/__tests__/integration.test.d.ts +1 -0
  11. package/lib/__tests__/integration.test.js +57 -0
  12. package/lib/__tests__/utils.test.d.ts +1 -0
  13. package/lib/__tests__/utils.test.js +59 -0
  14. package/lib/api/RunApi.d.ts +75 -0
  15. package/lib/api/RunApi.js +150 -0
  16. package/lib/api/index.d.ts +2 -0
  17. package/lib/api/index.js +11 -0
  18. package/lib/api/runtimes/exec/Python.d.ts +5 -0
  19. package/lib/api/runtimes/exec/Python.js +105 -0
  20. package/lib/api/runtimes/exec/Snippets.d.ts +145 -0
  21. package/lib/api/runtimes/exec/Snippets.js +125 -0
  22. package/lib/api/runtimes/exec/index.d.ts +2 -0
  23. package/lib/api/runtimes/exec/index.js +11 -0
  24. package/lib/api/runtimes/index.d.ts +7 -0
  25. package/lib/api/runtimes/index.js +16 -0
  26. package/lib/api/runtimes/kernelsHandler.d.ts +8 -0
  27. package/lib/api/runtimes/kernelsHandler.js +44 -0
  28. package/lib/api/runtimes/models.d.ts +59 -0
  29. package/lib/api/runtimes/models.js +11 -0
  30. package/lib/api/runtimes/runtimesApi.d.ts +370 -0
  31. package/lib/api/runtimes/runtimesApi.js +269 -0
  32. package/lib/api/runtimes/settings.d.ts +15 -0
  33. package/lib/api/runtimes/settings.js +36 -0
  34. package/lib/api/runtimes/snapshots.d.ts +25 -0
  35. package/lib/api/runtimes/snapshots.js +155 -0
  36. package/lib/api/runtimes/utils.d.ts +7 -0
  37. package/lib/api/runtimes/utils.js +22 -0
  38. package/lib/components/avatars/BoringAvatar.d.ts +20 -0
  39. package/lib/components/avatars/BoringAvatar.js +39 -0
  40. package/lib/components/avatars/UserProfileAvatar.d.ts +13 -0
  41. package/lib/components/avatars/UserProfileAvatar.js +37 -0
  42. package/lib/components/avatars/index.d.ts +2 -0
  43. package/lib/components/avatars/index.js +11 -0
  44. package/lib/components/banners/NoAutomationBanner.d.ts +2 -0
  45. package/lib/components/banners/NoAutomationBanner.js +18 -0
  46. package/lib/components/banners/index.d.ts +1 -0
  47. package/lib/components/banners/index.js +10 -0
  48. package/lib/components/buttons/DownloadCSVButton.d.ts +13 -0
  49. package/lib/components/buttons/DownloadCSVButton.js +21 -0
  50. package/lib/components/buttons/DownloadJsonButton.d.ts +16 -0
  51. package/lib/components/buttons/DownloadJsonButton.js +23 -0
  52. package/lib/components/buttons/LongActionButton.d.ts +28 -0
  53. package/lib/components/buttons/LongActionButton.js +29 -0
  54. package/lib/components/buttons/UploadButton.d.ts +37 -0
  55. package/lib/components/buttons/UploadButton.js +48 -0
  56. package/lib/components/buttons/VariantType.d.ts +1 -0
  57. package/lib/components/buttons/VariantType.js +5 -0
  58. package/lib/components/buttons/index.d.ts +5 -0
  59. package/lib/components/buttons/index.js +14 -0
  60. package/lib/components/checkout/StripeCheckout.d.ts +32 -0
  61. package/lib/components/checkout/StripeCheckout.js +100 -0
  62. package/lib/components/checkout/index.d.ts +1 -0
  63. package/lib/components/checkout/index.js +10 -0
  64. package/lib/components/confetti/ConfettiSuccess.d.ts +2 -0
  65. package/lib/components/confetti/ConfettiSuccess.js +17 -0
  66. package/lib/components/confetti/index.d.ts +1 -0
  67. package/lib/components/confetti/index.js +10 -0
  68. package/lib/components/context/OrganizationSelect.d.ts +2 -0
  69. package/lib/components/context/OrganizationSelect.js +40 -0
  70. package/lib/components/context/SpaceSelect.d.ts +2 -0
  71. package/lib/components/context/SpaceSelect.js +48 -0
  72. package/lib/components/context/index.d.ts +2 -0
  73. package/lib/components/context/index.js +11 -0
  74. package/lib/components/display/AvatarSkeleton.d.ts +5 -0
  75. package/lib/components/display/AvatarSkeleton.js +16 -0
  76. package/lib/components/display/CenteredSpinner.d.ts +14 -0
  77. package/lib/components/display/CenteredSpinner.js +25 -0
  78. package/lib/components/display/CodePreview.d.ts +4 -0
  79. package/lib/components/display/CodePreview.js +20 -0
  80. package/lib/components/display/DatalayerBox.d.ts +8 -0
  81. package/lib/components/display/DatalayerBox.js +33 -0
  82. package/lib/components/display/HorizontalCenter.d.ts +9 -0
  83. package/lib/components/display/HorizontalCenter.js +14 -0
  84. package/lib/components/display/JupyterDialog.d.ts +69 -0
  85. package/lib/components/display/JupyterDialog.js +120 -0
  86. package/lib/components/display/Markdown.d.ts +23 -0
  87. package/lib/components/display/Markdown.js +20 -0
  88. package/lib/components/display/NavLink.d.ts +9 -0
  89. package/lib/components/display/NavLink.js +22 -0
  90. package/lib/components/display/NotebookSkeleton.d.ts +2 -0
  91. package/lib/components/display/NotebookSkeleton.js +16 -0
  92. package/lib/components/display/Placeholder.d.ts +2 -0
  93. package/lib/components/display/Placeholder.js +14 -0
  94. package/lib/components/display/ToTopBranded.d.ts +2 -0
  95. package/lib/components/display/ToTopBranded.js +16 -0
  96. package/lib/components/display/VisuallyHidden.d.ts +5 -0
  97. package/lib/components/display/VisuallyHidden.js +29 -0
  98. package/lib/components/display/index.d.ts +12 -0
  99. package/lib/components/display/index.js +21 -0
  100. package/lib/components/echarts/EChartsReact.d.ts +11 -0
  101. package/lib/components/echarts/EChartsReact.js +53 -0
  102. package/lib/components/echarts/index.d.ts +1 -0
  103. package/lib/components/echarts/index.js +10 -0
  104. package/lib/components/flashes/FlashClosable.d.ts +22 -0
  105. package/lib/components/flashes/FlashClosable.js +69 -0
  106. package/lib/components/flashes/FlashDisclaimer.d.ts +2 -0
  107. package/lib/components/flashes/FlashDisclaimer.js +23 -0
  108. package/lib/components/flashes/FlashGuest.d.ts +2 -0
  109. package/lib/components/flashes/FlashGuest.js +35 -0
  110. package/lib/components/flashes/FlashSurveys.d.ts +6 -0
  111. package/lib/components/flashes/FlashSurveys.js +41 -0
  112. package/lib/components/flashes/FlashUnauthorized.d.ts +2 -0
  113. package/lib/components/flashes/FlashUnauthorized.js +23 -0
  114. package/lib/components/flashes/index.d.ts +6 -0
  115. package/lib/components/flashes/index.js +15 -0
  116. package/lib/components/flashes/surveys/Survey2025_1.d.ts +3 -0
  117. package/lib/components/flashes/surveys/Survey2025_1.js +134 -0
  118. package/lib/components/flashes/surveys/SurveyProps.d.ts +6 -0
  119. package/lib/components/flashes/surveys/SurveyProps.js +5 -0
  120. package/lib/components/flashes/surveys/index.d.ts +2 -0
  121. package/lib/components/flashes/surveys/index.js +11 -0
  122. package/lib/components/iam/ExternalTokenSilentLogin.d.ts +5 -0
  123. package/lib/components/iam/ExternalTokenSilentLogin.js +38 -0
  124. package/lib/components/iam/index.d.ts +1 -0
  125. package/lib/components/iam/index.js +10 -0
  126. package/lib/components/icons/ArtifactIcon.d.ts +10 -0
  127. package/lib/components/icons/ArtifactIcon.js +63 -0
  128. package/lib/components/icons/index.d.ts +1 -0
  129. package/lib/components/icons/index.js +10 -0
  130. package/lib/components/index.d.ts +1 -0
  131. package/lib/components/index.js +10 -0
  132. package/lib/components/labels/VisibilityLabel.d.ts +4 -0
  133. package/lib/components/labels/VisibilityLabel.js +22 -0
  134. package/lib/components/labels/index.d.ts +1 -0
  135. package/lib/components/labels/index.js +10 -0
  136. package/lib/components/landings/StepBlock.d.ts +11 -0
  137. package/lib/components/landings/StepBlock.js +17 -0
  138. package/lib/components/landings/index.d.ts +1 -0
  139. package/lib/components/landings/index.js +10 -0
  140. package/lib/components/navbar/NavigationVisbilityObserver.d.ts +5 -0
  141. package/lib/components/navbar/NavigationVisbilityObserver.js +63 -0
  142. package/lib/components/navbar/SubdomainNavBar.d.ts +81 -0
  143. package/lib/components/navbar/SubdomainNavBar.js +240 -0
  144. package/lib/components/navbar/index.d.ts +2 -0
  145. package/lib/components/navbar/index.js +11 -0
  146. package/lib/components/nbgrader/NbGradesDetails.d.ts +5 -0
  147. package/lib/components/nbgrader/NbGradesDetails.js +22 -0
  148. package/lib/components/nbgrader/index.d.ts +1 -0
  149. package/lib/components/nbgrader/index.js +10 -0
  150. package/lib/components/notebooks/JupyterNotebook.d.ts +12 -0
  151. package/lib/components/notebooks/JupyterNotebook.js +41 -0
  152. package/lib/components/notebooks/JupyterNotebookToolbar.d.ts +2 -0
  153. package/lib/components/notebooks/JupyterNotebookToolbar.js +44 -0
  154. package/lib/components/notebooks/index.d.ts +2 -0
  155. package/lib/components/notebooks/index.js +11 -0
  156. package/lib/components/primer/Helper.d.ts +32 -0
  157. package/lib/components/primer/Helper.js +19 -0
  158. package/lib/components/primer/Portals.d.ts +9 -0
  159. package/lib/components/primer/Portals.js +31 -0
  160. package/lib/components/primer/Styles.d.ts +2 -0
  161. package/lib/components/primer/Styles.js +16 -0
  162. package/lib/components/primer/index.d.ts +2 -0
  163. package/lib/components/primer/index.js +11 -0
  164. package/lib/components/progress/ConsumptionBar.d.ts +40 -0
  165. package/lib/components/progress/ConsumptionBar.js +54 -0
  166. package/lib/components/progress/CreditsIndicator.d.ts +27 -0
  167. package/lib/components/progress/CreditsIndicator.js +30 -0
  168. package/lib/components/progress/ProgressBar.d.ts +2 -0
  169. package/lib/components/progress/ProgressBar.js +26 -0
  170. package/lib/components/progress/ProgressRing.d.ts +36 -0
  171. package/lib/components/progress/ProgressRing.js +31 -0
  172. package/lib/components/progress/Timer.d.ts +9 -0
  173. package/lib/components/progress/Timer.js +33 -0
  174. package/lib/components/progress/index.d.ts +5 -0
  175. package/lib/components/progress/index.js +14 -0
  176. package/lib/components/runtimes/RuntimeCellVariables.d.ts +39 -0
  177. package/lib/components/runtimes/RuntimeCellVariables.js +177 -0
  178. package/lib/components/runtimes/RuntimeCellVariablesDialog.d.ts +37 -0
  179. package/lib/components/runtimes/RuntimeCellVariablesDialog.js +106 -0
  180. package/lib/components/runtimes/RuntimeLauncherDialog.d.ts +54 -0
  181. package/lib/components/runtimes/RuntimeLauncherDialog.js +254 -0
  182. package/lib/components/runtimes/RuntimePickerBase.d.ts +69 -0
  183. package/lib/components/runtimes/RuntimePickerBase.js +114 -0
  184. package/lib/components/runtimes/RuntimePickerCell.d.ts +34 -0
  185. package/lib/components/runtimes/RuntimePickerCell.js +111 -0
  186. package/lib/components/runtimes/RuntimePickerNotebook.d.ts +43 -0
  187. package/lib/components/runtimes/RuntimePickerNotebook.js +173 -0
  188. package/lib/components/runtimes/RuntimeReservationControl.d.ts +47 -0
  189. package/lib/components/runtimes/RuntimeReservationControl.js +43 -0
  190. package/lib/components/runtimes/RuntimeSimplePicker.d.ts +34 -0
  191. package/lib/components/runtimes/RuntimeSimplePicker.js +161 -0
  192. package/lib/components/runtimes/RuntimeTransfer.d.ts +16 -0
  193. package/lib/components/runtimes/RuntimeTransfer.js +5 -0
  194. package/lib/components/runtimes/RuntimeUtils.d.ts +17 -0
  195. package/lib/components/runtimes/RuntimeUtils.js +173 -0
  196. package/lib/components/runtimes/RuntimeVariables.d.ts +38 -0
  197. package/lib/components/runtimes/RuntimeVariables.js +80 -0
  198. package/lib/components/runtimes/index.d.ts +11 -0
  199. package/lib/components/runtimes/index.js +20 -0
  200. package/lib/components/screenshot/ScreenCapture.d.ts +38 -0
  201. package/lib/components/screenshot/ScreenCapture.js +179 -0
  202. package/lib/components/screenshot/ScreenCaptureButton.d.ts +3 -0
  203. package/lib/components/screenshot/ScreenCaptureButton.js +21 -0
  204. package/lib/components/screenshot/index.d.ts +2 -0
  205. package/lib/components/screenshot/index.js +11 -0
  206. package/lib/components/snapshots/RuntimeSnapshotMenu.d.ts +36 -0
  207. package/lib/components/snapshots/RuntimeSnapshotMenu.js +169 -0
  208. package/lib/components/snapshots/index.d.ts +1 -0
  209. package/lib/components/snapshots/index.js +10 -0
  210. package/lib/components/snippets/SnippetDialog.d.ts +42 -0
  211. package/lib/components/snippets/SnippetDialog.js +47 -0
  212. package/lib/components/snippets/index.d.ts +1 -0
  213. package/lib/components/snippets/index.js +10 -0
  214. package/lib/components/storage/ContentsBrowser.d.ts +32 -0
  215. package/lib/components/storage/ContentsBrowser.js +250 -0
  216. package/lib/components/storage/ContentsItems.d.ts +58 -0
  217. package/lib/components/storage/ContentsItems.js +83 -0
  218. package/lib/components/storage/index.d.ts +2 -0
  219. package/lib/components/storage/index.js +11 -0
  220. package/lib/components/students/StudentItemStatus.d.ts +7 -0
  221. package/lib/components/students/StudentItemStatus.js +49 -0
  222. package/lib/components/students/index.d.ts +1 -0
  223. package/lib/components/students/index.js +10 -0
  224. package/lib/components/subnav/SubNav.d.ts +84 -0
  225. package/lib/components/subnav/SubNav.js +270 -0
  226. package/lib/components/subnav/index.d.ts +1 -0
  227. package/lib/components/subnav/index.js +10 -0
  228. package/lib/components/tables/DataTable.d.ts +5 -0
  229. package/lib/components/tables/DataTable.js +24 -0
  230. package/lib/components/tables/index.d.ts +1 -0
  231. package/lib/components/tables/index.js +10 -0
  232. package/lib/components/text-reveal/TextRevealAnimation.d.ts +6 -0
  233. package/lib/components/text-reveal/TextRevealAnimation.js +55 -0
  234. package/lib/components/text-reveal/index.d.ts +1 -0
  235. package/lib/components/text-reveal/index.js +10 -0
  236. package/lib/components/text-reveal/useTextRevealAnimationLines.d.ts +4 -0
  237. package/lib/components/text-reveal/useTextRevealAnimationLines.js +52 -0
  238. package/lib/components/tokens/SpaceVariantToken.d.ts +5 -0
  239. package/lib/components/tokens/SpaceVariantToken.js +25 -0
  240. package/lib/components/tokens/index.d.ts +1 -0
  241. package/lib/components/tokens/index.js +10 -0
  242. package/lib/components/toolbars/AssignmentEditorToolbar.d.ts +4 -0
  243. package/lib/components/toolbars/AssignmentEditorToolbar.js +23 -0
  244. package/lib/components/toolbars/DocumentEditorToolbar.d.ts +2 -0
  245. package/lib/components/toolbars/DocumentEditorToolbar.js +17 -0
  246. package/lib/components/toolbars/NotebookEditorToolbar.d.ts +29 -0
  247. package/lib/components/toolbars/NotebookEditorToolbar.js +35 -0
  248. package/lib/components/toolbars/index.d.ts +3 -0
  249. package/lib/components/toolbars/index.js +12 -0
  250. package/lib/components/users/PeerIndicator.d.ts +18 -0
  251. package/lib/components/users/PeerIndicator.js +105 -0
  252. package/lib/components/users/index.d.ts +1 -0
  253. package/lib/components/users/index.js +10 -0
  254. package/lib/config/Configuration.d.ts +111 -0
  255. package/lib/config/Configuration.js +30 -0
  256. package/lib/config/index.d.ts +2 -0
  257. package/lib/config/index.js +11 -0
  258. package/lib/config/integrations/Loom.d.ts +1 -0
  259. package/lib/config/integrations/Loom.js +21 -0
  260. package/lib/config/integrations/index.d.ts +1 -0
  261. package/lib/config/integrations/index.js +10 -0
  262. package/lib/hooks/assets/OutputshotPlaceholders.d.ts +19 -0
  263. package/lib/hooks/assets/OutputshotPlaceholders.js +28 -0
  264. package/lib/hooks/assets/index.d.ts +1 -0
  265. package/lib/hooks/assets/index.js +10 -0
  266. package/lib/hooks/index.d.ts +28 -0
  267. package/lib/hooks/index.js +38 -0
  268. package/lib/hooks/layouts/LayoutBackdrop.d.ts +2 -0
  269. package/lib/hooks/layouts/LayoutBackdrop.js +35 -0
  270. package/lib/hooks/layouts/LayoutScreenshot.d.ts +2 -0
  271. package/lib/hooks/layouts/LayoutScreenshot.js +48 -0
  272. package/lib/hooks/layouts/index.d.ts +2 -0
  273. package/lib/hooks/layouts/index.js +11 -0
  274. package/lib/hooks/useAIAgents.d.ts +13 -0
  275. package/lib/hooks/useAIAgents.js +77 -0
  276. package/lib/hooks/useAuthorization.d.ts +19 -0
  277. package/lib/hooks/useAuthorization.js +130 -0
  278. package/lib/hooks/useBackdrop.d.ts +28 -0
  279. package/lib/hooks/useBackdrop.js +105 -0
  280. package/lib/hooks/useBackdropJupyterLab.d.ts +15 -0
  281. package/lib/hooks/useBackdropJupyterLab.js +56 -0
  282. package/lib/hooks/useCache.d.ts +306 -0
  283. package/lib/hooks/useCache.js +3103 -0
  284. package/lib/hooks/useCellOutputshot.d.ts +4 -0
  285. package/lib/hooks/useCellOutputshot.js +33 -0
  286. package/lib/hooks/useContainsFocus.d.ts +9 -0
  287. package/lib/hooks/useContainsFocus.js +48 -0
  288. package/lib/hooks/useError.d.ts +9 -0
  289. package/lib/hooks/useError.js +31 -0
  290. package/lib/hooks/useExternalScript.d.ts +2 -0
  291. package/lib/hooks/useExternalScript.js +22 -0
  292. package/lib/hooks/useFocusTrap.d.ts +30 -0
  293. package/lib/hooks/useFocusTrap.js +53 -0
  294. package/lib/hooks/useIAM.d.ts +14 -0
  295. package/lib/hooks/useIAM.js +98 -0
  296. package/lib/hooks/useId.d.ts +19 -0
  297. package/lib/hooks/useId.js +105 -0
  298. package/lib/hooks/useIsomorphicLayoutEffect.d.ts +3 -0
  299. package/lib/hooks/useIsomorphicLayoutEffect.js +16 -0
  300. package/lib/hooks/useJupyterLabTheme.d.ts +6 -0
  301. package/lib/hooks/useJupyterLabTheme.js +29 -0
  302. package/lib/hooks/useKeyboardEscape.d.ts +1 -0
  303. package/lib/hooks/useKeyboardEscape.js +23 -0
  304. package/lib/hooks/useLocationHandles.d.ts +10 -0
  305. package/lib/hooks/useLocationHandles.js +27 -0
  306. package/lib/hooks/useNavigate.d.ts +2 -0
  307. package/lib/hooks/useNavigate.js +29 -0
  308. package/lib/hooks/useNotebookAIAgent.d.ts +8 -0
  309. package/lib/hooks/useNotebookAIAgent.js +59 -0
  310. package/lib/hooks/useOnClickOutside.d.ts +1 -0
  311. package/lib/hooks/useOnClickOutside.js +34 -0
  312. package/lib/hooks/useRef.d.ts +10 -0
  313. package/lib/hooks/useRef.js +22 -0
  314. package/lib/hooks/useRun.d.ts +21 -0
  315. package/lib/hooks/useRun.js +85 -0
  316. package/lib/hooks/useRuntimes.d.ts +5 -0
  317. package/lib/hooks/useRuntimes.js +39 -0
  318. package/lib/hooks/useScreenshot.d.ts +21 -0
  319. package/lib/hooks/useScreenshot.js +65 -0
  320. package/lib/hooks/useToast.d.ts +42 -0
  321. package/lib/hooks/useToast.js +143 -0
  322. package/lib/hooks/useUpload.d.ts +7 -0
  323. package/lib/hooks/useUpload.js +51 -0
  324. package/lib/hooks/useUser.d.ts +3 -0
  325. package/lib/hooks/useUser.js +22 -0
  326. package/lib/hooks/useVisibilityObserver.d.ts +5 -0
  327. package/lib/hooks/useVisibilityObserver.js +47 -0
  328. package/lib/hooks/useWindowSize.d.ts +21 -0
  329. package/lib/hooks/useWindowSize.js +80 -0
  330. package/lib/i18n/Labels.d.ts +1 -0
  331. package/lib/i18n/Labels.js +10 -0
  332. package/lib/i18n/index.d.ts +1 -0
  333. package/lib/i18n/index.js +10 -0
  334. package/lib/index.d.ts +3 -0
  335. package/lib/index.js +6 -0
  336. package/lib/main.d.ts +1 -0
  337. package/lib/main.js +4 -0
  338. package/lib/mocks/components/FlashMock.d.ts +2 -0
  339. package/lib/mocks/components/FlashMock.js +18 -0
  340. package/lib/mocks/components/index.d.ts +1 -0
  341. package/lib/mocks/components/index.js +10 -0
  342. package/lib/mocks/hooks/index.d.ts +1 -0
  343. package/lib/mocks/hooks/index.js +10 -0
  344. package/lib/mocks/hooks/rests/index.d.ts +1 -0
  345. package/lib/mocks/hooks/rests/index.js +10 -0
  346. package/lib/mocks/hooks/rests/rests.d.ts +22 -0
  347. package/lib/mocks/hooks/rests/rests.js +37 -0
  348. package/lib/mocks/hooks/useRunMock.d.ts +6 -0
  349. package/lib/mocks/hooks/useRunMock.js +83 -0
  350. package/lib/mocks/index.d.ts +4 -0
  351. package/lib/mocks/index.js +14 -0
  352. package/lib/mocks/jupyter/index.d.ts +1 -0
  353. package/lib/mocks/jupyter/index.js +10 -0
  354. package/lib/mocks/models/CodeBlockMock.d.ts +1 -0
  355. package/lib/mocks/models/CodeBlockMock.js +10 -0
  356. package/lib/mocks/models/CodelineMock.d.ts +1 -0
  357. package/lib/mocks/models/CodelineMock.js +10 -0
  358. package/lib/mocks/models/CourseMock.d.ts +6 -0
  359. package/lib/mocks/models/CourseMock.js +34 -0
  360. package/lib/mocks/models/InviteMock.d.ts +6 -0
  361. package/lib/mocks/models/InviteMock.js +27 -0
  362. package/lib/mocks/models/JupyterLabUserMock.d.ts +2 -0
  363. package/lib/mocks/models/JupyterLabUserMock.js +17 -0
  364. package/lib/mocks/models/OrganisationMock.d.ts +5 -0
  365. package/lib/mocks/models/OrganisationMock.js +24 -0
  366. package/lib/mocks/models/SchoolMock.d.ts +6 -0
  367. package/lib/mocks/models/SchoolMock.js +25 -0
  368. package/lib/mocks/models/SpaceMock.d.ts +6 -0
  369. package/lib/mocks/models/SpaceMock.js +30 -0
  370. package/lib/mocks/models/TeamMock.d.ts +5 -0
  371. package/lib/mocks/models/TeamMock.js +26 -0
  372. package/lib/mocks/models/UserMock.d.ts +2 -0
  373. package/lib/mocks/models/UserMock.js +34 -0
  374. package/lib/mocks/models/index.d.ts +9 -0
  375. package/lib/mocks/models/index.js +18 -0
  376. package/lib/mocks/views/ActionMenuMock.d.ts +5 -0
  377. package/lib/mocks/views/ActionMenuMock.js +17 -0
  378. package/lib/mocks/views/ChartMock.d.ts +5 -0
  379. package/lib/mocks/views/ChartMock.js +20 -0
  380. package/lib/mocks/views/ChartMockOptions.d.ts +92 -0
  381. package/lib/mocks/views/ChartMockOptions.js +107 -0
  382. package/lib/mocks/views/DashboardMock.d.ts +2 -0
  383. package/lib/mocks/views/DashboardMock.js +123 -0
  384. package/lib/mocks/views/FormMock.d.ts +5 -0
  385. package/lib/mocks/views/FormMock.js +33 -0
  386. package/lib/mocks/views/TableMock.d.ts +5 -0
  387. package/lib/mocks/views/TableMock.js +160 -0
  388. package/lib/mocks/views/WipMock.d.ts +5 -0
  389. package/lib/mocks/views/WipMock.js +17 -0
  390. package/lib/mocks/views/index.d.ts +7 -0
  391. package/lib/mocks/views/index.js +16 -0
  392. package/lib/models/AIAgent.d.ts +17 -0
  393. package/lib/models/AIAgent.js +5 -0
  394. package/lib/models/Account.d.ts +4 -0
  395. package/lib/models/Account.js +5 -0
  396. package/lib/models/Assignment.d.ts +7 -0
  397. package/lib/models/Assignment.js +5 -0
  398. package/lib/models/Base.d.ts +16 -0
  399. package/lib/models/Base.js +5 -0
  400. package/lib/models/Cell.d.ts +8 -0
  401. package/lib/models/Cell.js +5 -0
  402. package/lib/models/CodeBlock.d.ts +10 -0
  403. package/lib/models/CodeBlock.js +5 -0
  404. package/lib/models/CodefeedBlocks.d.ts +7 -0
  405. package/lib/models/CodefeedBlocks.js +5 -0
  406. package/lib/models/Contact.d.ts +73 -0
  407. package/lib/models/Contact.js +95 -0
  408. package/lib/models/ContactEvent.d.ts +10 -0
  409. package/lib/models/ContactEvent.js +19 -0
  410. package/lib/models/ContactIAMProvider.d.ts +12 -0
  411. package/lib/models/ContactIAMProvider.js +20 -0
  412. package/lib/models/ContactTags.d.ts +23 -0
  413. package/lib/models/ContactTags.js +73 -0
  414. package/lib/models/Content.d.ts +5 -0
  415. package/lib/models/Content.js +5 -0
  416. package/lib/models/Course.d.ts +17 -0
  417. package/lib/models/Course.js +5 -0
  418. package/lib/models/Credits.d.ts +76 -0
  419. package/lib/models/Credits.js +16 -0
  420. package/lib/models/Dataset.d.ts +16 -0
  421. package/lib/models/Dataset.js +5 -0
  422. package/lib/models/Datasource.d.ts +11 -0
  423. package/lib/models/Datasource.js +19 -0
  424. package/lib/models/Dean.d.ts +3 -0
  425. package/lib/models/Dean.js +5 -0
  426. package/lib/models/Document.d.ts +8 -0
  427. package/lib/models/Document.js +5 -0
  428. package/lib/models/Environment.d.ts +82 -0
  429. package/lib/models/Environment.js +5 -0
  430. package/lib/models/Errors.d.ts +6 -0
  431. package/lib/models/Errors.js +18 -0
  432. package/lib/models/Exercise.d.ts +16 -0
  433. package/lib/models/Exercise.js +5 -0
  434. package/lib/models/GrowthKPI.d.ts +5 -0
  435. package/lib/models/GrowthKPI.js +14 -0
  436. package/lib/models/IAMProviderLinked.d.ts +9 -0
  437. package/lib/models/IAMProviderLinked.js +13 -0
  438. package/lib/models/IAMProviderPost.d.ts +8 -0
  439. package/lib/models/IAMProviderPost.js +22 -0
  440. package/lib/models/IAMProviderUsers.d.ts +49 -0
  441. package/lib/models/IAMProviderUsers.js +34 -0
  442. package/lib/models/IAMProvidersSpecs.d.ts +22 -0
  443. package/lib/models/IAMProvidersSpecs.js +72 -0
  444. package/lib/models/IAMToken.d.ts +11 -0
  445. package/lib/models/IAMToken.js +19 -0
  446. package/lib/models/Inbound.d.ts +25 -0
  447. package/lib/models/Inbound.js +34 -0
  448. package/lib/models/Instructor.d.ts +3 -0
  449. package/lib/models/Instructor.js +5 -0
  450. package/lib/models/Invite.d.ts +14 -0
  451. package/lib/models/Invite.js +24 -0
  452. package/lib/models/Item.d.ts +20 -0
  453. package/lib/models/Item.js +5 -0
  454. package/lib/models/ItemType.d.ts +2 -0
  455. package/lib/models/ItemType.js +5 -0
  456. package/lib/models/LandingRoles.d.ts +3 -0
  457. package/lib/models/LandingRoles.js +32 -0
  458. package/lib/models/Lesson.d.ts +5 -0
  459. package/lib/models/Lesson.js +5 -0
  460. package/lib/models/Library.d.ts +10 -0
  461. package/lib/models/Library.js +5 -0
  462. package/lib/models/Member.d.ts +3 -0
  463. package/lib/models/Member.js +5 -0
  464. package/lib/models/Notebook.d.ts +11 -0
  465. package/lib/models/Notebook.js +5 -0
  466. package/lib/models/Organization.d.ts +27 -0
  467. package/lib/models/Organization.js +41 -0
  468. package/lib/models/OrganizationMember.d.ts +6 -0
  469. package/lib/models/OrganizationMember.js +5 -0
  470. package/lib/models/Outbound.d.ts +41 -0
  471. package/lib/models/Outbound.js +50 -0
  472. package/lib/models/Page.d.ts +36 -0
  473. package/lib/models/Page.js +23 -0
  474. package/lib/models/PageTag.d.ts +19 -0
  475. package/lib/models/PageTag.js +26 -0
  476. package/lib/models/Profile.d.ts +1 -0
  477. package/lib/models/Profile.js +5 -0
  478. package/lib/models/Role.d.ts +9 -0
  479. package/lib/models/Role.js +5 -0
  480. package/lib/models/RolesOrganization.d.ts +9 -0
  481. package/lib/models/RolesOrganization.js +63 -0
  482. package/lib/models/RolesPlatform.d.ts +16 -0
  483. package/lib/models/RolesPlatform.js +147 -0
  484. package/lib/models/RolesTeam.d.ts +7 -0
  485. package/lib/models/RolesTeam.js +39 -0
  486. package/lib/models/Runtime.d.ts +65 -0
  487. package/lib/models/Runtime.js +16 -0
  488. package/lib/models/RuntimeSnapshot.d.ts +92 -0
  489. package/lib/models/RuntimeSnapshot.js +13 -0
  490. package/lib/models/School.d.ts +11 -0
  491. package/lib/models/School.js +5 -0
  492. package/lib/models/Secret.d.ts +10 -0
  493. package/lib/models/Secret.js +18 -0
  494. package/lib/models/Space.d.ts +34 -0
  495. package/lib/models/Space.js +39 -0
  496. package/lib/models/SpaceItem.d.ts +10 -0
  497. package/lib/models/SpaceItem.js +5 -0
  498. package/lib/models/SpaceMember.d.ts +6 -0
  499. package/lib/models/SpaceMember.js +5 -0
  500. package/lib/models/Student.d.ts +6 -0
  501. package/lib/models/Student.js +5 -0
  502. package/lib/models/StudentItem.d.ts +21 -0
  503. package/lib/models/StudentItem.js +5 -0
  504. package/lib/models/Survey.d.ts +20 -0
  505. package/lib/models/Survey.js +19 -0
  506. package/lib/models/Team.d.ts +22 -0
  507. package/lib/models/Team.js +37 -0
  508. package/lib/models/TeamMember.d.ts +6 -0
  509. package/lib/models/TeamMember.js +5 -0
  510. package/lib/models/URN.d.ts +63 -0
  511. package/lib/models/URN.js +45 -0
  512. package/lib/models/Usage.d.ts +46 -0
  513. package/lib/models/Usage.js +21 -0
  514. package/lib/models/User.d.ts +71 -0
  515. package/lib/models/User.js +103 -0
  516. package/lib/models/UserEvent.d.ts +10 -0
  517. package/lib/models/UserEvent.js +19 -0
  518. package/lib/models/UserOnboarding.d.ts +14 -0
  519. package/lib/models/UserOnboarding.js +24 -0
  520. package/lib/models/UserSettings.d.ts +16 -0
  521. package/lib/models/UserSettings.js +32 -0
  522. package/lib/models/WaitingListFormData.d.ts +6 -0
  523. package/lib/models/WaitingListFormData.js +5 -0
  524. package/lib/models/index.d.ts +65 -0
  525. package/lib/models/index.js +74 -0
  526. package/lib/routes/Routes.d.ts +3 -0
  527. package/lib/routes/Routes.js +12 -0
  528. package/lib/routes/index.d.ts +1 -0
  529. package/lib/routes/index.js +10 -0
  530. package/lib/state/State.d.ts +33 -0
  531. package/lib/state/State.js +49 -0
  532. package/lib/state/index.d.ts +3 -0
  533. package/lib/state/index.js +12 -0
  534. package/lib/state/storage/IAMStorage.d.ts +33 -0
  535. package/lib/state/storage/IAMStorage.js +81 -0
  536. package/lib/state/storage/index.d.ts +1 -0
  537. package/lib/state/storage/index.js +10 -0
  538. package/lib/state/substates/AIAgentState.d.ts +11 -0
  539. package/lib/state/substates/AIAgentState.js +45 -0
  540. package/lib/state/substates/CellState.d.ts +12 -0
  541. package/lib/state/substates/CellState.js +26 -0
  542. package/lib/state/substates/CoreState.d.ts +25 -0
  543. package/lib/state/substates/CoreState.js +93 -0
  544. package/lib/state/substates/DatasourceState.d.ts +11 -0
  545. package/lib/state/substates/DatasourceState.js +21 -0
  546. package/lib/state/substates/DocumentState.d.ts +10 -0
  547. package/lib/state/substates/DocumentState.js +19 -0
  548. package/lib/state/substates/GradeState.d.ts +10 -0
  549. package/lib/state/substates/GradeState.js +19 -0
  550. package/lib/state/substates/IAMState.d.ts +75 -0
  551. package/lib/state/substates/IAMState.js +294 -0
  552. package/lib/state/substates/JupyterLabState.d.ts +16 -0
  553. package/lib/state/substates/JupyterLabState.js +22 -0
  554. package/lib/state/substates/LayoutState.d.ts +62 -0
  555. package/lib/state/substates/LayoutState.js +74 -0
  556. package/lib/state/substates/NbformatState.d.ts +13 -0
  557. package/lib/state/substates/NbformatState.js +21 -0
  558. package/lib/state/substates/OrganizationState.d.ts +11 -0
  559. package/lib/state/substates/OrganizationState.js +21 -0
  560. package/lib/state/substates/RuntimesState.d.ts +88 -0
  561. package/lib/state/substates/RuntimesState.js +183 -0
  562. package/lib/state/substates/SpaceState.d.ts +11 -0
  563. package/lib/state/substates/SpaceState.js +21 -0
  564. package/lib/state/substates/SurveysState.d.ts +14 -0
  565. package/lib/state/substates/SurveysState.js +103 -0
  566. package/lib/state/substates/TeamState.d.ts +11 -0
  567. package/lib/state/substates/TeamState.js +22 -0
  568. package/lib/state/substates/index.d.ts +15 -0
  569. package/lib/state/substates/index.js +24 -0
  570. package/lib/test-setup.d.ts +1 -0
  571. package/lib/test-setup.js +7 -0
  572. package/lib/theme/DatalayerTheme.d.ts +37 -0
  573. package/lib/theme/DatalayerTheme.js +67 -0
  574. package/lib/theme/DatalayerThemeProvider.d.ts +17 -0
  575. package/lib/theme/DatalayerThemeProvider.js +74 -0
  576. package/lib/theme/Palette.d.ts +5 -0
  577. package/lib/theme/Palette.js +27 -0
  578. package/lib/theme/index.d.ts +3 -0
  579. package/lib/theme/index.js +12 -0
  580. package/lib/utils/Array.d.ts +2 -0
  581. package/lib/utils/Array.js +21 -0
  582. package/lib/utils/Avatar.d.ts +9 -0
  583. package/lib/utils/Avatar.js +39 -0
  584. package/lib/utils/Browser.d.ts +3 -0
  585. package/lib/utils/Browser.js +68 -0
  586. package/lib/utils/Cells.d.ts +2 -0
  587. package/lib/utils/Cells.js +28 -0
  588. package/lib/utils/Cookie.d.ts +12 -0
  589. package/lib/utils/Cookie.js +53 -0
  590. package/lib/utils/Date.d.ts +2 -0
  591. package/lib/utils/Date.js +65 -0
  592. package/lib/utils/Download.d.ts +3 -0
  593. package/lib/utils/Download.js +53 -0
  594. package/lib/utils/DownloadFile.d.ts +10 -0
  595. package/lib/utils/DownloadFile.js +41 -0
  596. package/lib/utils/Env.d.ts +1 -0
  597. package/lib/utils/Env.js +12 -0
  598. package/lib/utils/File.d.ts +7 -0
  599. package/lib/utils/File.js +21 -0
  600. package/lib/utils/Format.d.ts +17 -0
  601. package/lib/utils/Format.js +54 -0
  602. package/lib/utils/Ids.d.ts +2 -0
  603. package/lib/utils/Ids.js +17 -0
  604. package/lib/utils/Jupyter.d.ts +1 -0
  605. package/lib/utils/Jupyter.js +17 -0
  606. package/lib/utils/Lazy.d.ts +8 -0
  607. package/lib/utils/Lazy.js +29 -0
  608. package/lib/utils/Msc.d.ts +16 -0
  609. package/lib/utils/Msc.js +28 -0
  610. package/lib/utils/Name.d.ts +7 -0
  611. package/lib/utils/Name.js +39 -0
  612. package/lib/utils/Notebook.d.ts +19 -0
  613. package/lib/utils/Notebook.js +37 -0
  614. package/lib/utils/Number.d.ts +1 -0
  615. package/lib/utils/Number.js +26 -0
  616. package/lib/utils/Plots.d.ts +16 -0
  617. package/lib/utils/Plots.js +56 -0
  618. package/lib/utils/Random.d.ts +1 -0
  619. package/lib/utils/Random.js +12 -0
  620. package/lib/utils/Screenshot.d.ts +1 -0
  621. package/lib/utils/Screenshot.js +32 -0
  622. package/lib/utils/Scroll.d.ts +2 -0
  623. package/lib/utils/Scroll.js +36 -0
  624. package/lib/utils/Sleep.d.ts +2 -0
  625. package/lib/utils/Sleep.js +13 -0
  626. package/lib/utils/Snapshot.d.ts +7 -0
  627. package/lib/utils/Snapshot.js +26 -0
  628. package/lib/utils/String.d.ts +1 -0
  629. package/lib/utils/String.js +18 -0
  630. package/lib/utils/Uri.d.ts +2 -0
  631. package/lib/utils/Uri.js +31 -0
  632. package/lib/utils/Validator.d.ts +12 -0
  633. package/lib/utils/Validator.js +49 -0
  634. package/lib/utils/WithSuspense.d.ts +2 -0
  635. package/lib/utils/WithSuspense.js +26 -0
  636. package/lib/utils/index.d.ts +26 -0
  637. package/lib/utils/index.js +36 -0
  638. package/package.json +43 -4
  639. package/style/base.css +0 -5
  640. package/style/index.css +0 -7
  641. package/style/index.js +0 -7
package/README.md CHANGED
@@ -1,19 +1,188 @@
1
+ **Datalayer Core**
2
+
3
+ ---
4
+
1
5
  [![Datalayer](https://assets.datalayer.tech/datalayer-25.svg)](https://datalayer.io)
2
6
 
3
7
  [![Become a Sponsor](https://img.shields.io/static/v1?label=Become%20a%20Sponsor&message=%E2%9D%A4&logo=GitHub&style=flat&color=1ABC9C)](https://github.com/sponsors/datalayer)
4
8
 
5
9
  # Ξ Datalayer Core
6
10
 
7
- Datalayer Core is the base foundation package used by many other Datalayer packages.
11
+ <p align="center">
12
+ <img src="https://assets.datalayer.tech/datalayer-25.svg" alt="Datalayer Logo" width="200"></img>
13
+ </p>
14
+
15
+ <p align="center">
16
+ <strong>The foundational Python SDK for the Datalayer AI Platform</strong>
17
+ </p>
18
+
19
+ <p align="center">
20
+ <a href="https://pypi.org/project/datalayer-core/"><img src="https://img.shields.io/pypi/v/datalayer-core.svg" alt="PyPI version"></img></a>
21
+ <a href="https://pypi.org/project/datalayer-core/"><img src="https://img.shields.io/pypi/pyversions/datalayer-core.svg" alt="Python versions"></img></a>
22
+ <a href="https://github.com/datalayer/core/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-BSD%203--Clause-blue.svg" alt="License"></img></a>
23
+ <a href="https://docs.datalayer.app/"><img src="https://img.shields.io/badge/docs-datalayer.app-blue" alt="Documentation"></img></a>
24
+ <a href="https://github.com/datalayer/core/actions/workflows/tests.yml"><img src="https://github.com/datalayer/core/actions/workflows/tests.yml/badge.svg" alt="Units Tests"></img></a>
25
+ </p>
26
+
27
+ ## Overview
28
+
29
+ Datalayer Core is the foundational package that powers the [Datalayer AI Platform](https://datalayer.app/). It provides both a Python SDK and Command Line Interface (CLI) for AI engineers, data scientists, and researchers to seamlessly integrate scalable compute runtimes into their workflows.
30
+
31
+ This package serves as the base foundation used by many other Datalayer packages, containing core application classes, configuration, and unified APIs for authentication, runtime management, and code execution in cloud-based environments.
32
+
33
+ ## Key Features
34
+
35
+ - **🔐 Simple Authentication**: Easy token-based authentication with environment variable support
36
+ - **⚡ Runtime Management**: Create and manage scalable compute runtimes (CPU/GPU) for code execution
37
+ - **📸 Snapshot Management**: Create and manage compute snapshots of your runtimes for reproducible environments
38
+ - **🔒 Secrets Management**: Securely handle sensitive data and credentials in your workflows
39
+ - **🐍 Python SDK**: Programmatic access to Datalayer platform with context managers and clean resource management
40
+ - **💻 Command Line Interface**: CLI tools for managing runtimes, snapshots, and platform resources
41
+ - **🔧 Base Classes**: Core application classes and configuration inherited by other Datalayer projects
42
+
43
+ ## Installation
44
+
45
+ Install Datalayer Core using pip:
46
+
47
+ ```bash
48
+ pip install datalayer-core
49
+ ```
50
+
51
+ For development installation:
52
+
53
+ ```bash
54
+ git clone https://github.com/datalayer/core.git
55
+ cd core
56
+ pip install -e .[test]
57
+ ```
58
+
59
+ ## Quick Start
60
+
61
+ ### 1. Authentication
62
+
63
+ Set your Datalayer token as an environment variable:
64
+
65
+ ```bash
66
+ export DATALAYER_TOKEN="your-token-here"
67
+ ```
68
+
69
+ Or pass it directly to the SDK:
70
+
71
+ ```python
72
+ from datalayer_core import DatalayerClient
73
+
74
+ # Using environment variable
75
+ client = DatalayerClient()
76
+
77
+ # Or pass token directly
78
+ client = DatalayerClient(token="your-token-here")
79
+
80
+ if client.authenticate():
81
+ print("Successfully authenticated!")
82
+ ```
83
+
84
+ ### 2. Execute Code in a Runtime
85
+
86
+ Use context managers to create runtimes and ensure proper resource cleanup:
8
87
 
9
- It contains base application classes and configuration inherited by other projects.
88
+ ```python
89
+ from datalayer_core import DatalayerClient
10
90
 
11
- ## Develop
91
+ client = DatalayerClient()
92
+
93
+ # Execute code in a managed runtime
94
+ with client.create_runtime() as runtime:
95
+ response = runtime.execute("print('Hello from Datalayer!')")
96
+ print(response.stdout)
97
+ ```
98
+
99
+ ### 3. Using the CLI
100
+
101
+ The CLI provides command-line access to Datalayer platform features:
102
+
103
+ ```bash
104
+ # List available runtimes
105
+ datalayer runtime list
106
+
107
+ # Create a new runtime
108
+ datalayer runtime create ai-env --given-name my-runtime-123
109
+
110
+ # Execute a script in a runtime
111
+ datalayer runtime exec my-script.py --runtime <runtime-id>
112
+
113
+ # Create a snapshot from a runtime but do not terminate the runtime
114
+ datalayer snapshots create <pod-name> my-snapshot 'AI work!' False
115
+ ```
116
+
117
+ ## Platform Integration
118
+
119
+ Datalayer adds AI capabilities and scalable compute runtimes to your development workflows. The platform is designed to seamlessly integrate into your existing processes and supercharge your computations with the processing power you need.
120
+
121
+ Key platform features accessible through this SDK and CLI:
122
+
123
+ - **Remote Runtimes**: Execute code on powerful remote machines with CPU, RAM, and GPU resources
124
+ - **Multiple Interfaces**: Access and consume runtimes through Python SDK, CLI, or other integrated tools
125
+ - **Scalable Compute**: Dynamically scale your computational resources based on workload requirements
126
+
127
+ ## Documentation
128
+
129
+ - **Command Line Interface (CLI)**: [https://docs.datalayer.app/cli/](https://docs.datalayer.app/cli/)
130
+ - **Core Python SDK**: [core.datalayer.tech/python/](https://core.datalayer.tech/python/)
131
+ - **Platform Documentation**: [docs.datalayer.app](https://docs.datalayer.app/)
132
+ - **API Reference**: [API documentation](https://docs.datalayer.app/api/)
133
+
134
+ ## Development
135
+
136
+ ### Running Tests
12
137
 
13
138
  ```bash
14
139
  pip install -e .[test]
15
- # jupyter server extension enable datalayer
16
- jupyter server extension list
17
- # open http://localhost:8888/api/jupyter?token=60c1661cc408f978c309d04157af55c9588ff9557c9380e4fb50785750703da6
18
- make start
140
+ pytest datalayer_core/tests/
19
141
  ```
142
+
143
+ ### Contributing
144
+
145
+ This SDK is designed to be simple and extensible. We welcome contributions! Please:
146
+
147
+ 1. Fork the repository
148
+ 2. Create a feature branch
149
+ 3. Make your changes
150
+ 4. Add tests for new functionality
151
+ 5. Submit a pull request
152
+
153
+ For issues and enhancement requests, please use the [GitHub issue tracker](https://github.com/datalayer/core/issues).
154
+
155
+ ## Architecture
156
+
157
+ Datalayer Core serves as the foundation for the entire Datalayer ecosystem:
158
+
159
+ - **Base Classes**: Core application classes inherited by other Datalayer packages
160
+ - **Configuration Management**: Centralized configuration system for all Datalayer components
161
+ - **Authentication Layer**: Unified authentication across all Datalayer services
162
+ - **Runtime Abstraction**: Common interface for different types of compute runtimes
163
+ - **Resource Management**: Automatic cleanup and lifecycle management
164
+
165
+ ## Use Cases
166
+
167
+ - **AI/ML Development**: Scale your machine learning workflows with cloud compute using SDK or CLI
168
+ - **Data Analysis**: Process large datasets with powerful remote runtimes
169
+ - **Research**: Collaborate on computational research with reproducible environments
170
+ - **Automation**: Integrate Datalayer into CI/CD pipelines and automated workflows using CLI tools
171
+ - **Prototyping**: Quickly test ideas without local hardware limitations
172
+
173
+ ## License
174
+
175
+ This project is licensed under the [BSD 3-Clause License](https://github.com/datalayer/core/blob/main/LICENSE).
176
+
177
+ ## Support
178
+
179
+ - **Documentation**: [Datalayer Platform Documentation](https://docs.datalayer.app/)
180
+ - **Issues**: [GitHub Issues](https://github.com/datalayer/core/issues)
181
+ - **Community**: [Datalayer Platform](https://datalayer.app/)
182
+
183
+ ---
184
+
185
+ <p align="center">
186
+ <strong>🚀 AI Platform for Data Analysis</strong><br></br>
187
+ <a href="https://datalayer.app/">Get started with Datalayer today!</a>
188
+ </p>
package/lib/App.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import './App.css';
2
+ export declare function App(): import("react/jsx-runtime").JSX.Element;
3
+ export default App;
package/lib/App.js CHANGED
@@ -1,4 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /*
3
+ * Copyright (c) 2023-2025 Datalayer, Inc.
4
+ * Distributed under the terms of the Modified BSD License.
5
+ */
2
6
  import { useState } from 'react';
3
7
  import reactLogo from './assets/react.svg';
4
8
  import viteLogo from '/vite.svg';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ /*
2
+ * Copyright (c) 2023-2025 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ import { describe, it, expect } from 'vitest';
6
+ import { App } from '../App';
7
+ describe('App Component', () => {
8
+ it('should be a function component', () => {
9
+ expect(typeof App).toBe('function');
10
+ });
11
+ it('should be defined', () => {
12
+ expect(App).toBeDefined();
13
+ });
14
+ it('component name should be App', () => {
15
+ expect(App.name).toBe('App');
16
+ });
17
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,19 @@
1
+ /*
2
+ * Copyright (c) 2023-2025 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ import { describe, it, expect } from 'vitest';
6
+ import { useCache } from '../hooks';
7
+ describe('hooks', () => {
8
+ it('should export qfds constant', () => {
9
+ expect(useCache).toBeDefined();
10
+ });
11
+ /*
12
+ it('useCache should have correct value', () => {
13
+ expect(useCache).toBe('');
14
+ });
15
+ it('useCache should be a string', () => {
16
+ expect(typeof useCache).toBe('string');
17
+ });
18
+ */
19
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,26 @@
1
+ /*
2
+ * Copyright (c) 2023-2025 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ import { describe, it, expect } from 'vitest';
6
+ import * as coreIndex from '../index';
7
+ describe('@datalayer/core - index', () => {
8
+ it('should export App', () => {
9
+ expect(coreIndex.App).toBeDefined();
10
+ expect(typeof coreIndex.App).toBe('function');
11
+ });
12
+ it('should export BackdropContext from hooks', () => {
13
+ expect(coreIndex.BackdropContext).toBeDefined();
14
+ expect(coreIndex.BackdropContext).toBe('lkj');
15
+ });
16
+ it('should export utils functions', () => {
17
+ expect(coreIndex.convertToLargestUnit).toBeDefined();
18
+ expect(coreIndex.asArray).toBeDefined();
19
+ });
20
+ it('should have all expected exports', () => {
21
+ const exports = Object.keys(coreIndex);
22
+ expect(exports).toContain('App');
23
+ expect(exports).toContain('convertToLargestUnit');
24
+ expect(exports).toContain('asArray');
25
+ });
26
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,57 @@
1
+ /*
2
+ * Copyright (c) 2023-2025 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ import { describe, it, expect } from 'vitest';
6
+ describe('@datalayer/core - Integration Tests', () => {
7
+ it('should have proper TypeScript compilation', () => {
8
+ // This test ensures TypeScript compilation is working
9
+ const testNumber = 42;
10
+ const testString = 'hello';
11
+ const testBoolean = true;
12
+ expect(typeof testNumber).toBe('number');
13
+ expect(typeof testString).toBe('string');
14
+ expect(typeof testBoolean).toBe('boolean');
15
+ });
16
+ it('should support modern JavaScript features', () => {
17
+ // Test arrow functions
18
+ const add = (a, b) => a + b;
19
+ expect(add(2, 3)).toBe(5);
20
+ // Test template literals
21
+ const name = 'Datalayer';
22
+ const greeting = `Hello, ${name}!`;
23
+ expect(greeting).toBe('Hello, Datalayer!');
24
+ // Test destructuring
25
+ const obj = { x: 1, y: 2 };
26
+ const { x, y } = obj;
27
+ expect(x).toBe(1);
28
+ expect(y).toBe(2);
29
+ // Test spread operator
30
+ const arr1 = [1, 2, 3];
31
+ const arr2 = [...arr1, 4, 5];
32
+ expect(arr2).toEqual([1, 2, 3, 4, 5]);
33
+ });
34
+ it('should support async/await', async () => {
35
+ const asyncFunction = async () => {
36
+ return new Promise(resolve => {
37
+ setTimeout(() => resolve('async result'), 10);
38
+ });
39
+ };
40
+ const result = await asyncFunction();
41
+ expect(result).toBe('async result');
42
+ });
43
+ it('should support generics', () => {
44
+ function identity(arg) {
45
+ return arg;
46
+ }
47
+ expect(identity('test')).toBe('test');
48
+ expect(identity(123)).toBe(123);
49
+ expect(identity(true)).toBe(true);
50
+ });
51
+ it('should handle error cases', () => {
52
+ const throwError = () => {
53
+ throw new Error('Test error');
54
+ };
55
+ expect(throwError).toThrow('Test error');
56
+ });
57
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,59 @@
1
+ /*
2
+ * Copyright (c) 2023-2025 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ import { describe, it, expect } from 'vitest';
6
+ import { formatString, addNumbers, isDefined, delay } from '../utils';
7
+ describe('utils', () => {
8
+ describe('formatString', () => {
9
+ it('should trim and lowercase strings', () => {
10
+ expect(formatString(' HELLO WORLD ')).toBe('hello world');
11
+ });
12
+ it('should handle empty strings', () => {
13
+ expect(formatString('')).toBe('');
14
+ });
15
+ it('should handle already formatted strings', () => {
16
+ expect(formatString('hello')).toBe('hello');
17
+ });
18
+ });
19
+ describe('addNumbers', () => {
20
+ it('should add positive numbers', () => {
21
+ expect(addNumbers(2, 3)).toBe(5);
22
+ });
23
+ it('should add negative numbers', () => {
24
+ expect(addNumbers(-2, -3)).toBe(-5);
25
+ });
26
+ it('should add zero', () => {
27
+ expect(addNumbers(5, 0)).toBe(5);
28
+ });
29
+ it('should handle decimals', () => {
30
+ expect(addNumbers(1.5, 2.5)).toBe(4);
31
+ });
32
+ });
33
+ describe('isDefined', () => {
34
+ it('should return true for defined values', () => {
35
+ expect(isDefined('hello')).toBe(true);
36
+ expect(isDefined(0)).toBe(true);
37
+ expect(isDefined(false)).toBe(true);
38
+ expect(isDefined([])).toBe(true);
39
+ });
40
+ it('should return false for undefined', () => {
41
+ expect(isDefined(undefined)).toBe(false);
42
+ });
43
+ it('should return false for null', () => {
44
+ expect(isDefined(null)).toBe(false);
45
+ });
46
+ });
47
+ describe('delay', () => {
48
+ it('should resolve after specified time', async () => {
49
+ const start = Date.now();
50
+ await delay(100);
51
+ const end = Date.now();
52
+ expect(end - start).toBeGreaterThanOrEqual(90); // Allow some tolerance
53
+ });
54
+ it('should return a Promise', () => {
55
+ const result = delay(1);
56
+ expect(result).toBeInstanceOf(Promise);
57
+ });
58
+ });
59
+ });
@@ -0,0 +1,75 @@
1
+ /**
2
+ * A wrapped error for a fetch response.
3
+ */
4
+ export declare class RunResponseError extends Error {
5
+ /**
6
+ * Create a RunResponseError from a response, handling the traceback and message
7
+ * as appropriate.
8
+ *
9
+ * @param response The response object.
10
+ *
11
+ * @returns A promise that resolves with a `RunResponseError` object.
12
+ */
13
+ static create(response: Response): Promise<RunResponseError>;
14
+ /**
15
+ * Create a new response error.
16
+ */
17
+ constructor(response: Response, message?: string, warnings?: undefined, errors?: undefined, exceptionMessage?: undefined, traceback?: string);
18
+ /**
19
+ * Warnings listed in the response.
20
+ */
21
+ readonly warnings: string[];
22
+ /**
23
+ * Errors listed in the response.
24
+ */
25
+ readonly errors: string[];
26
+ /**
27
+ * The response associated with the error.
28
+ */
29
+ readonly response: Response;
30
+ /**
31
+ * The exception associated with the error.
32
+ */
33
+ readonly exceptionMessage?: string;
34
+ /**
35
+ * The traceback associated with the error.
36
+ */
37
+ readonly traceback: string;
38
+ private static _defaultMessage;
39
+ }
40
+ /**
41
+ * A wrapped error for a network error.
42
+ */
43
+ export declare class NetworkError extends TypeError {
44
+ /**
45
+ * Create a new network error.
46
+ */
47
+ constructor(original: TypeError);
48
+ }
49
+ export interface IRequestRunAPIOptions {
50
+ /**
51
+ * URL to request
52
+ */
53
+ url: string;
54
+ /**
55
+ * HTTP method
56
+ */
57
+ method?: string;
58
+ /**
59
+ * JSON-serializable object
60
+ */
61
+ body?: any;
62
+ /**
63
+ * Headers
64
+ */
65
+ headers?: Record<string, string>;
66
+ /**
67
+ * Authorization bearer token
68
+ */
69
+ token?: string;
70
+ /**
71
+ * Request abort signal.
72
+ */
73
+ signal?: AbortSignal;
74
+ }
75
+ export declare function requestRunAPI<T = any>({ url, method, body, token, signal, headers }: IRequestRunAPIOptions): Promise<T>;
@@ -0,0 +1,150 @@
1
+ /*
2
+ * Copyright (c) 2023-2025 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /*
6
+ * Copyright (c) 2021-2024 Datalayer, Inc.
7
+ *
8
+ * Datalayer License
9
+ */
10
+ import { URLExt } from '@jupyterlab/coreutils';
11
+ import { sleep } from '../utils';
12
+ /**
13
+ * A wrapped error for a fetch response.
14
+ */
15
+ export class RunResponseError extends Error {
16
+ /**
17
+ * Create a RunResponseError from a response, handling the traceback and message
18
+ * as appropriate.
19
+ *
20
+ * @param response The response object.
21
+ *
22
+ * @returns A promise that resolves with a `RunResponseError` object.
23
+ */
24
+ static async create(response) {
25
+ try {
26
+ const data = await response.json();
27
+ const { message, errors, warnings, traceback, exception } = data;
28
+ if (traceback) {
29
+ console.error(traceback);
30
+ }
31
+ const responseError = new RunResponseError(response, message ?? RunResponseError._defaultMessage(response), warnings, errors, exception, traceback ?? '');
32
+ return responseError;
33
+ }
34
+ catch (e) {
35
+ console.debug(e);
36
+ return new RunResponseError(response);
37
+ }
38
+ }
39
+ /**
40
+ * Create a new response error.
41
+ */
42
+ constructor(response, message = RunResponseError._defaultMessage(response), warnings = undefined, errors = undefined, exceptionMessage = undefined, traceback = '') {
43
+ super(message);
44
+ this.name = 'RunResponseError';
45
+ this.warnings = warnings ?? [];
46
+ this.errors = errors ?? [];
47
+ this.response = response;
48
+ this.exceptionMessage = exceptionMessage;
49
+ this.traceback = traceback;
50
+ }
51
+ /**
52
+ * Warnings listed in the response.
53
+ */
54
+ warnings;
55
+ /**
56
+ * Errors listed in the response.
57
+ */
58
+ errors;
59
+ /**
60
+ * The response associated with the error.
61
+ */
62
+ response;
63
+ /**
64
+ * The exception associated with the error.
65
+ */
66
+ exceptionMessage;
67
+ /**
68
+ * The traceback associated with the error.
69
+ */
70
+ traceback;
71
+ static _defaultMessage(response) {
72
+ return `Invalid response: ${response.status} ${response.statusText}`;
73
+ }
74
+ }
75
+ /**
76
+ * A wrapped error for a network error.
77
+ */
78
+ export class NetworkError extends TypeError {
79
+ /**
80
+ * Create a new network error.
81
+ */
82
+ constructor(original) {
83
+ super(original.message);
84
+ this.name = 'NetworkError';
85
+ this.stack = original.stack;
86
+ }
87
+ }
88
+ export async function requestRunAPI({ url, method, body, token, signal, headers = {} }) {
89
+ const headers_ = new Headers(headers);
90
+ if (!headers_.has('Accept')) {
91
+ headers_.set('Accept', 'application/json');
92
+ }
93
+ if (!headers_.has('Content-Type')) {
94
+ headers_.set('Content-Type', 'application/json');
95
+ }
96
+ if (token) {
97
+ headers_.set('Authorization', `Bearer ${token}`);
98
+ }
99
+ // headers_.set('Origin', currentUri());
100
+ let response;
101
+ try {
102
+ response = await fetch(url, {
103
+ method: method ?? 'GET',
104
+ headers: headers_,
105
+ body: body ? JSON.stringify(body) : undefined,
106
+ // credentials: token ? 'include' : 'omit',
107
+ credentials: 'include',
108
+ mode: 'cors',
109
+ cache: 'no-store',
110
+ signal
111
+ });
112
+ }
113
+ catch (error) {
114
+ throw new NetworkError(error);
115
+ }
116
+ if (response.ok) {
117
+ response = await wait_for_redirection(response, url, headers_);
118
+ const content = await response.text();
119
+ return (content ? JSON.parse(content) : null);
120
+ }
121
+ else {
122
+ throw await RunResponseError.create(response);
123
+ }
124
+ }
125
+ async function wait_for_redirection(response, url, headers_) {
126
+ let redirect = response.headers.get('Location');
127
+ if (redirect) {
128
+ const parsedURL = URLExt.parse(url);
129
+ const baseUrl = parsedURL.protocol + '//' + parsedURL.hostname;
130
+ if (!redirect.startsWith(baseUrl)) {
131
+ redirect = URLExt.join(baseUrl, redirect);
132
+ }
133
+ }
134
+ let sleepTimeout = 1000;
135
+ while (response.status === 202 && redirect) {
136
+ await sleep(sleepTimeout);
137
+ sleepTimeout *= 2;
138
+ response = await fetch(redirect, {
139
+ method: 'GET',
140
+ headers: headers_,
141
+ credentials: 'include',
142
+ mode: 'cors',
143
+ cache: 'no-store'
144
+ });
145
+ if (!response.ok) {
146
+ throw await RunResponseError.create(response);
147
+ }
148
+ }
149
+ return response;
150
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./runtimes";
2
+ export * from "./RunApi";
@@ -0,0 +1,11 @@
1
+ /*
2
+ * Copyright (c) 2023-2025 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /*
6
+ * Copyright (c) 2021-2024 Datalayer, Inc.
7
+ *
8
+ * Datalayer License
9
+ */
10
+ export * from "./runtimes";
11
+ export * from "./RunApi";
@@ -0,0 +1,5 @@
1
+ export declare function listVariables(): string;
2
+ export declare function saveVariables(variables: string[]): string;
3
+ export declare function loadVariables(variables: string): string;
4
+ export declare function changeCurrentWorkingDirectory(path: string): string;
5
+ export declare function getOutputCandidates(code: string): string[];