code-sandboxes 1.9.5__tar.gz → 1.9.7__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.7}/CHANGELOG.md +19 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/PKG-INFO +1 -1
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/__version__.py +1 -1
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/attest.py +11 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/bases.py +10 -4
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_attest.py +4 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_bases.py +3 -2
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/.github/workflows/build.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/.github/workflows/environments-live.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/.github/workflows/py-code-style.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/.github/workflows/py-tests.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/.github/workflows/py-typing.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/.github/workflows/reusable-python.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/.gitignore +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/.licenserc.yaml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/.pre-commit-config.yaml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/.vscode/settings.json +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/Dockerfile +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/LICENSE +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/Makefile +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/README.md +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/build.log +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/__init__.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/base.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/bridge_mount.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/builds.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/cli.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/client.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/cloudflare_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/commands.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/console.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/contents.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/coreweave_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/datalayer_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/daytona_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/docker_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/e2b_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/__init__.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/__main__.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/accounts.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/adapters/__init__.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/adapters/datalayer.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/adapters/daytona.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/adapters/e2b.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/adapters/managed.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/adapters/modal.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/breaker.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/build_secrets.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/builders.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/canonical.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/conformance.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/constraints/sandbox-contract-v1.txt +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/constraints/wheelhouse/README.md +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/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.7}/code_sandboxes/environments/contract.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/doctor/__init__.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/doctor/build.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/doctor/datalayer_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/doctor/report.schema.json +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/errors.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/files.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/image_import.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/lifecycle.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/policy.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/redact.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/resolve.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/schema.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/spec.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/eval_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/exceptions.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/filesystem.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/google_colab.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/google_colab_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/interfaces.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/jupyter_ingress.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/jupyter_server_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/kaggle.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/kaggle_execute.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/kaggle_live.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/kaggle_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/lifecycle.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/manage.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/modal_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/models.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/monty_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/provider_ingress.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/providers.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docker/Dockerfile +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/.gitignore +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/LICENSE +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/Makefile +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/README.md +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/babel.config.js +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/api-reference/_category_.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/api-reference/index.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/cli/_category_.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/cli/index.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/contribute/_category_.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/contribute/index.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/environments/_category_.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/environments/contract.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/environments/index.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/environments/specification.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/environments/spike-2026-09.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/examples/_category_.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/examples/index.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/guide/_category_.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/guide/index.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/index.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/install/_category_.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/install/index.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/provider-ingress.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/providers/_category_.yml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/providers/cloudflare.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/providers/coreweave.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/providers/datalayer.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/providers/daytona.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/providers/docker.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/providers/e2b.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/providers/eval.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/providers/google-colab.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/providers/index.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/providers/jupyter-server.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/providers/kaggle.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/providers/modal.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docs/providers/monty.mdx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/docusaurus.config.js +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/package.json +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/sidebars.js +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/src/components/HomepageRow1.js +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/src/components/HomepageRow1.module.css +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/src/components/HomepageRow2.js +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/src/components/HomepageRow2.module.css +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/src/components/HomepageRow3.js +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/src/components/HomepageRow3.module.css +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/src/css/custom.css +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/src/pages/index.module.css +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/src/pages/markdown-page.md +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/src/theme/CustomDocItem.tsx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/src/theme/IconsTitle.tsx +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/bricks.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/building-construction.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/cloud-sun.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/cloud.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/collaboration.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/copy-left.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/datalayer/logo.png +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/datalayer/logo.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/datalayer/personas/business.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/datalayer/personas/data-scientist.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/datalayer/personas/devops.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/datalayer/project/project-line.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/favicon.ico +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/jupyter.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/open-source.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/react-js.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/react-js2.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/ringed-planet.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/robot.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/rocket.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/shield.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/sparkles.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/streamlit.gif +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/super-hero.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/target.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/thumbs-up.svg +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/README.md +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/exec/Makefile +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/exec/cloudflare_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/exec/coreweave_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/exec/datalayer_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/exec/daytona_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/exec/docker_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/exec/e2b_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/exec/eval_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/exec/google_colab_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/exec/jupyter_server_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/exec/kaggle_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/exec/modal_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/exec/monty_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/repl/Makefile +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/repl/cloudflare_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/repl/coreweave_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/repl/datalayer_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/repl/daytona_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/repl/docker_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/repl/e2b_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/repl/eval_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/repl/google_colab_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/repl/jupyter_server_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/repl/kaggle_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/repl/modal_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/examples/repl/monty_sandbox_example.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/pyproject.toml +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/schemas/environment-v1alpha1.json +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/__init__.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/conftest.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_a_datalayer_sandbox_can_be_interrupted.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_bridge_mount.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_builds.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_cli_exec.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_cli_repl.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_client.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_client_contents.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_client_files.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_client_outcome_error_output.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_cloudflare.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_commands_envelope.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_console.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_contents_contract.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_contents_live_matrix.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_coreweave.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_datalayer_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_daytona.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_e2b.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_accounts.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_breaker.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_build_secrets.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_builders.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_canonical.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_conformance.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_constraints.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_contract.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_cross_variant_report.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_datalayer_builder.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_daytona_builder.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_doctor.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_e2b_builder.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_errors.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_image_import.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_lifecycle.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_live_matrix.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_managed_builders.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_modal_builder.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_redact.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_resolve.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_environment_spec.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_eval.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_every_variant_has_a_real_interrupt.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_factory.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_google_colab.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_integration.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_jupyter_ingress.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_jupyter_server.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_jupyter_server_streaming.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_kaggle.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_kaggle_execute.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_kaggle_live.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_kaggle_session.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_kernel_client_compatibility.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_lifecycle_vocabulary.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_manage.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_manage_datalayer.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_modal_google_colab_sandbox.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_modal_session.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_models.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_output_line_fidelity.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_provider_catalog_names.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_provider_ingress.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_providers.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_sandboxes.py +0 -0
- {code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/tests/test_the_kill_relaunch_drill.py +0 -0
|
@@ -8,6 +8,25 @@
|
|
|
8
8
|
|
|
9
9
|
## Unreleased
|
|
10
10
|
|
|
11
|
+
## 1.9.7
|
|
12
|
+
|
|
13
|
+
- **cosign signs again under `--use-signing-config=false`** (`environments
|
|
14
|
+
.attest`; PLAN_ENV.md E1-09). cosign 3.1.3 defaults `--use-signing-config`
|
|
15
|
+
to `true`: a TUF-provided signing config now names the service URLs,
|
|
16
|
+
including a transparency log, and `--tlog-upload=false` alone no longer
|
|
17
|
+
overrides that — cosign refused the combination outright (found live on
|
|
18
|
+
r1, 2026-09-14, the first real signature this pipeline ever attempted).
|
|
19
|
+
Turning the signing config off restores the plain, flag-driven behavior
|
|
20
|
+
`--tlog-upload=false` already asks for.
|
|
21
|
+
|
|
22
|
+
## 1.9.6
|
|
23
|
+
|
|
24
|
+
- **`datalayer/python-cpu`'s `2026.09` channel points at the patched base**
|
|
25
|
+
(`environments.bases`; PLAN_ENV.md E1-05, E1-08). `jupyter-python` 0.2.2
|
|
26
|
+
upgrades the Ubuntu security packages and conda's own OpenSSL, and drops
|
|
27
|
+
JupyterLab's staging `yarn.lock` — the 31 fixable-critical findings that
|
|
28
|
+
blocked every build from the prior digest under the default scan policy.
|
|
29
|
+
|
|
11
30
|
## 1.9.5
|
|
12
31
|
|
|
13
32
|
- **Attest waits for a just-pushed image's scan to exist**
|
|
@@ -380,6 +380,17 @@ class Attestor:
|
|
|
380
380
|
# even answer. The matching verify-side omission is fixed in
|
|
381
381
|
# `datalayer_operator.services.environment_signatures`.
|
|
382
382
|
"--tlog-upload=false",
|
|
383
|
+
# cosign 3.1.3 defaults `--use-signing-config` to `true`: a
|
|
384
|
+
# TUF-provided signing config now names the service URLs,
|
|
385
|
+
# including a transparency log, and `--tlog-upload=false` alone
|
|
386
|
+
# no longer overrides that — cosign refuses the combination
|
|
387
|
+
# outright, "not supported with --signing-config or
|
|
388
|
+
# --use-signing-config" (found live, 2026-09-14, the first real
|
|
389
|
+
# sign this worker's own pinned cosign ever ran). Turning the
|
|
390
|
+
# signing config off restores the plain, flag-driven behavior
|
|
391
|
+
# `--tlog-upload=false` already asks for, and needs no network
|
|
392
|
+
# call of its own to fetch one.
|
|
393
|
+
"--use-signing-config=false",
|
|
383
394
|
"--key",
|
|
384
395
|
self._key,
|
|
385
396
|
reference,
|
|
@@ -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"},
|
|
@@ -418,6 +418,10 @@ class TestTheSignature:
|
|
|
418
418
|
# default and prompts for consent to publish an immutable
|
|
419
419
|
# record — the wrong default for a private environment.
|
|
420
420
|
"--tlog-upload=false",
|
|
421
|
+
# cosign 3.1.3 defaults to a TUF-provided signing config that
|
|
422
|
+
# `--tlog-upload=false` alone can no longer override (found live
|
|
423
|
+
# 2026-09-14): turned off so the plain flag is honored again.
|
|
424
|
+
"--use-signing-config=false",
|
|
421
425
|
"--key",
|
|
422
426
|
KEY,
|
|
423
427
|
f"{REGISTRY}/{REPOSITORY}@{DIGEST}",
|
|
@@ -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.7}/code_sandboxes/environments/adapters/__init__.py
RENAMED
|
File without changes
|
{code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/adapters/datalayer.py
RENAMED
|
File without changes
|
{code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/code_sandboxes/environments/adapters/daytona.py
RENAMED
|
File without changes
|
|
File without changes
|
{code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/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
|
{code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/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.7}/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.7}/docs/static/img/datalayer/personas/business.svg
RENAMED
|
File without changes
|
{code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/docs/static/img/datalayer/personas/data-scientist.svg
RENAMED
|
File without changes
|
|
File without changes
|
{code_sandboxes-1.9.5 → code_sandboxes-1.9.7}/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.7}/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
|