code-sandboxes 1.9.5__tar.gz → 1.9.6__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 (262) hide show
  1. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/CHANGELOG.md +8 -0
  2. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/PKG-INFO +1 -1
  3. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/__version__.py +1 -1
  4. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/bases.py +10 -4
  5. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_bases.py +3 -2
  6. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/.github/workflows/build.yml +0 -0
  7. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/.github/workflows/environments-live.yml +0 -0
  8. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/.github/workflows/py-code-style.yml +0 -0
  9. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/.github/workflows/py-tests.yml +0 -0
  10. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/.github/workflows/py-typing.yml +0 -0
  11. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/.github/workflows/reusable-python.yml +0 -0
  12. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/.gitignore +0 -0
  13. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/.licenserc.yaml +0 -0
  14. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/.pre-commit-config.yaml +0 -0
  15. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/.vscode/settings.json +0 -0
  16. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/Dockerfile +0 -0
  17. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/LICENSE +0 -0
  18. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/Makefile +0 -0
  19. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/README.md +0 -0
  20. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/build.log +0 -0
  21. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/__init__.py +0 -0
  22. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/base.py +0 -0
  23. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/bridge_mount.py +0 -0
  24. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/builds.py +0 -0
  25. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/cli.py +0 -0
  26. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/client.py +0 -0
  27. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/cloudflare_sandbox.py +0 -0
  28. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/commands.py +0 -0
  29. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/console.py +0 -0
  30. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/contents.py +0 -0
  31. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/coreweave_sandbox.py +0 -0
  32. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/datalayer_sandbox.py +0 -0
  33. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/daytona_sandbox.py +0 -0
  34. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/docker_sandbox.py +0 -0
  35. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/e2b_sandbox.py +0 -0
  36. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/__init__.py +0 -0
  37. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/__main__.py +0 -0
  38. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/accounts.py +0 -0
  39. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/adapters/__init__.py +0 -0
  40. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/adapters/datalayer.py +0 -0
  41. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/adapters/daytona.py +0 -0
  42. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/adapters/e2b.py +0 -0
  43. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/adapters/managed.py +0 -0
  44. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/adapters/modal.py +0 -0
  45. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/attest.py +0 -0
  46. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/breaker.py +0 -0
  47. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/build_secrets.py +0 -0
  48. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/builders.py +0 -0
  49. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/canonical.py +0 -0
  50. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/conformance.py +0 -0
  51. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/constraints/sandbox-contract-v1.txt +0 -0
  52. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/constraints/wheelhouse/README.md +0 -0
  53. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/constraints/wheelhouse/jupyter_server-2.21.0+datalayer.1-py3-none-any.whl +0 -0
  54. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/contract.py +0 -0
  55. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/doctor/__init__.py +0 -0
  56. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/doctor/build.py +0 -0
  57. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/doctor/datalayer_sandbox.py +0 -0
  58. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/doctor/report.schema.json +0 -0
  59. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/errors.py +0 -0
  60. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/files.py +0 -0
  61. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/image_import.py +0 -0
  62. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/lifecycle.py +0 -0
  63. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/policy.py +0 -0
  64. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/redact.py +0 -0
  65. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/resolve.py +0 -0
  66. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/schema.py +0 -0
  67. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/spec.py +0 -0
  68. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/eval_sandbox.py +0 -0
  69. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/exceptions.py +0 -0
  70. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/filesystem.py +0 -0
  71. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/google_colab.py +0 -0
  72. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/google_colab_sandbox.py +0 -0
  73. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/interfaces.py +0 -0
  74. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/jupyter_ingress.py +0 -0
  75. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/jupyter_server_sandbox.py +0 -0
  76. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/kaggle.py +0 -0
  77. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/kaggle_execute.py +0 -0
  78. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/kaggle_live.py +0 -0
  79. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/kaggle_sandbox.py +0 -0
  80. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/lifecycle.py +0 -0
  81. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/manage.py +0 -0
  82. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/modal_sandbox.py +0 -0
  83. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/models.py +0 -0
  84. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/monty_sandbox.py +0 -0
  85. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/provider_ingress.py +0 -0
  86. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/providers.py +0 -0
  87. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docker/Dockerfile +0 -0
  88. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/.gitignore +0 -0
  89. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/LICENSE +0 -0
  90. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/Makefile +0 -0
  91. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/README.md +0 -0
  92. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/babel.config.js +0 -0
  93. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/api-reference/_category_.yml +0 -0
  94. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/api-reference/index.mdx +0 -0
  95. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/cli/_category_.yml +0 -0
  96. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/cli/index.mdx +0 -0
  97. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/contribute/_category_.yml +0 -0
  98. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/contribute/index.mdx +0 -0
  99. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/environments/_category_.yml +0 -0
  100. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/environments/contract.mdx +0 -0
  101. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/environments/index.mdx +0 -0
  102. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/environments/specification.mdx +0 -0
  103. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/environments/spike-2026-09.mdx +0 -0
  104. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/examples/_category_.yml +0 -0
  105. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/examples/index.mdx +0 -0
  106. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/guide/_category_.yml +0 -0
  107. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/guide/index.mdx +0 -0
  108. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/index.mdx +0 -0
  109. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/install/_category_.yml +0 -0
  110. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/install/index.mdx +0 -0
  111. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/provider-ingress.mdx +0 -0
  112. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/_category_.yml +0 -0
  113. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/cloudflare.mdx +0 -0
  114. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/coreweave.mdx +0 -0
  115. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/datalayer.mdx +0 -0
  116. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/daytona.mdx +0 -0
  117. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/docker.mdx +0 -0
  118. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/e2b.mdx +0 -0
  119. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/eval.mdx +0 -0
  120. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/google-colab.mdx +0 -0
  121. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/index.mdx +0 -0
  122. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/jupyter-server.mdx +0 -0
  123. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/kaggle.mdx +0 -0
  124. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/modal.mdx +0 -0
  125. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/monty.mdx +0 -0
  126. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docusaurus.config.js +0 -0
  127. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/package.json +0 -0
  128. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/sidebars.js +0 -0
  129. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/src/components/HomepageRow1.js +0 -0
  130. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/src/components/HomepageRow1.module.css +0 -0
  131. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/src/components/HomepageRow2.js +0 -0
  132. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/src/components/HomepageRow2.module.css +0 -0
  133. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/src/components/HomepageRow3.js +0 -0
  134. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/src/components/HomepageRow3.module.css +0 -0
  135. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/src/css/custom.css +0 -0
  136. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/src/pages/index.module.css +0 -0
  137. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/src/pages/markdown-page.md +0 -0
  138. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/src/theme/CustomDocItem.tsx +0 -0
  139. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/src/theme/IconsTitle.tsx +0 -0
  140. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/bricks.svg +0 -0
  141. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/building-construction.svg +0 -0
  142. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/cloud-sun.svg +0 -0
  143. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/cloud.svg +0 -0
  144. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/collaboration.svg +0 -0
  145. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/copy-left.svg +0 -0
  146. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/datalayer/logo.png +0 -0
  147. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/datalayer/logo.svg +0 -0
  148. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/datalayer/personas/business.svg +0 -0
  149. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/datalayer/personas/data-scientist.svg +0 -0
  150. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/datalayer/personas/devops.svg +0 -0
  151. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/datalayer/project/project-line.svg +0 -0
  152. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/favicon.ico +0 -0
  153. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/jupyter.svg +0 -0
  154. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/open-source.svg +0 -0
  155. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/react-js.svg +0 -0
  156. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/react-js2.svg +0 -0
  157. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/ringed-planet.svg +0 -0
  158. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/robot.svg +0 -0
  159. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/rocket.svg +0 -0
  160. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/shield.svg +0 -0
  161. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/sparkles.svg +0 -0
  162. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/streamlit.gif +0 -0
  163. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/super-hero.svg +0 -0
  164. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/target.svg +0 -0
  165. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/thumbs-up.svg +0 -0
  166. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/README.md +0 -0
  167. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/Makefile +0 -0
  168. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/cloudflare_sandbox_example.py +0 -0
  169. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/coreweave_sandbox_example.py +0 -0
  170. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/datalayer_sandbox_example.py +0 -0
  171. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/daytona_sandbox_example.py +0 -0
  172. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/docker_sandbox_example.py +0 -0
  173. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/e2b_sandbox_example.py +0 -0
  174. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/eval_sandbox_example.py +0 -0
  175. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/google_colab_sandbox_example.py +0 -0
  176. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/jupyter_server_sandbox_example.py +0 -0
  177. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/kaggle_sandbox_example.py +0 -0
  178. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/modal_sandbox_example.py +0 -0
  179. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/monty_sandbox_example.py +0 -0
  180. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/Makefile +0 -0
  181. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/cloudflare_sandbox_example.py +0 -0
  182. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/coreweave_sandbox_example.py +0 -0
  183. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/datalayer_sandbox_example.py +0 -0
  184. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/daytona_sandbox_example.py +0 -0
  185. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/docker_sandbox_example.py +0 -0
  186. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/e2b_sandbox_example.py +0 -0
  187. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/eval_sandbox_example.py +0 -0
  188. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/google_colab_sandbox_example.py +0 -0
  189. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/jupyter_server_sandbox_example.py +0 -0
  190. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/kaggle_sandbox_example.py +0 -0
  191. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/modal_sandbox_example.py +0 -0
  192. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/monty_sandbox_example.py +0 -0
  193. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/pyproject.toml +0 -0
  194. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/schemas/environment-v1alpha1.json +0 -0
  195. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/__init__.py +0 -0
  196. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/conftest.py +0 -0
  197. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_a_datalayer_sandbox_can_be_interrupted.py +0 -0
  198. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_bridge_mount.py +0 -0
  199. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_builds.py +0 -0
  200. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_cli_exec.py +0 -0
  201. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_cli_repl.py +0 -0
  202. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_client.py +0 -0
  203. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_client_contents.py +0 -0
  204. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_client_files.py +0 -0
  205. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_client_outcome_error_output.py +0 -0
  206. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_cloudflare.py +0 -0
  207. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_commands_envelope.py +0 -0
  208. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_console.py +0 -0
  209. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_contents_contract.py +0 -0
  210. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_contents_live_matrix.py +0 -0
  211. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_coreweave.py +0 -0
  212. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_datalayer_sandbox.py +0 -0
  213. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_daytona.py +0 -0
  214. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_e2b.py +0 -0
  215. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_accounts.py +0 -0
  216. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_attest.py +0 -0
  217. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_breaker.py +0 -0
  218. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_build_secrets.py +0 -0
  219. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_builders.py +0 -0
  220. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_canonical.py +0 -0
  221. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_conformance.py +0 -0
  222. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_constraints.py +0 -0
  223. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_contract.py +0 -0
  224. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_cross_variant_report.py +0 -0
  225. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_datalayer_builder.py +0 -0
  226. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_daytona_builder.py +0 -0
  227. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_doctor.py +0 -0
  228. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_e2b_builder.py +0 -0
  229. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_errors.py +0 -0
  230. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_image_import.py +0 -0
  231. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_lifecycle.py +0 -0
  232. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_live_matrix.py +0 -0
  233. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_managed_builders.py +0 -0
  234. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_modal_builder.py +0 -0
  235. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_redact.py +0 -0
  236. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_resolve.py +0 -0
  237. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_spec.py +0 -0
  238. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_eval.py +0 -0
  239. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_every_variant_has_a_real_interrupt.py +0 -0
  240. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_factory.py +0 -0
  241. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_google_colab.py +0 -0
  242. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_integration.py +0 -0
  243. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_jupyter_ingress.py +0 -0
  244. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_jupyter_server.py +0 -0
  245. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_jupyter_server_streaming.py +0 -0
  246. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_kaggle.py +0 -0
  247. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_kaggle_execute.py +0 -0
  248. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_kaggle_live.py +0 -0
  249. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_kaggle_session.py +0 -0
  250. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_kernel_client_compatibility.py +0 -0
  251. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_lifecycle_vocabulary.py +0 -0
  252. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_manage.py +0 -0
  253. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_manage_datalayer.py +0 -0
  254. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_modal_google_colab_sandbox.py +0 -0
  255. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_modal_session.py +0 -0
  256. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_models.py +0 -0
  257. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_output_line_fidelity.py +0 -0
  258. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_provider_catalog_names.py +0 -0
  259. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_provider_ingress.py +0 -0
  260. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_providers.py +0 -0
  261. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_sandboxes.py +0 -0
  262. {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_the_kill_relaunch_drill.py +0 -0
@@ -8,6 +8,14 @@
8
8
 
9
9
  ## Unreleased
10
10
 
11
+ ## 1.9.6
12
+
13
+ - **`datalayer/python-cpu`'s `2026.09` channel points at the patched base**
14
+ (`environments.bases`; PLAN_ENV.md E1-05, E1-08). `jupyter-python` 0.2.2
15
+ upgrades the Ubuntu security packages and conda's own OpenSSL, and drops
16
+ JupyterLab's staging `yarn.lock` — the 31 fixable-critical findings that
17
+ blocked every build from the prior digest under the default scan policy.
18
+
11
19
  ## 1.9.5
12
20
 
13
21
  - **Attest waits for a just-pushed image's scan to exist**
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: code_sandboxes
3
- Version: 1.9.5
3
+ Version: 1.9.6
4
4
  Project-URL: Home, https://github.com/datalayer/code-sandboxes
5
5
  Author-email: Datalayer <info@datalayer.io>
6
6
  License: BSD 3-Clause License
@@ -3,4 +3,4 @@
3
3
 
4
4
  """Code Sandboxes."""
5
5
 
6
- __version__ = "1.9.5"
6
+ __version__ = "1.9.6"
@@ -108,9 +108,15 @@ class ApprovedBase(BaseModel):
108
108
  APPROVED_BASES: dict[str, ApprovedBase] = {
109
109
  base.ref: base
110
110
  for base in (
111
- # E1-05: jupyter-python:0.2.1 (the restored fork) plus the contract layer,
112
- # released 2026-09-12 to environments/base/python-cpu. One image, so every
113
- # variant pins the same digest until a variant needs a base of its own.
111
+ # E1-05: jupyter-python:0.2.2 (Ubuntu security packages and conda's own
112
+ # OpenSSL upgraded, JupyterLab's staging yarn.lock dropped) plus the
113
+ # contract layer, released 2026-09-14 to environments/base/python-cpu.
114
+ # One image, so every variant pins the same digest until a variant
115
+ # needs a base of its own. The prior digest, jupyter-python:0.2.1,
116
+ # carried 31 fixable-critical findings the scan (E1-08) blocks every
117
+ # build on; this one carries none the default policy does not already
118
+ # name (`policy.py`'s own `_BASE_CHANNEL_ALLOWED`, five ESM-locked
119
+ # ffmpeg/libcjson1 advisories, reviewed the same day).
114
120
  ApprovedBase(
115
121
  ref="datalayer/python-cpu",
116
122
  python_versions=("3.13",),
@@ -119,7 +125,7 @@ APPROVED_BASES: dict[str, ApprovedBase] = {
119
125
  # `.spec.VARIANTS`, spelled out: `spec` imports from this
120
126
  # module, so importing it back here would be circular.
121
127
  ("datalayer", "e2b", "daytona", "modal"),
122
- "sha256:cd09308a0c5e5adeec7fb5d8d29cf7455e78ba86f5c6c095a79068a280e1254f",
128
+ "sha256:334adf6c2714c8919ef60beeca1db12e3531a391c9dde41932c782f81c432b36",
123
129
  )
124
130
  },
125
131
  snapshots={"2026.09": "20260914T150000Z"},
@@ -52,9 +52,10 @@ def test_the_2026_09_channel_of_python_cuda_has_no_digest_until_it_is_pushed(
52
52
  def test_the_2026_09_channel_of_python_cpu_resolves_the_digest_its_release_pushed(
53
53
  variant: str,
54
54
  ) -> None:
55
- """PLAN_ENV.md, E1-05: released 2026-09-12, same digest for every variant."""
55
+ """PLAN_ENV.md, E1-05: released 2026-09-14 (jupyter-python 0.2.2, E1-08's
56
+ scan fix), same digest for every variant."""
56
57
  ref = "datalayer/python-cpu"
57
- digest = "sha256:cd09308a0c5e5adeec7fb5d8d29cf7455e78ba86f5c6c095a79068a280e1254f"
58
+ digest = "sha256:334adf6c2714c8919ef60beeca1db12e3531a391c9dde41932c782f81c432b36"
58
59
  assert APPROVED_BASES[ref].channels == {"2026.09": dict.fromkeys(VARIANTS, digest)}
59
60
  assert resolve_base(ref, "2026.09", variant) == digest
60
61
 
File without changes
File without changes
File without changes
File without changes