Registry / communication / edx-ace

edx-ace

JSON →
library1.15.0pypypi✓ verified 84d ago

A Django based framework for sending messages (email, push, etc.) as part of the Open edX platform. Version 1.15.0 released April 2025. Dropped Python 3.8 support in v1.13.0 and added Django 5.2 support. Maintained by edX team.

pip install edx-ace
INSTALL
IMPORT
SIG · EDX-ACE
E
edx-ace
communicationpythonv1.15.0
Install
11.5s avg
Import
Disk
146MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.15.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 144.9MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 11.5s · import 0.000s · 143MB
146MB installed
● package 146MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

ace
from edx_ace import ace
from edx_ace import send_ace_message
Channel
from edx_ace import Channel
Message
from edx_ace import Message

Create and send a basic message using the ACE framework.

from edx_ace import send_ace_message from edx_ace.message import Message from edx_ace.recipient import Recipient msg = Message( app_name='myapp', name='welcome_email', language='en', recipient=Recipient(username='learner', email='learner@example.com') ) # Add context data as needed msg.context.update({'name': 'John'}) send_ace_message(msg)
Debug
Known issues
breakingv1.15.0: Braze push channel moved to edx-braze-client. If you rely on the BrazePushChannel, you must install edx-braze-client separately.
fix
Add edx-braze-client to your requirements and update imports from edx_ace.channel.braze_push to edx_braze_client.
affects: >=1.15.0
breakingv1.13.0: Python 3.8 support dropped. Django 5.2 added. Ensure your environment uses Python >=3.9.
fix
Upgrade to Python 3.9+ and update Django to 5.2 if using that version.
affects: >=1.13.0
gotchaDo not instantiate Message without the required app_name, name, language, and recipient fields. Missing fields will cause silent failures or AttributeErrors at send time.
fix
Always provide all required arguments to Message(). At minimum: app_name, name, language, and recipient.
affects: all
Upgrade
Version history
1.15.0latest on PyPI · released Jun 25, 2025
Audit
Dependencies
DjangorequiredCore framework dependency
edx-braze-clientoptionalBreaking change in v1.15.0: Braze push channel moved to this package
Agent activity
42 hits · last 30 days
node
34
OpenAI (training)
1
Resources
edx-ace — pip install edx-ace · libregistry