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.
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/CHANGELOG.md +8 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/PKG-INFO +1 -1
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/__version__.py +1 -1
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/bases.py +10 -4
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_bases.py +3 -2
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/.github/workflows/build.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/.github/workflows/environments-live.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/.github/workflows/py-code-style.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/.github/workflows/py-tests.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/.github/workflows/py-typing.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/.github/workflows/reusable-python.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/.gitignore +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/.licenserc.yaml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/.pre-commit-config.yaml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/.vscode/settings.json +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/Dockerfile +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/LICENSE +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/Makefile +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/README.md +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/build.log +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/__init__.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/base.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/bridge_mount.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/builds.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/cli.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/client.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/cloudflare_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/commands.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/console.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/contents.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/coreweave_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/datalayer_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/daytona_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/docker_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/e2b_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/__init__.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/__main__.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/accounts.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/adapters/__init__.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/adapters/datalayer.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/adapters/daytona.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/adapters/e2b.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/adapters/managed.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/adapters/modal.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/attest.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/breaker.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/build_secrets.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/builders.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/canonical.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/conformance.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/constraints/sandbox-contract-v1.txt +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/constraints/wheelhouse/README.md +0 -0
- {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
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/contract.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/doctor/__init__.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/doctor/build.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/doctor/datalayer_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/doctor/report.schema.json +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/errors.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/files.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/image_import.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/lifecycle.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/policy.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/redact.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/resolve.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/schema.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/spec.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/eval_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/exceptions.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/filesystem.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/google_colab.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/google_colab_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/interfaces.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/jupyter_ingress.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/jupyter_server_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/kaggle.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/kaggle_execute.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/kaggle_live.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/kaggle_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/lifecycle.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/manage.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/modal_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/models.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/monty_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/provider_ingress.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/providers.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docker/Dockerfile +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/.gitignore +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/LICENSE +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/Makefile +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/README.md +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/babel.config.js +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/api-reference/_category_.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/api-reference/index.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/cli/_category_.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/cli/index.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/contribute/_category_.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/contribute/index.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/environments/_category_.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/environments/contract.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/environments/index.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/environments/specification.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/environments/spike-2026-09.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/examples/_category_.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/examples/index.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/guide/_category_.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/guide/index.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/index.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/install/_category_.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/install/index.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/provider-ingress.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/_category_.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/cloudflare.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/coreweave.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/datalayer.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/daytona.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/docker.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/e2b.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/eval.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/google-colab.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/index.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/jupyter-server.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/kaggle.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/modal.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docs/providers/monty.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/docusaurus.config.js +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/package.json +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/sidebars.js +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/src/components/HomepageRow1.js +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/src/components/HomepageRow1.module.css +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/src/components/HomepageRow2.js +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/src/components/HomepageRow2.module.css +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/src/components/HomepageRow3.js +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/src/components/HomepageRow3.module.css +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/src/css/custom.css +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/src/pages/index.module.css +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/src/pages/markdown-page.md +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/src/theme/CustomDocItem.tsx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/src/theme/IconsTitle.tsx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/bricks.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/building-construction.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/cloud-sun.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/cloud.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/collaboration.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/copy-left.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/datalayer/logo.png +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/datalayer/logo.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/datalayer/personas/business.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/datalayer/personas/data-scientist.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/datalayer/personas/devops.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/datalayer/project/project-line.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/favicon.ico +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/jupyter.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/open-source.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/react-js.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/react-js2.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/ringed-planet.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/robot.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/rocket.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/shield.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/sparkles.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/streamlit.gif +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/super-hero.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/target.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/thumbs-up.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/README.md +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/Makefile +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/cloudflare_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/coreweave_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/datalayer_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/daytona_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/docker_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/e2b_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/eval_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/google_colab_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/jupyter_server_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/kaggle_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/modal_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/monty_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/Makefile +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/cloudflare_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/coreweave_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/datalayer_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/daytona_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/docker_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/e2b_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/eval_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/google_colab_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/jupyter_server_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/kaggle_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/modal_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/monty_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/pyproject.toml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/schemas/environment-v1alpha1.json +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/__init__.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/conftest.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_a_datalayer_sandbox_can_be_interrupted.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_bridge_mount.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_builds.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_cli_exec.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_cli_repl.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_client.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_client_contents.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_client_files.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_client_outcome_error_output.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_cloudflare.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_commands_envelope.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_console.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_contents_contract.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_contents_live_matrix.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_coreweave.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_datalayer_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_daytona.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_e2b.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_accounts.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_attest.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_breaker.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_build_secrets.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_builders.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_canonical.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_conformance.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_constraints.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_contract.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_cross_variant_report.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_datalayer_builder.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_daytona_builder.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_doctor.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_e2b_builder.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_errors.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_image_import.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_lifecycle.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_live_matrix.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_managed_builders.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_modal_builder.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_redact.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_resolve.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_spec.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_eval.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_every_variant_has_a_real_interrupt.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_factory.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_google_colab.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_integration.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_jupyter_ingress.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_jupyter_server.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_jupyter_server_streaming.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_kaggle.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_kaggle_execute.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_kaggle_live.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_kaggle_session.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_kernel_client_compatibility.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_lifecycle_vocabulary.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_manage.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_manage_datalayer.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_modal_google_colab_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_modal_session.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_models.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_output_line_fidelity.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_provider_catalog_names.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_provider_ingress.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_providers.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_sandboxes.py +0 -0
- {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**
|
|
@@ -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.
|
|
112
|
-
#
|
|
113
|
-
#
|
|
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:
|
|
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-
|
|
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:
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/adapters/__init__.py
RENAMED
|
File without changes
|
{code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/adapters/datalayer.py
RENAMED
|
File without changes
|
{code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/adapters/daytona.py
RENAMED
|
File without changes
|
|
File without changes
|
{code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/adapters/managed.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/doctor/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/code_sandboxes/environments/doctor/report.schema.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/datalayer/personas/business.svg
RENAMED
|
File without changes
|
{code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/datalayer/personas/data-scientist.svg
RENAMED
|
File without changes
|
|
File without changes
|
{code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/docs/static/img/datalayer/project/project-line.svg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/exec/jupyter_server_sandbox_example.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/examples/repl/jupyter_server_sandbox_example.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_a_datalayer_sandbox_can_be_interrupted.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_environment_cross_variant_report.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_sandboxes-1.9.5 → code_sandboxes-1.9.6}/tests/test_every_variant_has_a_real_interrupt.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|