A Python client for Mozilla's basket service.
This is a client for Mozilla’s email subscription service, basket. Basket is not a real subscription service, but it talks to a real one and we don’t really care who/what it is.
There are four API methods: subscribe, unsubscribe, user, and update_user. View the basket documentation for details.
$ pip install basket-client
Do you want to subscribe people to Mozilla’s newsletters? All you need to do is:
import basket basket.subscribe('<email>', '<newsletter>', <kwargs>)
You can pass additional fields as keyword arguments, such as format and country. For a list of available fields and newsletters, see the basket documentation.
Are you checking to see if a user was successfully subscribed? You can use the lookup_user method like so:
import basket basket.lookup_user(email='<email>', api_key='<api_key>')
And it will return full details about the user. <api_key> is a special token that grants you admin access to the data. Check with the mozilla.org developers to get it.
- URL to basket server, e.g. https://basket.mozilla.orgDefault: http://localhost:8000
- The API Key granted to you by the mozilla.org developers so that you can use the lookup_user method with an email address.
- The number of seconds basket client should wait before giving up on the request.Default: 10
If you’re using Django you can simply add these settings to your settings.py file. Otherwise basket-client will look for these values in an environment variable of the same name.
To run tests:
$ python setup.py test
- Add the lookup_user function.
- Add the BASKET_API_KEY setting.
- Add the BASKET_TIMEOUT setting.
- Add the confirm function.
- Add tests
- Fix issue with calling subscribe with an iterable of newsletters.
- Add request function to those exposed by the basket` module.
- Add get_newsletters API method for information on currently available newsletters.
- Handle Timeout exceptions from requests.