EddyTor for Django

A free rich-text editor
for your Django apps.

geteddytor-django drops a modern, Notion-style WYSIWYG editor into any Django form — slash commands, AI, and media built in. An open, MIT-licensed alternative to paid editors like CKEditor, with no per-seat fees or license keys.

$pip install geteddytor-django
MIT licensed Django 3.2+ Python 3.8+ v0.18.2

Paid editors lock features behind a license.
EddyTor doesn't.

Commercial editors (e.g. CKEditor)
  • Premium features need a paid commercial license
  • Per-seat or usage-based pricing as you grow
  • License keys and account setup to manage
  • Vendor lock-in for advanced functionality
geteddytor-django
  • MIT licensed — free for personal & commercial use
  • No per-seat fees, no usage limits, no keys
  • One pip install and a widget — done
  • Self-hosted, with your data on your servers

Up and running in three steps.

1

Install

Add the package from PyPI.

pip install geteddytor-django
2

Register the app

Add it to INSTALLED_APPS.

INSTALLED_APPS = [
    # …
    "django_eddytor",
]
3

Use the widget

Drop it into any form field.

from django_eddytor.widgets \
  import EddytorWidget

content = forms.CharField(
  widget=EddytorWidget())

A modern editing experience, built in.

/

Slash commands

A Notion-style / menu for headings, lists, tables, code, and more — no toolbar hunting.

AI integration

Built-in AI assistance to draft, rewrite, and refine content right inside the editor.

Media support

Images and rich media embed cleanly into your content and persist with your model.

Integrations

Connectors for Confluence and Azure DevOps to bring content in from where your team works.

MIT licensed

Free for personal and commercial projects. No license keys, no per-seat billing.

Drop-in widget

Works as a standard Django form widget — swap it in anywhere you'd use a textarea.

Add EddyTor to your Django app

Free and MIT-licensed. Install from PyPI and ship a better editor today.

View on PyPI Get the desktop app

geteddytor-django · MIT · Django 3.2+ · Python 3.8+