Skip to content

Messaging Public API

codex_django.messaging is the canonical public package for Django-side messaging.

Stable imports

from codex_django.messaging import (
    BaseMessagingEngine,
    MessagingPayloadBuilder,
    BaseEmailContentSelector,
    BaseEmailContentMixin,
    AbstractEmailSettings,
    EmailSettingsSyncMixin,
    DjangoQueueAdapter,
    DjangoDirectAdapter,
    DjangoCacheAdapter,
    DjangoI18nAdapter,
    DjangoArqClient,
    email_template,
    email_rendered,
    notification_handler,
    BaseAudienceBuilder,
    CampaignService,
    MessagingBridge,
    MailboxState,
    CampaignListState,
    RecipientListState,
    DeliveryLogState,
    MessagingCabinetPresenter,
    MessagingCabinetWorkflowService,
)

Use cases

  • Build a project messaging service on top of BaseMessagingEngine
  • Register template/rendered event builders with explicit decorators
  • Reuse abstract models for email settings, recipients, threads, and campaigns
  • Stream recipients via BaseAudienceBuilder
  • Batch campaign dispatch through CampaignService
  • Build reusable cabinet mailbox, campaign, recipient, delivery log, and settings views via codex_django.messaging.cabinet

Cabinet API

from codex_django.messaging.cabinet import (
    MessagingBridge,
    MessagingActionResult,
    MailboxState,
    MailboxThreadState,
    MessageState,
    ReplyComposerState,
    CampaignListState,
    CampaignDetailState,
    CampaignComposerState,
    RecipientListState,
    DeliveryLogState,
    MessagingSettingsState,
    MessagingCabinetPresenter,
    MessagingCabinetWorkflowService,
    build_messaging_sidebar,
    build_messaging_topbar,
)

Legacy cabinet DTOs remain importable for compatibility: InboxMessageState, InboxPanelState, ComposeFieldState, ComposeFormState, CampaignRecipientState, and RecipientPanelState.

For full source-level docstrings, open Messaging internals.