Skip to main content

django-lookup

Product lookup & dedup for the Volkanos platform: "do we already have this?" across PIM and supplier feeds (atlas) — by identifier, text or image, with explainable match / review / no_match decisions.

Status: module, providers, freshness signals, the /search/ + /check/ admin API, the image layer (pHash + pluggable embedding providers, HNSW blocking), the human-verdict dedup log and the lookup_eval calibration harness have all landed. See AGENTS.md and docs/ for the full picture: docs/concept.md (scoring/decision rules), docs/api.md (endpoints), docs/operations.md (commands, providers, SSRF guard, calibration).

Installation

pip install entirius-django-lookup

Requires PostgreSQL with the vector (pgvector ≥ 0.7), pg_trgm and unaccent extensions available — migration 0001 creates them. Add django_lookup (and django.contrib.postgres) to INSTALLED_APPS.

Register at least one catalog provider (docs/operations.md § Provider registration) — without one, the module boots but every kind stays unwired.

Settings

Setting Default Meaning
LOOKUP_PROVIDERS {} kind → dotted module path implementing the provider protocol
LOOKUP_EMBEDDING {"provider": "none"} image embedding backend (http / voyage / none / dotted path: url, model, dim, api_key, timeout_s)
LOOKUP_IMAGE_ENABLED False image layer on/off
LOOKUP_THRESHOLDS {"match": 75, "review": 45} decision thresholds on the 0–100 score
LOOKUP_EMBED_ALLOWED_HOSTS [] private hosts the embedding client and remote image fetches may reach
LOOKUP_EMBED_CONCURRENCY 2 embedding batches in flight per process — the backend is shared hardware
LOOKUP_HNSW_EF_SEARCH 60 hnsw.ef_search for the image blocking query
LOOKUP_BLOCK_PRIVATE_HOSTS True SSRF guard master switch; False only in a dev harness

LOOKUP_EMBEDDING["dim"] fixes the halfvec column dimension at import time — changing it needs a new migration and a full re-embed. Full settings reference: docs/operations.md.

Development

make install   # uv sync --all-extras
make test      # pytest against Postgres (DATABASE_URL or LOOKUP_TEST_DB_*; default: localhost:5532 = zeno)
make check     # ruff + canonical .gitleaks.toml

Architecture, API contract and agent instructions: AGENTS.md, docs/.

License

MPL-2.0 — see LICENSE.

Download files

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

Source Distribution

entirius_django_lookup-0.1.0.tar.gz (204.5 kB view details)

Uploaded Source

Built Distribution

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

entirius_django_lookup-0.1.0-py3-none-any.whl (90.5 kB view details)

Uploaded Python 3

File details

Details for the file entirius_django_lookup-0.1.0.tar.gz.

File metadata

  • Download URL: entirius_django_lookup-0.1.0.tar.gz
  • Upload date:
  • Size: 204.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for entirius_django_lookup-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b4b36f9d876690a089e6a401aa1e99bb810c2c5b56f0bd75f56598b8d97a09bc
MD5 04a6c8997a57d42254a7b85c5c4a358b
BLAKE2b-256 ba59fa84832041ebbdf6f22a3fc2dde692683a7a87d2a7a393e763ada6b52d87

See more details on using hashes here.

File details

Details for the file entirius_django_lookup-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: entirius_django_lookup-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 90.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for entirius_django_lookup-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f21f77c0292a1fdac109c3f30ef873c1193c4048a11a167c023ade231e119f7a
MD5 eee9e238047eeb4654ba31d8611d87cb
BLAKE2b-256 e264d15d1272ecf585a32a3e02c75c149f1c7c8a1f6e281ec081113548984568

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.1

2 files

0.2.0

2 files

0.1.1

2 files

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page