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.1.tar.gz (207.2 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.1-py3-none-any.whl (91.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: entirius_django_lookup-0.1.1.tar.gz
  • Upload date:
  • Size: 207.2 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.1.tar.gz
Algorithm Hash digest
SHA256 56d7fc107130160dec4ec22d8e0a927efb2f6ad1b7d578d421489ae22c0d59ee
MD5 8bceab03db0af8ab920188c421b41e44
BLAKE2b-256 7ca6469d4a2aa0386168e194aac1d41d94154cd0f655df591818e6da48c025c2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: entirius_django_lookup-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 91.7 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9761cf9eba8b6e82e511171d2ea334ad308dc3164b6ef140443a73a3393e21de
MD5 aed1e5ce1a04bf785f5fa591700d955e
BLAKE2b-256 8873ef9e4183581c4fe1574e68fb373430851caec96e879bbf577c3e6ba7d42e

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.1

2 files

0.2.0

2 files

This release

0.1.1 This release

2 files

0.1.0

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