# Copyright (c) 2025-2026 Datalayer, Inc.
#
# BSD 3-Clause License
#
# Datalayer's protected constraints for sandbox-contract/v1 (PLAN_ENV.md, E1-04, E1-05).
#
# The kernel stack every Environment keeps. Resolution merges these over a user's
# requirements, and the base channels carry this file at
# /opt/datalayer/constraints/sandbox-contract-v1.txt.
#
# Pinned to what jupyter-python carries, the image datalayer/python-cpu:2026.09 is built
# on. The channel image refuses to build when they differ. Read from the installed
# distributions of jupyter-python:0.2.1 (image sha256:731f736f7e50) on 2026-09-12, the
# build that restored the fork.
#
# jupyter-server is Datalayer's fork, branch datalayer-2.21 of
# datalayer-externals/jupyter-server: its four commits rebased on upstream 2.21.0 and
# versioned 2.21.0+datalayer.1. jupyter-python:0.2.0 installed the fork at 2.12.0.dev0,
# and `pip install datalayer` replaced it with PyPI's 2.21.0, because datalayer-ui,
# jupyterlab and jupyter-server-ydoc require jupyter-server>=2.19. The rebased fork
# satisfies those ranges, so pip keeps it; its local label, which PyPI never serves,
# tells it apart from the release.
ipykernel==7.3.0
jupyter-client==8.9.1
jupyter-server==2.21.0+datalayer.1
jupyter-server-nbmodel==0.2.8
datalayer==1.7.4
