Skip to main content

platzky-umami

Platzky plugin that injects the Umami analytics script into the page <head>. Umami is a privacy-focused, cookie-free analytics tool, so no consent banner is needed for a default install.

Installation

pip install platzky_umami

Getting the website ID

In your Umami dashboard go to Settings → Websites → Edit for the site you want to track. The Website ID is a UUID such as 1a2b3c4d-5e6f-4a8b-9c0d-1e2f3a4b5c6d. It is public — it ends up in the page source — so it is not a secret.

Activation

Add the plugin to the plugins mapping in your Platzky database configuration. The key must match the entry-point name declared in pyproject.toml (umami):

{
    "plugins": {
        "umami": {
            "is_active": true,
            "config": {
                "website_id": "1a2b3c4d-5e6f-4a8b-9c0d-1e2f3a4b5c6d"
            },
            "allowed_page_sections": ["head"]
        }
    }
}

allowed_page_sections is the admin-side allowlist and is required: the engine injects only the intersection of it and what the plugin declares. This plugin declares head only, so omitting allowed_page_sections (or leaving it empty) loads the plugin but injects nothing.

That configuration renders into every page's <head>:

<!-- Umami Analytics -->
<script defer src="https://cloud.umami.is/script.js" data-website-id="1a2b3c4d-5e6f-4a8b-9c0d-1e2f3a4b5c6d"></script>
<!-- End Umami Analytics -->

Configuration

Key Required Default Description
website_id yes — Website ID from the Umami dashboard. Must be a UUID.
script_url no https://cloud.umami.is/script.js Tracker script URL. Point it at your own instance when self-hosting.

Self-hosted Umami

{
    "plugins": {
        "umami": {
            "is_active": true,
            "config": {
                "website_id": "1a2b3c4d-5e6f-4a8b-9c0d-1e2f3a4b5c6d",
                "script_url": "https://analytics.example.com/script.js"
            },
            "allowed_page_sections": ["head"]
        }
    }
}

An invalid website_id or script_url raises ConfigPluginError at startup rather than shipping a broken script tag.

Development

poetry install
make dev            # lint, then pyright
make lint-check     # CI gate
make coverage       # branch coverage, fails under 90%

Release files for platzky-umami 0.2.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 platzky-umami 0.2.0
File Size Uploaded
platzky_umami-0.2.0.tar.gz 3.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for platzky-umami 0.2.0
File Interpreter ABI Platform
platzky_umami-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 8.4 kB

Release files / platzky_umami-0.2.0.tar.gz

Download URL platzky_umami-0.2.0.tar.gz
Size 3.8 kB
Tags Source
SHA-256 checksum
How to use checksums
5293b12e9ccd3c14e40b557226b79f9ee58704e8c2b4b0fb5f626d9072b283e1
BLAKE2b-256 checksum
How to use checksums
9570ed9b5a166b06bb6ec1148d068b52310b90be753d2f77f8cdb734e59d17f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / platzky_umami-0.2.0-py3-none-any.whl

Download URL platzky_umami-0.2.0-py3-none-any.whl
Size 4.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
49cd31230a20a1ed94a3d01fa42682582d31532f54caacdc3290e472f162d0c0
BLAKE2b-256 checksum
How to use checksums
d74300d4a32e6b7d1fdfcd41d961a1aed1a895c8c0e0772bb3e282e908f6d04c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

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