code-sandboxes 1.9.33__tar.gz → 1.9.34__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.33 → code_sandboxes-1.9.34}/PKG-INFO +1 -1
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/__version__.py +1 -1
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/adapters/daytona.py +19 -3
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/bases.py +8 -5
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_bases.py +1 -1
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_daytona_builder.py +19 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/.github/workflows/build.yml +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/.github/workflows/environments-live.yml +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/.github/workflows/py-code-style.yml +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/.github/workflows/py-tests.yml +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/.github/workflows/py-typing.yml +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/.github/workflows/reusable-python.yml +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/.gitignore +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/.licenserc.yaml +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/.pre-commit-config.yaml +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/.vscode/settings.json +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/CHANGELOG.md +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/Dockerfile +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/LICENSE +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/Makefile +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/README.md +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/__init__.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/base.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/bridge_mount.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/builds.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/cli.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/client.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/cloudflare_sandbox.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/commands.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/console.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/contents.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/coreweave_sandbox.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/datalayer_sandbox.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/daytona_sandbox.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/docker_sandbox.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/e2b_sandbox.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/__init__.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/__main__.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/accounts.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/adapters/__init__.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/adapters/datalayer.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/adapters/e2b.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/adapters/managed.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/adapters/modal.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/attest.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/breaker.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/build_secrets.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/builders.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/canonical.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/conformance.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/constraints/sandbox-contract-v1.txt +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/constraints/wheelhouse/README.md +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/constraints/wheelhouse/jupyter_server-2.21.0+datalayer.1-py3-none-any.whl +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/contract.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/doctor/__init__.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/doctor/build.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/doctor/datalayer_sandbox.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/doctor/report.schema.json +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/errors.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/files.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/image_import.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/lifecycle.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/policy.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/redact.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/resolve.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/resolve_conda.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/schema.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/spec.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/eval_sandbox.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/exceptions.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/filesystem.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/google_colab.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/google_colab_sandbox.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/interfaces.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/jupyter_ingress.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/jupyter_server_sandbox.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/kaggle.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/kaggle_execute.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/kaggle_live.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/kaggle_sandbox.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/lifecycle.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/manage.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/modal_sandbox.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/models.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/monty_sandbox.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/provider_ingress.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/providers.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docker/Dockerfile +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/.gitignore +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/LICENSE +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/Makefile +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/README.md +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/babel.config.js +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/api-reference/_category_.yml +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/api-reference/index.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/cli/_category_.yml +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/cli/index.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/contribute/_category_.yml +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/contribute/index.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/environments/_category_.yml +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/environments/contract.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/environments/index.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/environments/specification.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/environments/spike-2026-09.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/examples/_category_.yml +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/examples/index.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/guide/_category_.yml +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/guide/index.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/index.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/install/_category_.yml +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/install/index.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/provider-ingress.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/providers/_category_.yml +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/providers/cloudflare.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/providers/coreweave.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/providers/datalayer.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/providers/daytona.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/providers/docker.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/providers/e2b.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/providers/eval.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/providers/google-colab.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/providers/index.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/providers/jupyter-server.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/providers/kaggle.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/providers/modal.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docs/providers/monty.mdx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/docusaurus.config.js +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/package.json +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/sidebars.js +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/src/components/HomepageRow1.js +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/src/components/HomepageRow1.module.css +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/src/components/HomepageRow2.js +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/src/components/HomepageRow2.module.css +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/src/components/HomepageRow3.js +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/src/components/HomepageRow3.module.css +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/src/css/custom.css +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/src/pages/index.module.css +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/src/pages/markdown-page.md +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/src/theme/CustomDocItem.tsx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/src/theme/IconsTitle.tsx +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/bricks.svg +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/building-construction.svg +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/cloud-sun.svg +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/cloud.svg +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/collaboration.svg +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/copy-left.svg +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/datalayer/logo.png +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/datalayer/logo.svg +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/datalayer/personas/business.svg +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/datalayer/personas/data-scientist.svg +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/datalayer/personas/devops.svg +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/datalayer/project/project-line.svg +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/favicon.ico +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/jupyter.svg +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/open-source.svg +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/react-js.svg +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/react-js2.svg +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/ringed-planet.svg +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/robot.svg +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/rocket.svg +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/shield.svg +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/sparkles.svg +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/streamlit.gif +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/super-hero.svg +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/target.svg +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/thumbs-up.svg +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/README.md +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/exec/Makefile +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/exec/cloudflare_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/exec/coreweave_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/exec/datalayer_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/exec/daytona_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/exec/docker_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/exec/e2b_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/exec/eval_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/exec/google_colab_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/exec/jupyter_server_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/exec/kaggle_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/exec/modal_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/exec/monty_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/repl/Makefile +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/repl/cloudflare_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/repl/coreweave_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/repl/datalayer_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/repl/daytona_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/repl/docker_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/repl/e2b_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/repl/eval_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/repl/google_colab_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/repl/jupyter_server_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/repl/kaggle_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/repl/modal_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/repl/monty_sandbox_example.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/pyproject.toml +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/schemas/environment-v1alpha1.json +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/__init__.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/conftest.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_a_datalayer_sandbox_can_be_interrupted.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_bridge_mount.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_builds.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_cli_exec.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_cli_repl.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_client.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_client_contents.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_client_files.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_client_outcome_error_output.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_cloudflare.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_commands_envelope.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_console.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_contents_contract.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_contents_live_matrix.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_coreweave.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_datalayer_sandbox.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_daytona.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_e2b.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_accounts.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_attest.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_breaker.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_build_secrets.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_builders.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_canonical.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_conformance.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_constraints.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_contract.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_cross_variant_report.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_datalayer_builder.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_dockerfile_source.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_doctor.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_e2b_builder.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_errors.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_image_import.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_lifecycle.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_live_matrix.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_managed_builders.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_modal_builder.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_organization_policy.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_redact.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_resolve.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_resolve_conda.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_spec.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_environment_spec_organization_policy.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_eval.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_every_variant_has_a_real_interrupt.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_factory.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_google_colab.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_integration.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_jupyter_ingress.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_jupyter_server.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_jupyter_server_streaming.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_kaggle.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_kaggle_execute.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_kaggle_live.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_kaggle_session.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_kernel_client_compatibility.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_lifecycle_vocabulary.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_manage.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_manage_datalayer.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_modal_google_colab_sandbox.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_modal_session.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_models.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_output_line_fidelity.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_provider_catalog_names.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_provider_ingress.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_providers.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_sandboxes.py +0 -0
- {code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/tests/test_the_kill_relaunch_drill.py +0 -0
{code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/adapters/daytona.py
RENAMED
|
@@ -468,6 +468,10 @@ class Builder(ManagedBuilder):
|
|
|
468
468
|
timeout=self.max_build_seconds,
|
|
469
469
|
)
|
|
470
470
|
except Exception as error:
|
|
471
|
+
# Daytona keeps a snapshot that failed, in `error`, under
|
|
472
|
+
# the build's own name: one over its size limit was left
|
|
473
|
+
# there (E2-17, 2026-09-18). Nothing records it, so it goes.
|
|
474
|
+
self._discard_named(sdk, client, name)
|
|
471
475
|
raise EnvironmentsError(
|
|
472
476
|
BUILD_FAILED,
|
|
473
477
|
f"The Daytona build failed: {error}",
|
|
@@ -682,12 +686,24 @@ class Builder(ManagedBuilder):
|
|
|
682
686
|
self._cancelled.add(request.build_uid)
|
|
683
687
|
sdk = self._daytona_sdk()
|
|
684
688
|
client = self._client(sdk)
|
|
689
|
+
self._discard_named(sdk, client, _snapshot_name(request))
|
|
690
|
+
|
|
691
|
+
def _discard_named(self, sdk: Any, client: Any, name: str) -> None:
|
|
692
|
+
"""Delete, by its id, the snapshot this build named, when Daytona has one.
|
|
693
|
+
|
|
694
|
+
A build's name is its own (the build uid is in it), so looking it up
|
|
695
|
+
by name cannot find another build's. Never a second reason to fail:
|
|
696
|
+
what could not be deleted is said in the log.
|
|
697
|
+
"""
|
|
685
698
|
try:
|
|
686
|
-
snapshot = client.snapshot.get(
|
|
699
|
+
snapshot = client.snapshot.get(name)
|
|
687
700
|
except Exception:
|
|
688
701
|
return
|
|
689
|
-
self._log(f"
|
|
690
|
-
|
|
702
|
+
self._log(f"Deleting the snapshot {snapshot.id} this build made, which nothing records")
|
|
703
|
+
try:
|
|
704
|
+
self._delete_by_id(sdk, client, snapshot.id)
|
|
705
|
+
except EnvironmentsError as error:
|
|
706
|
+
self._log(f"The snapshot {snapshot.id} could not be deleted: {error.message}")
|
|
691
707
|
|
|
692
708
|
def smoke_test(
|
|
693
709
|
self,
|
|
@@ -143,10 +143,13 @@ APPROVED_BASES: dict[str, ApprovedBase] = {
|
|
|
143
143
|
},
|
|
144
144
|
snapshots={"2026.09": "20260916T120000Z"},
|
|
145
145
|
),
|
|
146
|
-
# E2-17: jupyter-python-cuda:0.3.
|
|
147
|
-
#
|
|
148
|
-
# environments/base/python-cuda as `2026.09-
|
|
149
|
-
#
|
|
146
|
+
# E2-17: jupyter-python-cuda:0.3.2 (jupyter-python 0.2.2 and CUDA 12.8's
|
|
147
|
+
# compiler and runtime headers, pinned) plus the same layer, released
|
|
148
|
+
# 2026-09-18 to environments/base/python-cuda as `2026.09-a3baa7b80931`.
|
|
149
|
+
# 6.9 GB: the first release carried the whole toolkit (15.7 GB), and a
|
|
150
|
+
# PyTorch environment on it made a snapshot Daytona refused, over its
|
|
151
|
+
# 20 GB limit. The doctor passes all fifteen checks and `nvcc` answers
|
|
152
|
+
# 12.8 without a GPU.
|
|
150
153
|
ApprovedBase(
|
|
151
154
|
ref="datalayer/python-cuda",
|
|
152
155
|
python_versions=("3.13",),
|
|
@@ -155,7 +158,7 @@ APPROVED_BASES: dict[str, ApprovedBase] = {
|
|
|
155
158
|
channels={
|
|
156
159
|
"2026.09": dict.fromkeys(
|
|
157
160
|
("datalayer", "e2b", "daytona", "modal"),
|
|
158
|
-
"sha256:
|
|
161
|
+
"sha256:dc8f0015b4f7dbca92a88d2d6a4a96714b76f9a1af9dddd86835812493e40f08",
|
|
159
162
|
)
|
|
160
163
|
},
|
|
161
164
|
# After its CUDA layer's own `apt-get update`, which ran that day.
|
|
@@ -32,7 +32,7 @@ def test_the_2026_09_channel_of_python_cuda_resolves_the_digest_its_release_push
|
|
|
32
32
|
carrying the CUDA 12.8 toolkit a spec's `accelerator.cuda` may ask for."""
|
|
33
33
|
base = APPROVED_BASES["datalayer/python-cuda"]
|
|
34
34
|
assert resolve_base(base.ref, "2026.09", variant) == (
|
|
35
|
-
"sha256:
|
|
35
|
+
"sha256:dc8f0015b4f7dbca92a88d2d6a4a96714b76f9a1af9dddd86835812493e40f08"
|
|
36
36
|
)
|
|
37
37
|
assert (base.accelerator, base.cuda) == (True, "12.8")
|
|
38
38
|
|
|
@@ -950,6 +950,25 @@ class TestCancellingABuild:
|
|
|
950
950
|
assert "cancelled" in raised.value.message
|
|
951
951
|
assert [call.args for call in service.delete_calls] == [("snp-late",)]
|
|
952
952
|
|
|
953
|
+
def test_a_snapshot_daytona_refused_is_deleted_by_the_build(self) -> None:
|
|
954
|
+
"""Daytona keeps a failed snapshot, in `error`, under the build's name:
|
|
955
|
+
one over its 20 GB limit was left there (E2-17, 2026-09-18)."""
|
|
956
|
+
failed = FakeSnapshot(id="snp-err", name=self.NAME, state="error")
|
|
957
|
+
service = FakeSnapshotService(
|
|
958
|
+
create_error=RuntimeError(
|
|
959
|
+
"Snapshot size (28.66GB) exceeds maximum allowed size of 20GB"
|
|
960
|
+
),
|
|
961
|
+
get_results={self.NAME: failed, "snp-err": failed},
|
|
962
|
+
)
|
|
963
|
+
builder = a_builder(
|
|
964
|
+
daytona=FakeDaytonaModule(client=FakeDaytonaClient(snapshot_service=service))
|
|
965
|
+
)
|
|
966
|
+
with pytest.raises(EnvironmentsError) as raised:
|
|
967
|
+
builder.build(a_request())
|
|
968
|
+
assert raised.value.code.code == BUILD_FAILED.code
|
|
969
|
+
assert "20GB" in raised.value.message
|
|
970
|
+
assert [call.args for call in service.delete_calls] == [("snp-err",)]
|
|
971
|
+
|
|
953
972
|
def test_another_build_of_the_same_builder_is_not_touched(self) -> None:
|
|
954
973
|
builder = a_builder()
|
|
955
974
|
builder.cancel(a_request(build_uid="bld-other"))
|
|
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.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/adapters/__init__.py
RENAMED
|
File without changes
|
{code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/adapters/datalayer.py
RENAMED
|
File without changes
|
|
File without changes
|
{code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/adapters/managed.py
RENAMED
|
File without changes
|
{code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/adapters/modal.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/build_secrets.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.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/doctor/__init__.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
|
{code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/code_sandboxes/environments/resolve_conda.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
|
|
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.33 → code_sandboxes-1.9.34}/docs/static/img/datalayer/personas/business.svg
RENAMED
|
File without changes
|
|
File without changes
|
{code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/docs/static/img/datalayer/personas/devops.svg
RENAMED
|
File without changes
|
{code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/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
|
{code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/examples/exec/google_colab_sandbox_example.py
RENAMED
|
File without changes
|
{code_sandboxes-1.9.33 → code_sandboxes-1.9.34}/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
|