Airship Python Library
urbanairship is a Python library for using the Airship web service in support of our messaging product
lines and related features.
$ pip install urbanairship
Using the library
The library is intended to be used with the small footprint of a single
import. To get started, import the package, and create an
Airship object representing a single Airship project.
import urbanairship as ua airship = ua.Airship('<app key>', '<master secret>') push = airship.Push(airship=airship) push.audience = ua.ios_channel('074e84a2-9ed9-4eee-9ca4-cc597bfdbef3') push.notification = ua.notification(ios=ua.ios(alert='Hello from Python', badge=1)) push.device_types = ua.device_types('ios') push.send()
The library uses requests for communication with the Airship API,
providing connection pooling and strict SSL checking. The
object is threadsafe, and can be instantiated once and reused in
EU Base URL
When creating an instance of
urbanairship.Airship, an optional argument
may be added to specify use of Airship’s EU data center. This is required for projects
based in our EU data center. If no location argument is passed, the US data center will be used.
import urbanairship as ua eu_airship = ua.Airship(key='<app_key>', secret='<master_secret>', location='eu')
urbanairship uses the standard logging module for integration into
an application’s existing logging. If you do not have logging
configured otherwise, your application can set it up like so:
import logging logging.basicConfig()
If you’re having trouble with the Airship API, you can turn on verbose debug logging.
As of Python 2.7,
DeprecationWarning warnings are silenced by
default. To enable them, use the
import warnings warnings.simplefilter('default')
- class urbanairship.AirshipFailure(error: Optional[str], error_code: Optional[Union[str, int]], details: Optional[str], response: Optional[str], *args: Any)
Raised when we get an error response from the server.
args – For backwards compatibility,
*argsincludes the status and response body.
Raised when we get a 401 from the server
The library source code is available on GitHub.
Tests can be run with nose:
- Sending Notifications
- Sending a Notification
- Scheduled Delivery
- Create and Send
- A/B Tests
- Audience and Segmentation
- Custom Events