Skip to main content

entirius-django-siteintel

A Django module for domain intelligence in Entirius, the open-source modular ecommerce platform. It audits a website per registrable domain with PageSpeed Insights, urlscan.io and its own heuristic fetch, and announces the finished audit with one signal.

PyPI Python License: MPL-2.0

What it does

  • Audits a domain with three sources: PageSpeed Insights (Lighthouse), urlscan.io and a heuristic page fetch.
  • Reuses the valid audit of a domain within a channel instead of fetching again; audits expire on a schedule.
  • Announces every finished run once through the report_ready signal, with the sources that succeeded.
  • Guards its own fetches against private hosts and oversized pages, and trims stored snapshots.
  • Loads sources from the siteintel_sources entry-point group, so a host can add its own.
  • Exposes an admin API (JWT, Pydantic schemas, OpenAPI) for the CMS.

Installation

uv add entirius-django-siteintel
pip install entirius-django-siteintel
INSTALLED_APPS = [
    # ...
    "django_utils",
    "django_siteintel",
]

# main/urls.py
urlpatterns.append(path("", include("django_siteintel.urls")))

The module needs a Celery worker consuming the siteintel_default queue and two beat entries. The SITEINTEL_* settings, the API keys of the sources and the bootstrap order: docs/install.md — https://github.com/entirius/entirius-django-siteintel/blob/develop/docs/install.md

Quick start

from django_siteintel.services.audit_service import request_audit

audit = request_audit(
    domain_or_url="example.com",
    channel_idx="my-channel",
    requested_by="leads.Company:42",
)

The call returns the valid audit of the domain or queues a new run. Connect a receiver to django_siteintel.signals.report_ready (audit, succeeded_sources) to act on the result.

Requirements

  • Python 3.11 or newer, Django 4.2 or newer.
  • PostgreSQL.
  • A Celery worker consuming the siteintel_default queue, and Celery beat.
  • Entirius packages pulled in: entirius-django-utils.

Documentation

Part of Entirius

This module runs inside the Entirius backend service (Volkanos); the leads module requests audits from it.

Development

make install     # sync dependencies (uv, incl. extras)
make check       # lint + format check (ruff)
make test        # test suite (pytest; PostgreSQL through DATABASE_URL)

Development and agent instructions: https://github.com/entirius/entirius-django-siteintel/blob/develop/AGENTS.md

License

Mozilla Public License 2.0 (MPL-2.0) — see https://github.com/entirius/entirius-django-siteintel/blob/develop/LICENSE.

Metadata

Release files for entirius-django-siteintel 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for entirius-django-siteintel 0.3.0
File Size Uploaded
entirius_django_siteintel-0.3.0.tar.gz 134.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for entirius-django-siteintel 0.3.0
File Interpreter ABI Platform
entirius_django_siteintel-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 189.9 kB

Release files / entirius_django_siteintel-0.3.0.tar.gz

Download URL entirius_django_siteintel-0.3.0.tar.gz
Size 134.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e15d1126b88ea730dc558f14f70341099858b99a1aee10cbc490f8f52cb83940
BLAKE2b-256 checksum
How to use checksums
546b4b3b8d90f60e63e9a31d1ea62e6c26da1f11990dfa26db2aeb8f914aedfc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","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}

Release files / entirius_django_siteintel-0.3.0-py3-none-any.whl

Download URL entirius_django_siteintel-0.3.0-py3-none-any.whl
Size 55.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
89cc2e807323e9330ec7d7b5e4ed6b12d5fc9c01ddc45594799920d239ab89c4
BLAKE2b-256 checksum
How to use checksums
01156ae23e0f78f4ab126cbdc96893d588409f709cbe523a1278446cf2c92074
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","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}

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release 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