Skip to main content

wagtail-embedvideos

https://badge.fury.io/py/wagtail-embedvideos.svg https://img.shields.io/pypi/pyversions/wagtail-embedvideos.svg https://img.shields.io/pypi/djversions/wagtail-embedvideos.svg https://github.com/bashu/wagtail-embedvideos/actions/workflows/test.yml/badge.svg

Simple app that works similar to wagtailimages, but for embedding YouTube and Vimeo videos and music from SoundCloud.

The current version is tested for compatiblily with the following:

  • Wagtail version 4.x

  • Django versions 3.2 to 4.0

  • Python versions 3.8 to 3.10

Maintained by Basil Shubin, and some great contributors.

https://raw.githubusercontent.com/bashu/wagtail-embedvideos/develop/screenshot.png

Installation

First install the module, preferably in a virtual environment. It can be installed from PyPI:

pip install wagtail-embedvideos

Requirements

You must have django-embed-video installed and configured, see the django-embed-video documentation for details and setup instructions.

Setup

Make sure the project is configured for django-embed-video.

Then add the following settings:

INSTALLED_APPS += (
    "wagtail_embed_videos",
)

Then run ./manage.py migrate to create the required database tables.

Usage

In models, implement as a ForeignKey relation, same as wagtailimages.

# models.py

from wagtail.models import Page, PageBase

from wagtail_embed_videos import get_embed_video_model_string
from wagtail_embed_videos.edit_handlers import EmbedVideoChooserPanel

class CustomPage(Page):
    video = models.ForeignKey(
        get_embed_video_model_string(),
        null=True, blank=True,
        on_delete=models.SET_NULL,
        related_name='+'
    )

    # ...

    content_panels = [
            EmbedVideoChooserPanel('video'),
    ]

In templates, load the embed_video_tags library in every template where you want to use it:

<!-- custom_page.html -->

{% load embed_video_tags %}

{% video self.video.url as my_video %}
    {% video my_video 'small' %}
{% endvideo %}

Check django-embed-video documentation for more details.

Contributing

If you like this module, forked it, or would like to improve it, please let us know! Pull requests are welcome too. :-)

Credits

wagtail-embedvideos was originally started by InfoPortugal, S.A. who has now unfortunately abandoned the project.

License

wagtail-embedvideos is released under the BSD license.

Changes

4.1.0 (2026-09-04)

  • Wagtail version 4.1 supported. Dropped support for Wagtail < 4.1.

  • Switched get_usage() to Wagtail 4.1’s ReferenceIndex API (wagtail.models.ReferenceIndex.get_references_to(self).group_by_source_object()), replacing the old reflection-based get_object_usage(). Existing installations must run ./manage.py rebuild_references_index once after upgrading, to backfill usage data for content saved before the upgrade.

  • The embed video “usage” view now checks “change” permission on the specific instance, and resolves proper edit URLs/labels for referencing objects via AdminURLFinder; the usage template shows which field/content path each reference comes from.

  • Added a usage count link to the embed video edit page, and removed the usage_count_enabled feature-flag guard around usage counts on the delete/bulk-delete confirmation templates (usage counting is now always available via ReferenceIndex).

  • Fixed get_valid_next_url_from_request import (wagtail.admin.views.pages.utils moved to wagtail.admin.utils in Wagtail 4.1).

4.0.0 (2026-09-04)

  • Wagtail version 4.x supported. Dropped support for Wagtail < 4.0.

  • Rewrote the embed video chooser (widget, views and JS) on Wagtail 4.x’s generic chooser framework (wagtail.admin.views.generic.chooser, wagtail.admin.viewsets.chooser.ChooserViewSet, wagtail.admin.widgets.BaseChooser), replacing the old AdminChooser/ModalWorkflow-based implementation.

  • Dropped the vendored tabs.js: Wagtail 4.x exposes its own chooser-modal JS (window.Chooser, window.ChooserModalOnloadHandlerFactory) as public globals for exactly this purpose, so it’s no longer needed.

  • Dropped support for Python 3.7 (no longer obtainable via uv/ python-build-standalone; EOL since June 2023). Python versions 3.8 to 3.10 supported.

  • Excluded the tests package from the built wheel/sdist.

3.0.0 (2026-09-04)

  • Wagtail version 3.x supported. Dropped support for Wagtail < 3.0.

  • Django versions 3.2 and 4.0 supported. Dropped support for Django < 3.2.

  • Python versions 3.8 to 3.10 supported.

  • Vendored Wagtail’s own tabs.js into the embed video chooser modal, since Wagtail 3.x no longer exposes it as a public global, restoring full keyboard accessibility for the chooser’s tabbed UI.

  • Migrated packaging from setup.py/setup.cfg to pyproject.toml.

  • Switched CI from Travis to GitHub Actions.

  • Fixed broken imports.

0.5.12 (2022-04-20)

  • Fixed broken imports.

0.5.11 (2021-12-13)

  • Added ru translation.

0.5.10 (2021-12-06)

  • Fixed stupid typo.

0.5.9 (2021-12-06)

  • Wagtail version >= 2.15 supported.

0.5.8 (2021-11-12)

  • Wagtail version >= 2.14 supported.

0.5.7 (2021-11-11)

  • Wagtail version >= 2.13 supported.

0.5.6 (2021-11-10)

  • Wagtail version >= 2.12 supported.

0.5.5 (2021-11-09)

  • Wagtail version >= 2.11 supported.

0.5.4 (2021-11-08)

  • Wagtail version >= 2.10 supported.

0.5.3 (2021-11-07)

  • Replacing broken 0.5.2 release.

0.5.2 (2021-11-06)

  • Wagtail version >= 2.9 supported.

0.5.1 (2021-11-05)

  • Wagtail version >= 2.8 supported.

0.5.0 (2021-11-04)

  • Wagtail version >= 2.4 supported.

  • Dropped support for Python < 3.x.

0.4.1 (2018-08-22)

  • Wagtail version >= 2.x supported.

  • Django version >= 2.x supported.

  • Dropped support for Wagtail < 2.x.

0.3.0 (2017-04-24)

  • Changed the structure of “AbstractEmbedVideo”, because “TagSearchable” is not used anymore.

0.2.5 (2017-02-09)

  • This is the last version compatible with Wagtail <= 1.6, because TagSearchable was deprecated and then removed.

Metadata

Release files for wagtail-embedvideos 4.1.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 wagtail-embedvideos 4.1.0
File Size Uploaded
wagtail_embedvideos-4.1.0.tar.gz 36.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for wagtail-embedvideos 4.1.0
File Interpreter ABI Platform
wagtail_embedvideos-4.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 90.9 kB

Release files / wagtail_embedvideos-4.1.0.tar.gz

Download URL wagtail_embedvideos-4.1.0.tar.gz
Size 36.7 kB
Tags Source
SHA-256 checksum
How to use checksums
6ab49b6bbabcdd6fb98c3b271e7657cf2231ec591289b28e50f45f9fda6d2874
BLAKE2b-256 checksum
How to use checksums
93e20bde6d0af82233bfa3dbdf830684988638301c0933f9176b763aa6ed0681
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 4, 2026.

Transparency log

Release files / wagtail_embedvideos-4.1.0-py3-none-any.whl

Download URL wagtail_embedvideos-4.1.0-py3-none-any.whl
Size 54.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f04c3a260a04f8882d95f3ac083d2f29d876c36852c9ab97b74ae529e4b1beec
BLAKE2b-256 checksum
How to use checksums
f640b85d43229cd4ed817b19e443ea57a3fc1517b0627a84c0eec93ac025a768
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 4, 2026.

Transparency log

Release history Release notifications | RSS feed

7.0.0

2 release files

6.4.0

2 release files

6.3.0

2 release files

6.2.0

2 release files

6.1.0

2 release files

6.0.0

2 release files

5.2.0

2 release files

5.1.0

2 release files

5.0.1

2 release files

5.0.0

2 release files

This release

4.1.0 This release

2 release files

0.5.12

2 release files

0.5.11

2 release files

0.5.9

2 release files

0.5.8

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.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