edx-enterprise-subsidy-client


Nameedx-enterprise-subsidy-client JSON
Version 0.4.3 PyPI version JSON
download
home_pagehttps://github.com/openedx/edx-enterprise-subsidy-client
SummaryClient for interacting with the enterprise-subsidy service.
upload_time2024-04-25 14:55: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
            edx-enterprise-subsidy-client
#############################

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

Purpose
*******

Client for interacting with the enterprise-subsidy service.

Getting Started
***************

Developing
==========

One Time Setup
--------------
.. code-block::

  # Clone the repository into your ``[DEVSTACK]/src/`` folder
  git clone git@github.com:openedx/edx-enterprise-subsidy-client.git
  # Use a service container that would reasonably install this client, e.g.
  cd [DEVSTACK]/enterprise-subsidy && make app-shell
  cd /edx/src/edx-enterprise-subsidy-client

  # Set up a virtualenv in a ``venv/`` directory
  # You might need to install virtualenv first:
  # apt-get update
  # apt-get install -y virtualenv
  virtualenv venv/
  make requirements

  # Ensure things are looking ok by running tests
  make test

Every time you develop something in this repo
---------------------------------------------
.. code-block::

  # Grab the latest code
  git checkout main
  git pull

  # Use a service container that would reasonably install this client, e.g.
  cd [DEVSTACK]/enterprise-subsidy && make app-shell
  cd /edx/src/edx-enterprise-subsidy-client

  # Activate the virtualenv
  source venv/bin/activate

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

Deploying
=========

TODO: How can a new user go about deploying this component? Is it just a few
commands? Is there a larger how-to that should be linked here?

PLACEHOLDER: For details on how to deploy this component, see the `deployment how-to`_

.. _deployment how-to: https://docs.openedx.org/projects/edx-enterprise-subsidy-client/how-tos/how-to-deploy-this-component.html

Getting Help
************

Documentation
=============

PLACEHOLDER: Start by going through `the documentation`_.  If you need more help see below.

.. _the documentation: https://docs.openedx.org/projects/edx-enterprise-subsidy-client

(TODO: `Set up documentation <https://openedx.atlassian.net/wiki/spaces/DOC/pages/21627535/Publish+Documentation+on+Read+the+Docs>`_)

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-enterprise-subsidy-client/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 <LICENSE.txt>`_ for details.

Contributing
************

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

This project is currently accepting all types of contributions, bug fixes,
security fixes, maintenance work, or new features.  However, please make sure
to have a discussion about your new feature idea with the maintainers prior to
beginning development to maximize the chances of your change being accepted.
You can start a conversation by creating a new issue on this repo summarizing
your idea.

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-enterprise-subsidy-client

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-enterprise-subsidy-client.svg
    :target: https://pypi.python.org/pypi/edx-enterprise-subsidy-client/
    :alt: PyPI

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

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

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

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

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

.. TODO: Choose one of the statuses below and remove the other status-badge lines.
.. |status-badge| image:: https://img.shields.io/badge/Status-Experimental-yellow
.. .. |status-badge| image:: https://img.shields.io/badge/Status-Maintained-brightgreen
.. .. |status-badge| image:: https://img.shields.io/badge/Status-Deprecated-orange
.. .. |status-badge| image:: https://img.shields.io/badge/Status-Unsupported-red


Change Log
##########

..
   All enhancements and patches to edx_enterprise_subsidy_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.4.3]
*******
* feat: adding new subsidy client method to fetch subsidy aggregate data

[0.4.2]
*******
* Switch from ``edx-sphinx-theme`` to ``sphinx-book-theme`` since the former is
  deprecated
* Add python 3.12 support

[0.4.1]
*******
* chore: add a unit test for ``create_subsidy_transaction()``.

[0.4.0]
*******
* feat: allow requested prices for v2 transaction creation.

[0.3.7]
*******
* feat: upgrade many python dependencies, notably Django 3.2.19

[0.3.6]
*******
* feat: pass idempotency key during transaction creation (pt. 2)

[0.3.5]
*******
* feat: pass idempotency key during transaction creation

[0.3.3]
*******
* allow additional query params, like ``page_size``, to be passed through to listing endpoints.

[0.3.3]
*******
* admin-list transactions will also be filtered by ``created`` state by default.
* Adds an ADR explaining the default states for which this client filters transactions.

[0.3.2]
*******
* admin-list transactions will ask to be filtered for only `committed` and `pending` states by default.
  Caller may specify other valid states (e.g. `failed` or `created`).

[0.3.1]
*******
* fix: correctly pass ``subsidy_uuid`` to subsidy API V2 endpoint string format.

[0.3.0]
*******
* feat: add new client for v2 transaction endpoint.

[0.2.6]
*******
* feat: transaction endpoint accepts `lms_user_id` instead of `learner_id`

[0.2.5]
*******
* feat: redemption metadata.

[0.2.4]
*******
* fix: don't directly access a status code on a failed response for logging.

[0.2.3]
*******
* DON'T be flexible about settings variable names for client initialization.

[0.2.2]
*******
* str() incoming UUID arguments


[0.2.1]
*******
* Be flexible about settings variable names for client initialization.

[0.2.0]
*******
* Add implementation for many of the client methods; currently defering on unit tests.
* Add a ``scripts/e2e.py`` script for end-to-end testing between enterprise-subsidy and edx-enterprise.

[0.1.0] - 2023-02-01
********************

Added
=====

* First release on PyPI.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/openedx/edx-enterprise-subsidy-client",
    "name": "edx-enterprise-subsidy-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/a7/6c/2b4b98de48df67ac2570f15c06a42f0c1039cfe7931b5891f2bc5949589f/edx-enterprise-subsidy-client-0.4.3.tar.gz",
    "platform": null,
    "description": "edx-enterprise-subsidy-client\n#############################\n\n|pypi-badge| |ci-badge| |codecov-badge| |doc-badge| |pyversions-badge|\n|license-badge| |status-badge|\n\nPurpose\n*******\n\nClient for interacting with the enterprise-subsidy service.\n\nGetting Started\n***************\n\nDeveloping\n==========\n\nOne Time Setup\n--------------\n.. code-block::\n\n  # Clone the repository into your ``[DEVSTACK]/src/`` folder\n  git clone git@github.com:openedx/edx-enterprise-subsidy-client.git\n  # Use a service container that would reasonably install this client, e.g.\n  cd [DEVSTACK]/enterprise-subsidy && make app-shell\n  cd /edx/src/edx-enterprise-subsidy-client\n\n  # Set up a virtualenv in a ``venv/`` directory\n  # You might need to install virtualenv first:\n  # apt-get update\n  # apt-get install -y virtualenv\n  virtualenv venv/\n  make requirements\n\n  # Ensure things are looking ok by running tests\n  make test\n\nEvery time you develop something in this repo\n---------------------------------------------\n.. code-block::\n\n  # Grab the latest code\n  git checkout main\n  git pull\n\n  # Use a service container that would reasonably install this client, e.g.\n  cd [DEVSTACK]/enterprise-subsidy && make app-shell\n  cd /edx/src/edx-enterprise-subsidy-client\n\n  # Activate the virtualenv\n  source venv/bin/activate\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  # 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 ...\n  git push\n\n  # Open a PR and ask for review.\n\nDeploying\n=========\n\nTODO: How can a new user go about deploying this component? Is it just a few\ncommands? Is there a larger how-to that should be linked here?\n\nPLACEHOLDER: For details on how to deploy this component, see the `deployment how-to`_\n\n.. _deployment how-to: https://docs.openedx.org/projects/edx-enterprise-subsidy-client/how-tos/how-to-deploy-this-component.html\n\nGetting Help\n************\n\nDocumentation\n=============\n\nPLACEHOLDER: Start by going through `the documentation`_.  If you need more help see below.\n\n.. _the documentation: https://docs.openedx.org/projects/edx-enterprise-subsidy-client\n\n(TODO: `Set up documentation <https://openedx.atlassian.net/wiki/spaces/DOC/pages/21627535/Publish+Documentation+on+Read+the+Docs>`_)\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-enterprise-subsidy-client/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 <LICENSE.txt>`_ for details.\n\nContributing\n************\n\nContributions are very welcome.\nPlease read `How To Contribute <https://openedx.org/r/how-to-contribute>`_ for details.\n\nThis project is currently accepting all types of contributions, bug fixes,\nsecurity fixes, maintenance work, or new features.  However, please make sure\nto have a discussion about your new feature idea with the maintainers prior to\nbeginning development to maximize the chances of your change being accepted.\nYou can start a conversation by creating a new issue on this repo summarizing\nyour idea.\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-enterprise-subsidy-client\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-enterprise-subsidy-client.svg\n    :target: https://pypi.python.org/pypi/edx-enterprise-subsidy-client/\n    :alt: PyPI\n\n.. |ci-badge| image:: https://github.com/openedx/edx-enterprise-subsidy-client/workflows/Python%20CI/badge.svg?branch=main\n    :target: https://github.com/openedx/edx-enterprise-subsidy-client/actions\n    :alt: CI\n\n.. |codecov-badge| image:: https://codecov.io/github/openedx/edx-enterprise-subsidy-client/coverage.svg?branch=main\n    :target: https://codecov.io/github/openedx/edx-enterprise-subsidy-client?branch=main\n    :alt: Codecov\n\n.. |doc-badge| image:: https://readthedocs.org/projects/edx-enterprise-subsidy-client/badge/?version=latest\n    :target: https://edx-enterprise-subsidy-client.readthedocs.io/en/latest/\n    :alt: Documentation\n\n.. |pyversions-badge| image:: https://img.shields.io/pypi/pyversions/edx-enterprise-subsidy-client.svg\n    :target: https://pypi.python.org/pypi/edx-enterprise-subsidy-client/\n    :alt: Supported Python versions\n\n.. |license-badge| image:: https://img.shields.io/github/license/openedx/edx-enterprise-subsidy-client.svg\n    :target: https://github.com/openedx/edx-enterprise-subsidy-client/blob/main/LICENSE.txt\n    :alt: License\n\n.. TODO: Choose one of the statuses below and remove the other status-badge lines.\n.. |status-badge| image:: https://img.shields.io/badge/Status-Experimental-yellow\n.. .. |status-badge| image:: https://img.shields.io/badge/Status-Maintained-brightgreen\n.. .. |status-badge| image:: https://img.shields.io/badge/Status-Deprecated-orange\n.. .. |status-badge| image:: https://img.shields.io/badge/Status-Unsupported-red\n\n\nChange Log\n##########\n\n..\n   All enhancements and patches to edx_enterprise_subsidy_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.4.3]\n*******\n* feat: adding new subsidy client method to fetch subsidy aggregate data\n\n[0.4.2]\n*******\n* Switch from ``edx-sphinx-theme`` to ``sphinx-book-theme`` since the former is\n  deprecated\n* Add python 3.12 support\n\n[0.4.1]\n*******\n* chore: add a unit test for ``create_subsidy_transaction()``.\n\n[0.4.0]\n*******\n* feat: allow requested prices for v2 transaction creation.\n\n[0.3.7]\n*******\n* feat: upgrade many python dependencies, notably Django 3.2.19\n\n[0.3.6]\n*******\n* feat: pass idempotency key during transaction creation (pt. 2)\n\n[0.3.5]\n*******\n* feat: pass idempotency key during transaction creation\n\n[0.3.3]\n*******\n* allow additional query params, like ``page_size``, to be passed through to listing endpoints.\n\n[0.3.3]\n*******\n* admin-list transactions will also be filtered by ``created`` state by default.\n* Adds an ADR explaining the default states for which this client filters transactions.\n\n[0.3.2]\n*******\n* admin-list transactions will ask to be filtered for only `committed` and `pending` states by default.\n  Caller may specify other valid states (e.g. `failed` or `created`).\n\n[0.3.1]\n*******\n* fix: correctly pass ``subsidy_uuid`` to subsidy API V2 endpoint string format.\n\n[0.3.0]\n*******\n* feat: add new client for v2 transaction endpoint.\n\n[0.2.6]\n*******\n* feat: transaction endpoint accepts `lms_user_id` instead of `learner_id`\n\n[0.2.5]\n*******\n* feat: redemption metadata.\n\n[0.2.4]\n*******\n* fix: don't directly access a status code on a failed response for logging.\n\n[0.2.3]\n*******\n* DON'T be flexible about settings variable names for client initialization.\n\n[0.2.2]\n*******\n* str() incoming UUID arguments\n\n\n[0.2.1]\n*******\n* Be flexible about settings variable names for client initialization.\n\n[0.2.0]\n*******\n* Add implementation for many of the client methods; currently defering on unit tests.\n* Add a ``scripts/e2e.py`` script for end-to-end testing between enterprise-subsidy and edx-enterprise.\n\n[0.1.0] - 2023-02-01\n********************\n\nAdded\n=====\n\n* First release on PyPI.\n",
    "bugtrack_url": null,
    "license": "AGPL 3.0",
    "summary": "Client for interacting with the enterprise-subsidy service.",
    "version": "0.4.3",
    "project_urls": {
        "Homepage": "https://github.com/openedx/edx-enterprise-subsidy-client"
    },
    "split_keywords": [
        "python",
        "edx"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c8f23dea2c2d531b1d488cd0a8cc311759a952d9ef1102e3006f971f6caa7024",
                "md5": "04fcb284d201313ef299b22844f16300",
                "sha256": "b91c5e8db56bfabc268450fbaff24b8d20456aa2bd8405e86610010e3e7dca8e"
            },
            "downloads": -1,
            "filename": "edx_enterprise_subsidy_client-0.4.3-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "04fcb284d201313ef299b22844f16300",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=3.8",
            "size": 32311,
            "upload_time": "2024-04-25T14:55:39",
            "upload_time_iso_8601": "2024-04-25T14:55:39.993477Z",
            "url": "https://files.pythonhosted.org/packages/c8/f2/3dea2c2d531b1d488cd0a8cc311759a952d9ef1102e3006f971f6caa7024/edx_enterprise_subsidy_client-0.4.3-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a76c2b4b98de48df67ac2570f15c06a42f0c1039cfe7931b5891f2bc5949589f",
                "md5": "7042d9b5462024d8880d99141487b858",
                "sha256": "39bf2d8a1d8c072c072724bd1ac30e6c687d79c8f27273e73afbde7de2e91b9f"
            },
            "downloads": -1,
            "filename": "edx-enterprise-subsidy-client-0.4.3.tar.gz",
            "has_sig": false,
            "md5_digest": "7042d9b5462024d8880d99141487b858",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 36240,
            "upload_time": "2024-04-25T14:55:41",
            "upload_time_iso_8601": "2024-04-25T14:55:41.856319Z",
            "url": "https://files.pythonhosted.org/packages/a7/6c/2b4b98de48df67ac2570f15c06a42f0c1039cfe7931b5891f2bc5949589f/edx-enterprise-subsidy-client-0.4.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-25 14:55:41",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "openedx",
    "github_project": "edx-enterprise-subsidy-client",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "tox": true,
    "lcname": "edx-enterprise-subsidy-client"
}
        
edX
Elapsed time: 0.29331s