[project] name = "blind-protocol-carrier-count" version = "1.0.0" description = "Blind Machine curated protocol: carrier_count (TenSEAL additive BFV; carrier-indicator encoding)." requires-python = "==3.11.*" dependencies = [ # The crypto library is an ordinary, uv-locked protocol dependency — NOT a # platform-provided capability (docs/protocol_structure.md § "No platform # backends"). Apache-2.0. "tenseal==0.3.16", # TenSEAL 0.3.16 imports numpy at package load but does not declare it, so we # pin it explicitly (numpy 1.26.x is the ABI TenSEAL 0.3.16 was built against). "numpy>=1.26,<2", ] [dependency-groups] # Local-loop / equivalence test tooling. Sealed run phase installs with # `uv --project env sync --frozen --no-dev`, so dev deps never enter the sandbox. dev = [ "pytest>=8,<9", ] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] # The numbered stage files live at the bundle root (one directory above env/), # so there is no importable package to build here; this is an environment-only # project. Bundle stages are executed by path, not imported as a package. bypass-selection = true