edx-braze-client


Nameedx-braze-client JSON
Version 0.2.5 PyPI version JSON
download
home_pagehttps://github.com/edx/braze-client
SummaryPython client for interacting with Braze APIs
upload_time2024-05-01 20:24:41
maintainerNone
docs_urlNone
authoredX
requires_python>=3.8
licenseAGPL 3.0
keywords python edx
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            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 <venv>/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.2.5]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
chore: Updates version

[0.2.4]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
feat: adds 'create_recipients' function to the braze client

[0.2.3]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
feat: pass error response content into raised exceptions

[0.2.2]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fix: be defensive about pulling both ``email`` and ``external_id`` from braze export.

[0.2.1]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fix: be defensive about pulling external_id from braze export.

[0.2.0]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
feat: check for external ids in batchs when creating aliases.

[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.



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/edx/braze-client",
    "name": "edx-braze-client",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "Python edx",
    "author": "edX",
    "author_email": "oscm@edx.org",
    "download_url": "https://files.pythonhosted.org/packages/fc/aa/994b59fc7e79ae742d4ed10e94c9d17c2d6b0ddc0ca940da78b61fa0b3f0/edx-braze-client-0.2.5.tar.gz",
    "platform": null,
    "description": "braze-client\n=============================\n\n|pypi-badge| |ci-badge| |codecov-badge| |doc-badge| |pyversions-badge|\n|license-badge|\n\nPython client for interacting with Braze APIs.\n\nDevelopment Workflow\n--------------------\n\nOne Time Setup\n~~~~~~~~~~~~~~\n.. code-block::\n\n  # Clone the repository\n  git clone git@github.com:edx/braze-client.git\n  cd braze-client\n\n  # Set up a virtualenv using virtualenvwrapper with the same name as the repo and activate it\n  mkvirtualenv -p python3.8 braze-client\n  or\n  virtualenv --python=python3 <venv>\n\n\nEvery time you develop something in this repo\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n.. code-block::\n\n  # Activate the virtualenv\n  workon braze-client\n  or\n  source <venv>/bin/activate\n\n  # Grab the latest code\n  git checkout main\n  git pull\n\n  # Install/update the dev requirements\n  make requirements\n\n  # Run the tests and quality checks (to verify the status before you make any changes)\n  make validate\n\n  # Make a new branch for your changes\n  git checkout -b <your_github_username>/<short_description>\n\n  # Using your favorite editor, edit the code to make your change.\n  vim \u2026\n\n  # Run your new tests\n  pytest ./path/to/new/tests\n\n  # Run all the tests and quality checks\n  make validate\n\n  # Commit all your changes\n  git commit \u2026\n  git push\n\n  # Open a PR and ask for review.\n\nLicense\n-------\n\nThe code in this repository is licensed under the AGPL 3.0 unless\notherwise noted.\n\nPlease see `LICENSE.txt <LICENSE.txt>`_ for details.\n\nHow To Contribute\n-----------------\n\nContributions are very welcome.\nPlease read `How To Contribute <https://github.com/edx/edx-platform/blob/master/CONTRIBUTING.rst>`_ for details.\nEven though they were written with ``edx-platform`` in mind, the guidelines\nshould be followed for all Open edX projects.\n\nThe pull request description template should be automatically applied if you are creating a pull request from GitHub. Otherwise you\ncan find it at `PULL_REQUEST_TEMPLATE.md <.github/PULL_REQUEST_TEMPLATE.md>`_.\n\nThe issue report template should be automatically applied if you are creating an issue on GitHub as well. Otherwise you\ncan find it at `ISSUE_TEMPLATE.md <.github/ISSUE_TEMPLATE.md>`_.\n\nReporting Security Issues\n-------------------------\n\nPlease do not report security issues in public. Please email security@edx.org.\n\nGetting Help\n------------\n\nIf you're having trouble, we have discussion forums at https://discuss.openedx.org where you can connect with others in the community.\n\nOur real-time conversations are on Slack. You can request a `Slack invitation`_, then join our `community Slack workspace`_.\n\nFor more information about these options, see the `Getting Help`_ page.\n\n.. _Slack invitation: https://openedx-slack-invite.herokuapp.com/\n.. _community Slack workspace: https://openedx.slack.com/\n.. _Getting Help: https://openedx.org/getting-help\n\n.. |pypi-badge| image:: https://img.shields.io/pypi/v/braze-client.svg\n    :target: https://pypi.python.org/pypi/braze-client/\n    :alt: PyPI\n\n.. |ci-badge| image:: https://github.com/edx/braze-client/workflows/Python%20CI/badge.svg?branch=main\n    :target: https://github.com/edx/braze-client/actions\n    :alt: CI\n\n.. |codecov-badge| image:: https://codecov.io/github/edx/braze-client/coverage.svg?branch=main\n    :target: https://codecov.io/github/edx/braze-client?branch=main\n    :alt: Codecov\n\n.. |doc-badge| image:: https://readthedocs.org/projects/braze-client/badge/?version=latest\n    :target: https://braze-client.readthedocs.io/en/latest/\n    :alt: Documentation\n\n.. |pyversions-badge| image:: https://img.shields.io/pypi/pyversions/braze-client.svg\n    :target: https://pypi.python.org/pypi/braze-client/\n    :alt: Supported Python versions\n\n.. |license-badge| image:: https://img.shields.io/github/license/edx/braze-client.svg\n    :target: https://github.com/edx/braze-client/blob/main/LICENSE.txt\n    :alt: License\n\n\nChange Log\n----------\n\n..\n   All enhancements and patches to braze-client will be documented\n   in this file.  It adheres to the structure of https://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 (https://semver.org/).\n\n.. There should always be an \"Unreleased\" section for changes pending release.\n\nUnreleased\n~~~~~~~~~~\n\n[0.2.5]\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nchore: Updates version\n\n[0.2.4]\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nfeat: adds 'create_recipients' function to the braze client\n\n[0.2.3]\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nfeat: pass error response content into raised exceptions\n\n[0.2.2]\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nfix: be defensive about pulling both ``email`` and ``external_id`` from braze export.\n\n[0.2.1]\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nfix: be defensive about pulling external_id from braze export.\n\n[0.2.0]\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nfeat: check for external ids in batchs when creating aliases.\n\n[0.1.8]\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nfix: always create an alias for existing profiles\n\n[0.1.7]\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nfeat: add retrieve_unsubscribed_emails method\n\n[0.1.6]\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nfeat: add unsubscribe_user_email method\n\n[0.1.5]\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nfeat: add send_canvas_message method\n\n[0.1.4]\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nfeat: add identify_users method\n\n[0.1.3]\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nfix: handle intermittent JSONDecodeError from from Braze\n\n[0.1.2]\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nfeat: add override_frequency_capping arg for send_email\n\n[0.1.1]\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nfeat: advertise constraints in setup.py\n\n[0.1.0] - 2021-10-20\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAdded\n_____\n\n* First release on PyPI.\n\n\n",
    "bugtrack_url": null,
    "license": "AGPL 3.0",
    "summary": "Python client for interacting with Braze APIs",
    "version": "0.2.5",
    "project_urls": {
        "Homepage": "https://github.com/edx/braze-client"
    },
    "split_keywords": [
        "python",
        "edx"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "82d7e4445f0f7dd34db8e549ac527c7146b79e89603d91c04c414ff106174c32",
                "md5": "549c29484dbf4fc80262d8a11bc97e6b",
                "sha256": "e1d5891e168a32440fec4986b7d38a4ab2adbad1fbb0699fcdc4b1ff5245daa1"
            },
            "downloads": -1,
            "filename": "edx_braze_client-0.2.5-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "549c29484dbf4fc80262d8a11bc97e6b",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=3.8",
            "size": 34594,
            "upload_time": "2024-05-01T20:24:40",
            "upload_time_iso_8601": "2024-05-01T20:24:40.259493Z",
            "url": "https://files.pythonhosted.org/packages/82/d7/e4445f0f7dd34db8e549ac527c7146b79e89603d91c04c414ff106174c32/edx_braze_client-0.2.5-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fcaa994b59fc7e79ae742d4ed10e94c9d17c2d6b0ddc0ca940da78b61fa0b3f0",
                "md5": "a2ddd8dd519c2571f62659b8caf9f316",
                "sha256": "db7e77d958fec6df555c4b376b9d698180493eb8d2a6712121f543d9707311a2"
            },
            "downloads": -1,
            "filename": "edx-braze-client-0.2.5.tar.gz",
            "has_sig": false,
            "md5_digest": "a2ddd8dd519c2571f62659b8caf9f316",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 37352,
            "upload_time": "2024-05-01T20:24:41",
            "upload_time_iso_8601": "2024-05-01T20:24:41.443689Z",
            "url": "https://files.pythonhosted.org/packages/fc/aa/994b59fc7e79ae742d4ed10e94c9d17c2d6b0ddc0ca940da78b61fa0b3f0/edx-braze-client-0.2.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-01 20:24:41",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "edx",
    "github_project": "braze-client",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "edx-braze-client"
}
        
edX
Elapsed time: 0.25418s