Skip to main content

Everault SDK

Project description


Unit Tests Status

Evervault Python SDK

The Evervault Python SDK is a toolkit for encrypting data as it enters your server, and working with Cages. By default, initializing the SDK will result in all outbound HTTPS requests being intercepted and decrypted.

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


See the Evervault Python SDK documentation.


Our Python SDK is distributed via pypi, and can be installed using pip.

pip install evervault


To make Evervault available for use in your app:

import evervault

# Initialize the client with your team's api key

# Encrypt your data and run a cage
result = evervault.encrypt_and_run(<CAGE-NAME>, { 'hello': 'World!' })


The Evervault Python SDK exposes five functions.


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[, intercept = bool, ignore_domains = list, retry = bool, curve = str])
Parameter Type Description
api_key str The API key of your Evervault Team
intercept bool Decides if outbound requests are intercepted (true by default)
ignore_domains list(str) Requests sent to any of the domains in this list will not be intercepted
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.


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 invokes a Cage with a given payload. = str, data = dict[, options = dict])
Parameter Type Description
cageName 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.


Bug reports and pull requests are welcome on GitHub at


Questions or feedback? Let us know.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

evervault-0.8.2.tar.gz (14.1 kB view hashes)

Uploaded source

Built Distribution

evervault-0.8.2-py3-none-any.whl (16.7 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page