Apple CloudKit server-to-server support for the requests Python library.
Project description
This project provides Apple CloudKit server-to-server support for the requests Python library.
Installation
requests-cloudkit is available for download through the Python Package Index (PyPi). You can install it right away using pip or easy_install.
pip install requests-cloudkit
Usage
requests-cloudkit provides an authentication object that can be passed directly to requests to authenticate HTTP calls. To work with the CloudKit server-to-server API, you’ll need to follow Apple’s instructions to generate a certificate and a server-to-server key (see Accessing CloudKit Using a Server-to-Server Key).
Once you have these values, just plug them into a CloudKitAuth object, which you can use with requests to make API calls to CloudKit. E.g.:
>>> import requests >>> from requests_cloudkit import CloudKitAuth >>> auth = CloudKitAuth(key_id=YOUR_KEY_ID, key_file_name=YOUR_PRIVATE_KEY_PATH) >>> requests.get("https://api.apple-cloudkit.com/database/[version]/[container]/[environment]/public/zones/list", auth=auth)
requests-cloudkit can also be used with RestMapper to integrate directly with the CloudKit API.
>>> CloudKit = restmapper.RestMapper("https://api.apple-cloudkit.com/database/[version]/[container]/[environment]/")
Instantiate a cloudkit instance using your CloudKit server-to-server key ID and provide the path to the private key file.
>>> cloudkit = CloudKit(auth=CloudKitAuth(key_id=YOUR_KEY_ID, key_file_name=YOUR_KEY_FILE))
Now, you can start making requests to the CloudKit API using a nice attribute syntax.
>>> response = cloudkit.public.zones.list()
…will hit https://api.apple-cloudkit.com/database/[version]/[container]/[environment]/public/zones/list.
If you want to pass in body data for a POST, provide a single argument to the call to the API, and specify “POST” as the first attribute. I.e.
>>> cloudkit.POST.my.request(data)
Support
If you like this library, or need help implementing it, send me an email: dan@lionheartsw.com.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size requests-cloudkit-0.1.1.tar.gz (4.0 kB) | File type Source | Python version None | Upload date | Hashes View |