Skip to main content

Segmenting (classification + caching) for Keble positioning grid.

Project description

keble-segmenting

keble-segmenting owns segmented grids, dimension and mask discovery, item classification, coverage/read models, queue work contracts, and agent tools used by positioning and backend workflows.

Verified State

Checked on 2026-07-01 against pyproject.toml, package exports, keble_segmenting/, CODE_GUIDELINES.md, and tests.

  • Package: keble-segmenting 0.41.1
  • Python: >=3.13,<3.14
  • Critical deps: pydantic, keble-db, keble-helpers, keble-agentic-chat, pydantic-ai-slim, typing-extensions
  • Source roots: schemas/, crud/, client/, agent/, utils/
  • Public exports: SegmentingClient, CRUD classes, action/event schemas, queue contracts, ForAgent schemas, and mutation/query chat tool providers.

Runtime Contract

  • Segmenting owns the grid and classification domain. Backend and positioning code should use package schemas/actions instead of recreating grid state.
  • Progress belongs to actions and queue work, not side-effect taxonomies. Keep action status, progress payloads, and callback events aligned.
  • Stable keys are execution identity. Display names are UX only and may collide.
  • Default tests must stay offline. DB/provider coverage belongs in marked integration/live layers with cleanup.
  • Reusable test settings, datasets, live helpers, and shared assertion helpers live in keble_segmenting.testing; executable tests stay under canonical tests/unit, tests/integration, and tests/live roots.

Testing

uv sync --group test
uv run pytest -m "not live and not slow and not eval and not local_stack and not db_stack and not container"
npx --yes pyright .

The test/dev keble-agentic-chat source is pinned to the bundled compatible deps/keble_agentic_chat-3.44.0-py3-none-any.whl. Do not point it at the sibling ../keble-agentic-chat checkout unless this repo also moves to that checkout's keble-helpers dependency line; otherwise uv run can fail before pytest collection.

Mongo/Redis integration settings load explicit process env first, then the umbrella keble.backend/.env through keble_db.testing.resolve_test_env. Segmenting live LLM settings map backend AZURE_PROVIDER_ENDPOINTS, AZURE_PROVIDER_API_TOKENS, and AZURE_OPENAI_CHAT_MODELS_DEPLOYMENTS into the package text/vision model lists when package-local list env vars are absent. Set KEBLE_BACKEND_ENV_FILE=/path/to/.env from unusual worktree or CI layouts.

Change Logs

Historical release notes and long AI change history live under logs/.

Side Effect If Changes

  • keble-positioning, backend segmentation workers, task room progress, and frontend positioning tables depend on segmenting action/event contracts.
  • Queue or coverage schema changes require backend worker and frontend display updates in the same migration.
  • Test/dev dependency source changes affect every uv run pytest and pyright proof command in this repo; keep pyproject.toml, uv.lock, and the bundled dependency wheel aligned.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

keble_segmenting-0.41.1.tar.gz (971.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

keble_segmenting-0.41.1-py3-none-any.whl (305.3 kB view details)

Uploaded Python 3

File details

Details for the file keble_segmenting-0.41.1.tar.gz.

File metadata

  • Download URL: keble_segmenting-0.41.1.tar.gz
  • Upload date:
  • Size: 971.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for keble_segmenting-0.41.1.tar.gz
Algorithm Hash digest
SHA256 7469b3c4c2c586437db2df4253822bf80d4b0f35a09733aa91baac96381e6855
MD5 0f870c71c6cfe4aaa3c75a45c99a3f91
BLAKE2b-256 9b5b845fb55e7c2cbe73ac773bda561dedbdd1ff7727c5c45b3e182e02a1b2dc

See more details on using hashes here.

File details

Details for the file keble_segmenting-0.41.1-py3-none-any.whl.

File metadata

  • Download URL: keble_segmenting-0.41.1-py3-none-any.whl
  • Upload date:
  • Size: 305.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for keble_segmenting-0.41.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bdad8a4ebcaadcb0b2c22ce0b10c8cc46ae6393ac06fc0e30f922eefe8fe21f2
MD5 1238e879fd10562a215a2cf7560cc507
BLAKE2b-256 3085203e3b9a5acfd4469177bbe2d4e49abe79eea129e4877ddb15618b5b23fa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page