edx-ace


Nameedx-ace JSON
Version 1.8.0 PyPI version JSON
download
home_pagehttps://github.com/openedx/edx-ace
SummaryFramework for Messaging
upload_time2024-03-07 09:18:11
maintainer
docs_urlNone
authoredX
requires_python
licenseAGPL 3.0
keywords django edx
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            edX Automated Communication Engine (A.C.E.)
###########################################

|License: AGPL v3| |Python CI| |Publish package to PyPi| |Status| |pypi-badge| |travis-badge| |codecov-badge|
|doc-badge| |pyversions-badge|

Purpose
=======

The `automated communication engine <https://edx-ace.readthedocs.io/en/latest/>`_, A.C.E. for short, is a Django app
for messaging learners on the Open edX platform. This
app can be installed in any Open edX project, but has only been tested with ``edx-platform``. Email delivery
(via Sailthru and Django Email)
are the currently supported delivery channels. In the future we may add support for other delivery channels such as push
notifications.

Getting Started
===============

For instructions on starting local development, see `Getting Started <https://github.com/openedx/edx-ace/blob/master/docs/getting_started.rst>`_.

Getting Help
============

Documentation
-------------

See `the documentation`_.  If you need more help see below.

.. _the documentation: https://edx-ace.readthedocs.io/en/latest/

More Help
----------

If you're having trouble, we have discussion forums at
https://discuss.openedx.org where you can connect with others in the
community.

Our real-time conversations are on Slack. You can request a `Slack
invitation`_, then join our `community Slack workspace`_.

For anything non-trivial, the best path is to open an issue in this
repository with as many details about the issue you are facing as you
can provide.

https://github.com/openedx/edx-ace/issues

For more information about these options, see the `Getting Help`_ page.

.. _Slack invitation: https://openedx.org/slack
.. _community Slack workspace: https://openedx.slack.com/
.. _Getting Help: https://openedx.org/getting-help

License
=======

The code in this repository is licensed under the AGPL 3.0 unless
otherwise noted.

Please see ``LICENSE.txt`` for details.

Contributing
============

Contributions are very welcome.

Please read `How To Contribute <https://openedx.org/r/how-to-contribute>`_ for details.

Even though they were written with ``edx-platform`` in mind, the guidelines
should be followed for Open edX code in general.

PR description template should be automatically applied if you are sending PR from github interface; otherwise you
can find it
at `PULL_REQUEST_TEMPLATE.md <https://github.com/openedx/edx-ace/blob/master/.github/PULL_REQUEST_TEMPLATE.md>`_

Issue report template should be automatically applied if you are sending it from github UI as well; otherwise you
can find it at `ISSUE_TEMPLATE.md <https://github.com/openedx/edx-ace/blob/master/.github/ISSUE_TEMPLATE.md>`_

The Open edX Code of Conduct
============================

All community members are expected to follow the `Open edX Code of Conduct`_.

.. _Open edX Code of Conduct: https://openedx.org/code-of-conduct/

People
======

The assigned maintainers for this component and other project details may be
found in `Backstage`_. Backstage pulls this data from the ``catalog-info.yaml``
file in this repo.

.. _Backstage: https://open-edx-backstage.herokuapp.com/catalog/default/component/edx-ace

Reporting Security Issues
=========================

Please do not report security issues in public. Please email security@openedx.org.

.. |pypi-badge| image:: https://img.shields.io/pypi/v/edx-ace.svg
    :target: https://pypi.python.org/pypi/edx-ace/
    :alt: PyPI

.. |travis-badge| image:: https://travis-ci.com/edx/edx-ace.svg?branch=master
    :target: https://travis-ci.com/edx/edx-ace
    :alt: Travis

.. |codecov-badge| image:: http://codecov.io/github/edx/edx-ace/coverage.svg?branch=master
    :target: http://codecov.io/github/edx/edx-ace?branch=master
    :alt: Codecov

.. |doc-badge| image:: https://readthedocs.org/projects/edx-ace/badge/?version=latest
    :target: http://edx-ace.readthedocs.io/en/latest/
    :alt: Documentation

.. |pyversions-badge| image:: https://img.shields.io/pypi/pyversions/edx-ace.svg
    :target: https://pypi.python.org/pypi/edx-ace/
    :alt: Supported Python versions

.. |license-badge| image:: https://img.shields.io/github/license/edx/edx-ace.svg
    :target: https://github.com/openedx/edx-ace/blob/master/LICENSE.txt
    :alt: License

.. |License: AGPL v3| image:: https://img.shields.io/badge/License-AGPL_v3-blue.svg
  :target: https://www.gnu.org/licenses/agpl-3.0

.. |Python CI| image:: https://github.com/openedx/edx-ace/actions/workflows/ci.yml/badge.svg
  :target: https://github.com/openedx/edx-ace/actions/workflows/ci.yml

.. |Publish package to PyPi| image:: https://github.com/openedx/edx-ace/actions/workflows/pypi-publish.yml/badge.svg
  :target: https://github.com/openedx/edx-ace/actions/workflows/pypi-release.yml

.. |Status| image:: https://img.shields.io/badge/Status-Maintained-brightgreen


Change Log
----------

..
   All enhancements and patches to edx_ace will be documented
   in this file.  It adheres to the structure of http://keepachangelog.com/ ,
   but in reStructuredText instead of Markdown (for ease of incorporation into
   Sphinx documentation and the PyPI description).

   This project adheres to Semantic Versioning (http://semver.org/).

.. There should always be an "Unreleased" section for changes pending release.

Unreleased
~~~~~~~~~~

[1.8.0] - 2024-03-06
~~~~~~~~~~~~~~~~~~~~
* Added support for ``Python 3.12``
* Dropped support for ``Django 3.2``


[1.7.0] - 2023-07-21
~~~~~~~~~~~~~~~~~~~~

* Switch from ``edx-sphinx-theme`` to ``sphinx-book-theme`` since the former is
  deprecated
* Added support for django 4.2

[1.6.1] - 2023-02-07
~~~~~~~~~~~~~~~~~~~~

* Updated code coverage target in https://github.com/openedx/edx-ace/pull/189
* Updated Python Requirements in https://github.com/openedx/edx-ace/pull/199
* **Full Changelog**: https://github.com/openedx/edx-ace/compare/v1.6.0...v1.6.1

[1.5.0] - 2022-02-15
~~~~~~~~~~~~~~~~~~~~

* Added support for Django40
* Removed support for Django22, 30 and 31

[1.4.1] - 2021-12-06
~~~~~~~~~~~~~~~~~~~~

* Adds in the ability to override frequency caps for Braze emails. Can be accessed via
  Message options using the key ``override_frequency_capping``. All emails containing the
  ``transactional`` Message option will also override frequency caps.

[1.4.0] - 2021-11-08
~~~~~~~~~~~~~~~~~~~~

* Deprecate the action_links property
* Add a get_action_links method and template tag to allow passing arguments to action links

[1.3.1] - 2021-08-17
~~~~~~~~~~~~~~~~~~~~

* Adjust name ``handles_delivery_for_message`` to ``overrides_delivery_for_message``

[1.3.0] - 2021-08-16
~~~~~~~~~~~~~~~~~~~~

* New channel method ``handles_delivery_for_message`` for allowing a default channel
  to claim a message, even if it would normally be delivered to the configured
  transactional channel.
* Braze: Will handle any message defined in ``ACE_CHANNEL_BRAZE_CAMPAIGNS`` (using the
  above new feature) to steal campaign messages from the transactional channel as
  needed.

[1.2.0] - 2021-07-16
~~~~~~~~~~~~~~~~~~~~

* Added support for django 3.2

[1.1.1] - 2021-07-09
~~~~~~~~~~~~~~~~~~~~

* Removed upper constraint from Django

[1.1.0] - 2021-03-26
~~~~~~~~~~~~~~~~~~~~

* Braze: Add ACE_CHANNEL_BRAZE_FROM_EMAIL setting to override the normal from address
* Sailthru: Remove Braze rollout waffle flag

[1.0.1] - 2021-03-15
~~~~~~~~~~~~~~~~~~~~

* Braze: Add an unsubscribe action link
* Braze: Don't ask Braze to inline css, as ACE templates already have inline css

[1.0.0] - 2021-03-11
~~~~~~~~~~~~~~~~~~~~

* BREAKING: Recipient objects now take `lms_user_id` instead of `username`
* New `braze_email` backend, needing the following new configuration:

  * ACE_CHANNEL_BRAZE_API_KEY
  * ACE_CHANNEL_BRAZE_APP_ID
  * ACE_CHANNEL_BRAZE_REST_ENDPOINT (like `rest.iad-01.braze.com`)
  * ACE_CHANNEL_BRAZE_CAMPAIGNS (an optional dictionary of ACE message names to Braze campaign identifiers)

[0.1.18] - 2020-11-19
~~~~~~~~~~~~~~~~~~~~~

* Updated he travis-badge in README.rst to point to travis-ci.com

[0.1.17] - 2020-10-19
~~~~~~~~~~~~~~~~~~~~~

* Use IntEnum to avoid silent failure in value comparisons

[0.1.16] - 2020-10-17
~~~~~~~~~~~~~~~~~~~~~

* Fixed Enum usage for Python 3.8 to avoid TypeError when comparing values

[0.1.15] - 2020-03-11
~~~~~~~~~~~~~~~~~~~~~

* Added support for Python 3.8
* Removed support for Django 2.0 and 2.1

[0.1.14] - 2020-03-11
~~~~~~~~~~~~~~~~~~~~~

* Fix trivial warning from deprecated use of attr library.

[0.1.13] - 2019-12-06
~~~~~~~~~~~~~~~~~~~~~

* Django22 Support.

[0.1.12] - 2019-10-16
~~~~~~~~~~~~~~~~~~~~~

* Reply_to field added in emails.

[0.1.10] - 2018-11-01
~~~~~~~~~~~~~~~~~~~~~

* Django lazy text translations are handled properly.


[0.1.9] - 2018-07-13
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Updated delivery logging


[0.1.0] - 2017-08-08
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Added
_____

* First release on PyPI.



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/openedx/edx-ace",
    "name": "edx-ace",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "Django edx",
    "author": "edX",
    "author_email": "oscm@edx.org",
    "download_url": "https://files.pythonhosted.org/packages/97/a5/a83b8e146f7ccaeb7d10233b783d873b54d485eb511fddcc9eb8f71f3819/edx-ace-1.8.0.tar.gz",
    "platform": null,
    "description": "edX Automated Communication Engine (A.C.E.)\n###########################################\n\n|License: AGPL v3| |Python CI| |Publish package to PyPi| |Status| |pypi-badge| |travis-badge| |codecov-badge|\n|doc-badge| |pyversions-badge|\n\nPurpose\n=======\n\nThe `automated communication engine <https://edx-ace.readthedocs.io/en/latest/>`_, A.C.E. for short, is a Django app\nfor messaging learners on the Open edX platform. This\napp can be installed in any Open edX project, but has only been tested with ``edx-platform``. Email delivery\n(via Sailthru and Django Email)\nare the currently supported delivery channels. In the future we may add support for other delivery channels such as push\nnotifications.\n\nGetting Started\n===============\n\nFor instructions on starting local development, see `Getting Started <https://github.com/openedx/edx-ace/blob/master/docs/getting_started.rst>`_.\n\nGetting Help\n============\n\nDocumentation\n-------------\n\nSee `the documentation`_.  If you need more help see below.\n\n.. _the documentation: https://edx-ace.readthedocs.io/en/latest/\n\nMore Help\n----------\n\nIf you're having trouble, we have discussion forums at\nhttps://discuss.openedx.org where you can connect with others in the\ncommunity.\n\nOur real-time conversations are on Slack. You can request a `Slack\ninvitation`_, then join our `community Slack workspace`_.\n\nFor anything non-trivial, the best path is to open an issue in this\nrepository with as many details about the issue you are facing as you\ncan provide.\n\nhttps://github.com/openedx/edx-ace/issues\n\nFor more information about these options, see the `Getting Help`_ page.\n\n.. _Slack invitation: https://openedx.org/slack\n.. _community Slack workspace: https://openedx.slack.com/\n.. _Getting Help: https://openedx.org/getting-help\n\nLicense\n=======\n\nThe code in this repository is licensed under the AGPL 3.0 unless\notherwise noted.\n\nPlease see ``LICENSE.txt`` for details.\n\nContributing\n============\n\nContributions are very welcome.\n\nPlease read `How To Contribute <https://openedx.org/r/how-to-contribute>`_ for details.\n\nEven though they were written with ``edx-platform`` in mind, the guidelines\nshould be followed for Open edX code in general.\n\nPR description template should be automatically applied if you are sending PR from github interface; otherwise you\ncan find it\nat `PULL_REQUEST_TEMPLATE.md <https://github.com/openedx/edx-ace/blob/master/.github/PULL_REQUEST_TEMPLATE.md>`_\n\nIssue report template should be automatically applied if you are sending it from github UI as well; otherwise you\ncan find it at `ISSUE_TEMPLATE.md <https://github.com/openedx/edx-ace/blob/master/.github/ISSUE_TEMPLATE.md>`_\n\nThe Open edX Code of Conduct\n============================\n\nAll community members are expected to follow the `Open edX Code of Conduct`_.\n\n.. _Open edX Code of Conduct: https://openedx.org/code-of-conduct/\n\nPeople\n======\n\nThe assigned maintainers for this component and other project details may be\nfound in `Backstage`_. Backstage pulls this data from the ``catalog-info.yaml``\nfile in this repo.\n\n.. _Backstage: https://open-edx-backstage.herokuapp.com/catalog/default/component/edx-ace\n\nReporting Security Issues\n=========================\n\nPlease do not report security issues in public. Please email security@openedx.org.\n\n.. |pypi-badge| image:: https://img.shields.io/pypi/v/edx-ace.svg\n    :target: https://pypi.python.org/pypi/edx-ace/\n    :alt: PyPI\n\n.. |travis-badge| image:: https://travis-ci.com/edx/edx-ace.svg?branch=master\n    :target: https://travis-ci.com/edx/edx-ace\n    :alt: Travis\n\n.. |codecov-badge| image:: http://codecov.io/github/edx/edx-ace/coverage.svg?branch=master\n    :target: http://codecov.io/github/edx/edx-ace?branch=master\n    :alt: Codecov\n\n.. |doc-badge| image:: https://readthedocs.org/projects/edx-ace/badge/?version=latest\n    :target: http://edx-ace.readthedocs.io/en/latest/\n    :alt: Documentation\n\n.. |pyversions-badge| image:: https://img.shields.io/pypi/pyversions/edx-ace.svg\n    :target: https://pypi.python.org/pypi/edx-ace/\n    :alt: Supported Python versions\n\n.. |license-badge| image:: https://img.shields.io/github/license/edx/edx-ace.svg\n    :target: https://github.com/openedx/edx-ace/blob/master/LICENSE.txt\n    :alt: License\n\n.. |License: AGPL v3| image:: https://img.shields.io/badge/License-AGPL_v3-blue.svg\n  :target: https://www.gnu.org/licenses/agpl-3.0\n\n.. |Python CI| image:: https://github.com/openedx/edx-ace/actions/workflows/ci.yml/badge.svg\n  :target: https://github.com/openedx/edx-ace/actions/workflows/ci.yml\n\n.. |Publish package to PyPi| image:: https://github.com/openedx/edx-ace/actions/workflows/pypi-publish.yml/badge.svg\n  :target: https://github.com/openedx/edx-ace/actions/workflows/pypi-release.yml\n\n.. |Status| image:: https://img.shields.io/badge/Status-Maintained-brightgreen\n\n\nChange Log\n----------\n\n..\n   All enhancements and patches to edx_ace will be documented\n   in this file.  It adheres to the structure of http://keepachangelog.com/ ,\n   but in reStructuredText instead of Markdown (for ease of incorporation into\n   Sphinx documentation and the PyPI description).\n\n   This project adheres to Semantic Versioning (http://semver.org/).\n\n.. There should always be an \"Unreleased\" section for changes pending release.\n\nUnreleased\n~~~~~~~~~~\n\n[1.8.0] - 2024-03-06\n~~~~~~~~~~~~~~~~~~~~\n* Added support for ``Python 3.12``\n* Dropped support for ``Django 3.2``\n\n\n[1.7.0] - 2023-07-21\n~~~~~~~~~~~~~~~~~~~~\n\n* Switch from ``edx-sphinx-theme`` to ``sphinx-book-theme`` since the former is\n  deprecated\n* Added support for django 4.2\n\n[1.6.1] - 2023-02-07\n~~~~~~~~~~~~~~~~~~~~\n\n* Updated code coverage target in https://github.com/openedx/edx-ace/pull/189\n* Updated Python Requirements in https://github.com/openedx/edx-ace/pull/199\n* **Full Changelog**: https://github.com/openedx/edx-ace/compare/v1.6.0...v1.6.1\n\n[1.5.0] - 2022-02-15\n~~~~~~~~~~~~~~~~~~~~\n\n* Added support for Django40\n* Removed support for Django22, 30 and 31\n\n[1.4.1] - 2021-12-06\n~~~~~~~~~~~~~~~~~~~~\n\n* Adds in the ability to override frequency caps for Braze emails. Can be accessed via\n  Message options using the key ``override_frequency_capping``. All emails containing the\n  ``transactional`` Message option will also override frequency caps.\n\n[1.4.0] - 2021-11-08\n~~~~~~~~~~~~~~~~~~~~\n\n* Deprecate the action_links property\n* Add a get_action_links method and template tag to allow passing arguments to action links\n\n[1.3.1] - 2021-08-17\n~~~~~~~~~~~~~~~~~~~~\n\n* Adjust name ``handles_delivery_for_message`` to ``overrides_delivery_for_message``\n\n[1.3.0] - 2021-08-16\n~~~~~~~~~~~~~~~~~~~~\n\n* New channel method ``handles_delivery_for_message`` for allowing a default channel\n  to claim a message, even if it would normally be delivered to the configured\n  transactional channel.\n* Braze: Will handle any message defined in ``ACE_CHANNEL_BRAZE_CAMPAIGNS`` (using the\n  above new feature) to steal campaign messages from the transactional channel as\n  needed.\n\n[1.2.0] - 2021-07-16\n~~~~~~~~~~~~~~~~~~~~\n\n* Added support for django 3.2\n\n[1.1.1] - 2021-07-09\n~~~~~~~~~~~~~~~~~~~~\n\n* Removed upper constraint from Django\n\n[1.1.0] - 2021-03-26\n~~~~~~~~~~~~~~~~~~~~\n\n* Braze: Add ACE_CHANNEL_BRAZE_FROM_EMAIL setting to override the normal from address\n* Sailthru: Remove Braze rollout waffle flag\n\n[1.0.1] - 2021-03-15\n~~~~~~~~~~~~~~~~~~~~\n\n* Braze: Add an unsubscribe action link\n* Braze: Don't ask Braze to inline css, as ACE templates already have inline css\n\n[1.0.0] - 2021-03-11\n~~~~~~~~~~~~~~~~~~~~\n\n* BREAKING: Recipient objects now take `lms_user_id` instead of `username`\n* New `braze_email` backend, needing the following new configuration:\n\n  * ACE_CHANNEL_BRAZE_API_KEY\n  * ACE_CHANNEL_BRAZE_APP_ID\n  * ACE_CHANNEL_BRAZE_REST_ENDPOINT (like `rest.iad-01.braze.com`)\n  * ACE_CHANNEL_BRAZE_CAMPAIGNS (an optional dictionary of ACE message names to Braze campaign identifiers)\n\n[0.1.18] - 2020-11-19\n~~~~~~~~~~~~~~~~~~~~~\n\n* Updated he travis-badge in README.rst to point to travis-ci.com\n\n[0.1.17] - 2020-10-19\n~~~~~~~~~~~~~~~~~~~~~\n\n* Use IntEnum to avoid silent failure in value comparisons\n\n[0.1.16] - 2020-10-17\n~~~~~~~~~~~~~~~~~~~~~\n\n* Fixed Enum usage for Python 3.8 to avoid TypeError when comparing values\n\n[0.1.15] - 2020-03-11\n~~~~~~~~~~~~~~~~~~~~~\n\n* Added support for Python 3.8\n* Removed support for Django 2.0 and 2.1\n\n[0.1.14] - 2020-03-11\n~~~~~~~~~~~~~~~~~~~~~\n\n* Fix trivial warning from deprecated use of attr library.\n\n[0.1.13] - 2019-12-06\n~~~~~~~~~~~~~~~~~~~~~\n\n* Django22 Support.\n\n[0.1.12] - 2019-10-16\n~~~~~~~~~~~~~~~~~~~~~\n\n* Reply_to field added in emails.\n\n[0.1.10] - 2018-11-01\n~~~~~~~~~~~~~~~~~~~~~\n\n* Django lazy text translations are handled properly.\n\n\n[0.1.9] - 2018-07-13\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Updated delivery logging\n\n\n[0.1.0] - 2017-08-08\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAdded\n_____\n\n* First release on PyPI.\n\n\n",
    "bugtrack_url": null,
    "license": "AGPL 3.0",
    "summary": "Framework for Messaging",
    "version": "1.8.0",
    "project_urls": {
        "Homepage": "https://github.com/openedx/edx-ace"
    },
    "split_keywords": [
        "django",
        "edx"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "615f208feb69974c6f2e2e753d37a55ecd3d17cb695bb5353aee4904920e90a7",
                "md5": "a37ecad7dfa516f1889229376dac1596",
                "sha256": "95a86365ccac9147881404b6d3b1507f89929a875d6ad29957ce3fa1cf9e3090"
            },
            "downloads": -1,
            "filename": "edx_ace-1.8.0-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a37ecad7dfa516f1889229376dac1596",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": null,
            "size": 58996,
            "upload_time": "2024-03-07T09:18:10",
            "upload_time_iso_8601": "2024-03-07T09:18:10.231328Z",
            "url": "https://files.pythonhosted.org/packages/61/5f/208feb69974c6f2e2e753d37a55ecd3d17cb695bb5353aee4904920e90a7/edx_ace-1.8.0-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "97a5a83b8e146f7ccaeb7d10233b783d873b54d485eb511fddcc9eb8f71f3819",
                "md5": "697a9751506ef55a502ea65443126980",
                "sha256": "d2cb57c4ec5a97f683e38d08ae747f673da3f55b9a0bca89eadc65c82b6f04db"
            },
            "downloads": -1,
            "filename": "edx-ace-1.8.0.tar.gz",
            "has_sig": false,
            "md5_digest": "697a9751506ef55a502ea65443126980",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 52543,
            "upload_time": "2024-03-07T09:18:11",
            "upload_time_iso_8601": "2024-03-07T09:18:11.759465Z",
            "url": "https://files.pythonhosted.org/packages/97/a5/a83b8e146f7ccaeb7d10233b783d873b54d485eb511fddcc9eb8f71f3819/edx-ace-1.8.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-07 09:18:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "openedx",
    "github_project": "edx-ace",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "tox": true,
    "lcname": "edx-ace"
}
        
edX
Elapsed time: 0.21779s