Evervault SDK
Project description
Evervault Python SDK
The Evervault Python SDK is a toolkit for encrypting data as it enters your server, working with Cages, and proxying your outbound api requests to specific domains through Outbound Relay to allow them to be decrypted before reaching their target.
Getting Started
Before starting with the Evervault Python SDK, you will need to create an account and a team.
For full installation support, book time here.
Before contributing, make sure to use commitizen & to read Contributing.md.
Documentation
See the Evervault Python SDK documentation.
Installation
Our Python SDK is distributed via pypi, and can be installed using pip
.
pip install evervault
Setup
To make Evervault available for use in your app:
import evervault
# Initialize the client with your team's api key
evervault.init('<YOUR-API-KEY>')
# Encrypt your data and run a cage
result = evervault.encrypt_and_run(<CAGE-NAME>, { 'hello': 'World!' })
Reference
The Evervault Python SDK exposes five functions.
evervault.init()
evervault.init()
initializes the SDK with your API key. Configurations for the interception of outbound requests may also be passed in this function.
evervault.init(api_key = str[, decryption_domains=[], retry = bool, curve = str])
Parameter | Type | Description |
---|---|---|
api_key | str |
The API key of your Evervault Team |
enable_outbound_relay | bool |
Enabling this flag will configure Outbound Relay and intercept requests to domains configured in the Evervault UI. |
retry | bool |
Retry failed Cage operations (maximum of 3 retries; false by default) |
curve | str |
The elliptic curve used for cryptographic operations. See Elliptic Curve Support to learn more. |
debugRequests | bool |
Output request domains and whether they were sent through outbound proxy |
evervault.encrypt()
evervault.encrypt()
encrypts data for use in your Cages. To encrypt data at the server, simply pass a python primitive type into the evervault.encrypt()
function. Store the encrypted data in your database as normal.
evervault.encrypt(data = dict | list | set | str | int | bool)
Parameter | Type | Description |
---|---|---|
data | dict , list , set , str , int , bool |
Data to be encrypted |
evervault.run()
evervault.run()
invokes a Cage with a given payload.
evervault.run(cage_name = str, data = dict[, options = dict])
Parameter | Type | Description |
---|---|---|
cage_name | str |
Name of the Cage to be run. |
data | dict |
Payload for the Cage. |
options | dict |
Options for the Cage run. |
Cage Run Options
Option | Type | Default | Description |
---|---|---|---|
async | Boolean |
False |
Run your Cage in async mode. Async Cage runs will be queued for processing. |
version | Integer |
None |
Specify the version of your Cage to run. By default, the latest version will be run. |
evervault.create_run_token()
evervault.create_run_token()
creates a single use, time bound token for invoking a cage.
evervault.create_run_token(cage_name = str, data = dict)
Parameter | Type | Description |
---|---|---|
cage_name | str |
Name of the Cage the run token should be created for. |
data | dict |
Payload that the token can be used with. |
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/evervault/evervault-python.
Feedback
Questions or feedback? Let us know.
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
Built Distribution
Hashes for evervault-1.3.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33ed9124a523e1017afc93dae7ebf7d77373204db955611e5a1a28cb1990fc7d |
|
MD5 | 8b3333c8a5b95e78228421c72feb253a |
|
BLAKE2b-256 | 5ef91653df17a510e56d0bd8115ad558e8beec88a33a3b20a970b9d932df8343 |