Skip to content

Automate awarding Open Badges to recipients without the overhead of a server

License

Notifications You must be signed in to change notification settings

glenjarvis/badgr-lite

Repository files navigation

badgr-lite

Automate awarding Open Badges to recipients without the overhead of a server

PyPI Status Build Status Code Coverage Status Documentation Status Updates

Quick Start

Manage your badges (with Badgr ), but automate the award and retrieval of badges with badger-lite.

  1. Create an account on either Badgr or an equivalent server.
  2. Use your Badgr (or equivalent) username and password to generate OAuth tokens for use with your project:
curl -X POST 'https://api.badgr.io/o/token' -d "username=YOUREMAIL&password=YOURPASSWORD" > token.json
  1. Install the badgr-lite package:
pip install badgr-lite

Or (using the newly recommended way from Python.org:

pipenv install badgr-lite

Now you can award badges through either the Command Line (CLI) or Library (SDK).

Command Line Example

Sample Command Help:

$ badgr --help
Usage: badgr [OPTIONS] COMMAND [ARGS]...

  Automate Badgr tasks without the overhead of badgr-server

Options:
  --token-file PATH  File holding token credentials
  --help             Show this message and exit.

Commands:
  award-badge  Award badge with BADGE_ID to RECIPIENT.
  list-badges  Pull and print a list of badges from server

--token-file can be omitted if token.json filename is in current directory.

$ badgr --token-file token.json list-badges

dTjxL52HQBiSgIp5JuVq5w  https://badgr.io/public/assertions/dTjxL52HQBiSgIp5JuVq5w       Bay Area Python Interest Group TDD Participant
6YhFytMUQb2loOMEy63gQA  https://badgr.io/public/assertions/6YhFytMUQb2loOMEy63gQA       Bay Area Python Interest Group TDD Quiz Champion
zzExTDvOTnOx_R3YhwPf3A  https://badgr.io/public/assertions/zzExTDvOTnOx_R3YhwPf3A       Test Driven Development Fundamentals Champion
zNjcY70FSn603SO9vMGhBA  https://badgr.io/public/assertions/zNjcY70FSn603SO9vMGhBA       Install Python with Virtual Environments
ZN0CIo4NR7-GgrliDJzoTw  https://badgr.io/public/assertions/ZN0CIo4NR7-GgrliDJzoTw       Fivvr badge
$ badgr --token-file token.json award-badge --badge-id 2TfNNqMLT8CoAhfGKqSv6Q --recipient [email protected]

IfK18iLWSNWhvnQxLPHSxA  https://badgr.io/public/assertions/IfK18iLWSNWhvnQxLPHSxA       <No name>

Library Examples

One could patch together curl commands to interact with the Badgr server (although badgr-lite does make it much faster to get started). However, the real benefit of Badgr-Lite is directly using its library in whatever tool that you are using to automate award assignments (e.g., Django server, Flask server, etc.).

>>> from badgr_lite.models import BadgrLite
>>> badge_id = '2TfNNqMLT8CoAhfGKqSv6Q'
>>> badge_data = {
...     "recipient": {
...         "identity": "[email protected]",
...     },
... }
>>> badgr = BadgrLite(token_filename='./token.json')
>>> badge = badgr.award_badge(badge_id, badge_data)
>>> print(badge)
q8nKaXMHTICZj7qhKEwutg  https://badgr.io/public/assertions/q8nKaXMHTICZj7qhKEwutg      <No name>

Warning

Do not check the token.json file into your code repository. This is a secret file and should be handled like any other file that stores passwords or secrets.

Purpose

Open Badges are images with credential data baked into them. They are liked a digitally signed certificate that is also an image that can be displayed on the web. They can be validated for authenticity and are a nice award to grant to people for jobs well done, passing quizzes and much more.

Mozilla recently partnered with Concentric Sky. They built Badgr which makes badge management so much easier (and less buggy).

At the time this project was created, however, there was no easy way to automate the award of badges (e.g., on your own website) without having to build a full and complicated badgr-server of your own.

This badgr-lite project solves that problem.

Tutorial

If you are new to Open Badges and want to see how to use them (and automate them with this project), go to this tutorial.

About

Automate awarding Open Badges to recipients without the overhead of a server

Resources

License

Stars

Watchers

Forks

Packages

No packages published