Package: edx-enterprise-subsidy-client
edx-enterprise-subsidy-clientPurposeClient for interacting with the enterprise-subsidy service.Getting StartedDevelopingOne Time Setup# 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 testEvery time you develop something in this repo# 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.DeployingTODO: 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 thedeployment how-toGetting HelpDocumentationPLACEHOLDER: Start by going throughthe documentation.  If you need more help see below.(TODO:Set up documentation)More HelpIf you’re having trouble, we have discussion forums athttps://discuss.openedx.orgwhere you can connect with others in the
community.Our real-time conversations are on Slack. You can request aSlack
invitation, then join ourcommunity 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/issuesFor more information about these options, see theGetting Helppage.LicenseThe code in this repository is licensed under the AGPL 3.0 unless
otherwise noted.Please seeLICENSE.txtfor details.ContributingContributions are very welcome.
Please readHow To Contributefor 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 ConductAll community members are expected to follow theOpen edX Code of Conduct.PeopleThe assigned maintainers for this component and other project details may be
found inBackstage. Backstage pulls this data from thecatalog-info.yamlfile in this repo.Reporting Security IssuesPlease do not report security issues in public. Please emailsecurity@openedx.org.Change LogUnreleasedSwitch fromedx-sphinx-themetosphinx-book-themesince the former is
deprecated[0.4.1]chore: add a unit test forcreate_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, likepage_size, to be passed through to listing endpoints.[0.3.3]admin-list transactions will also be filtered bycreatedstate 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 onlycommittedandpendingstates by default.
Caller may specify other valid states (e.g.failedorcreated).[0.3.1]fix: correctly passsubsidy_uuidto subsidy API V2 endpoint string format.[0.3.0]feat: add new client for v2 transaction endpoint.[0.2.6]feat: transaction endpoint acceptslms_user_idinstead oflearner_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 ascripts/e2e.pyscript for end-to-end testing between enterprise-subsidy and edx-enterprise.[0.1.0] - 2023-02-01AddedFirst release on PyPI.