Python bindings for Sift Science's API
Project description
Bindings for Sift Science’s Events, Labels, and Score APIs.
Installation
Set up a virtual environment with virtualenv (otherwise you will need to make the pip calls as sudo):
virtualenv venv source venv/bin/activate
Get the latest released package from pip:
Python 2:
pip install sift
Python 3:
pip3 install sift
or install newest source directly from GitHub:
Python 2:
pip install git+https://github.com/SiftScience/sift-python
Python 3:
pip3 install git+https://github.com/SiftScience/sift-python
Usage
Here’s an example:
import sift.client sift.api_key = '<your api key here>' client = sift.Client() user_id= "23056" # User ID's may only contain a-z, A-Z, 0-9, =, ., -, _, +, @, :, &, ^, %, !, $ # Track a transaction event -- note this is blocking event = "$transaction" properties = { "$user_id" : user_id, "$user_email" : "buyer@gmail.com", "$seller_user_id" : "2371", "seller_user_email" : "seller@gmail.com", "$transaction_id" : "573050", "$payment_method" : { "$payment_type" : "$credit_card", "$payment_gateway" : "$braintree", "$card_bin" : "542486", "$card_last4" : "4444" }, "$currency_code" : "USD", "$amount" : 15230000, } response = client.track(event, properties) response.is_ok() # returns True of False print response # prints entire response body and http status code # Request a score for the user with user_id 23056 response = client.score(user_id) # Label the user with user_id 23056 as Bad with all optional fields response = client.label(user_id,{ "$is_bad" : True, "$reasons" : ["$chargeback", ], "$description" : "Chargeback issued", "$source" : "Manual Review", "$analyst" : "analyst.name@your_domain.com"}) # Remove a label from a user with user_id 23056 response = client.unlabel(user_id)
Testing
Before submitting a change, make sure the following commands run without errors from the root dir of the repository:
PYTHONPATH=. python tests/client_test.py PYTHONPATH=. python3 tests/client_test.py
1.1.2.0 (2015-02-04)
Added Unlabel functionaly
Minor bug fixes.
1.1.1.0 (2014-09-3)
Added timeout parameter to track, score, and label functions.
1.1.0.0 (2014-08-25)
Added Module-scoped API key.
Minor documentation updates.
0.2.0 (2014-08-20)
Added Label and Score functions.
Added Python 3 compatibility.
0.1.1 (2014-02-21)
Bump default API version to v203.
0.1.0 (2013-01-08)
Just the Python REST client itself.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file Sift-1.1.2.0.tar.gz
.
File metadata
- Download URL: Sift-1.1.2.0.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4811e42b2f289233bd43c168bbc854930b612dc09c973a12bf70b493f165d8fa |
|
MD5 | 429f32667e8a7322ad3b23a816bae08f |
|
BLAKE2b-256 | 7a53ca4b18fb08c2a2fb4f9b9ddd3e1249e003ef68f4c75f6c9b7148e59a4e48 |