Project: edx-braze-client

Python client for interacting with Braze APIs

Project Details

Latest version
0.1.8
Home Page
https://github.com/edx/braze-client
PyPI Page
https://pypi.org/project/edx-braze-client/

Project Popularity

PageRank
0.0016403666668419884
Number of downloads
50759

braze-client

|pypi-badge| |ci-badge| |codecov-badge| |doc-badge| |pyversions-badge| |license-badge|

Python client for interacting with Braze APIs.

Development Workflow

One Time Setup

.. code-block::

  # Clone the repository
  git clone git@github.com:edx/braze-client.git
  cd braze-client

  # Set up a virtualenv using virtualenvwrapper with the same name as the repo and activate it
  mkvirtualenv -p python3.8 braze-client
  or
  virtualenv --python=python3 <venv>


Every time you develop something in this repo

.. code-block::

Activate the virtualenv

workon braze-client or source /bin/activate

Grab the latest code

git checkout main git pull

Install/update the dev requirements

make requirements

Run the tests and quality checks (to verify the status before you make any changes)

make validate

Make a new branch for your changes

git checkout -b <your_github_username>/<short_description>

Using your favorite editor, edit the code to make your change.

vim …

Run your new tests

pytest ./path/to/new/tests

Run all the tests and quality checks

make validate

Commit all your changes

git commit … git push

Open a PR and ask for review.

License

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

Please see LICENSE.txt <LICENSE.txt>_ for details.

How To Contribute

Contributions are very welcome. Please read How To Contribute <https://github.com/edx/edx-platform/blob/master/CONTRIBUTING.rst>_ for details. Even though they were written with edx-platform in mind, the guidelines should be followed for all Open edX projects.

The pull request description template should be automatically applied if you are creating a pull request from GitHub. Otherwise you can find it at PULL_REQUEST_TEMPLATE.md <.github/PULL_REQUEST_TEMPLATE.md>_.

The issue report template should be automatically applied if you are creating an issue on GitHub as well. Otherwise you can find it at ISSUE_TEMPLATE.md <.github/ISSUE_TEMPLATE.md>_.

Reporting Security Issues

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

Getting 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 more information about these options, see the Getting Help_ page.

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

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

.. |ci-badge| image:: https://github.com/edx/braze-client/workflows/Python%20CI/badge.svg?branch=main :target: https://github.com/edx/braze-client/actions :alt: CI

.. |codecov-badge| image:: https://codecov.io/github/edx/braze-client/coverage.svg?branch=main :target: https://codecov.io/github/edx/braze-client?branch=main :alt: Codecov

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

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

.. |license-badge| image:: https://img.shields.io/github/license/edx/braze-client.svg :target: https://github.com/edx/braze-client/blob/main/LICENSE.txt :alt: License

Change Log

.. All enhancements and patches to braze-client will be documented in this file. It adheres to the structure of https://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 (https://semver.org/).

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

Unreleased


[0.1.8]

fix: always create an alias for existing profiles

[0.1.7]

feat: add retrieve_unsubscribed_emails method

[0.1.6]

feat: add unsubscribe_user_email method

[0.1.5]

feat: add send_canvas_message method

[0.1.4]

feat: add identify_users method

[0.1.3]

fix: handle intermittent JSONDecodeError from from Braze

[0.1.2]

feat: add override_frequency_capping arg for send_email

[0.1.1]

feat: advertise constraints in setup.py

[0.1.0] - 2021-10-20

Added


  • First release on PyPI.