Skip to main content

Evervault SDK

Project description

Evervault

Unit Tests Status

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
decryption_domains list(str) Requests sent to any of the domains listed will be proxied through outbound relay. Wildcard domains are supported. See Outbound Relay to learn more.
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


Download files

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

Source Distribution

evervault-1.2.1.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

evervault-1.2.1-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file evervault-1.2.1.tar.gz.

File metadata

  • Download URL: evervault-1.2.1.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/37.1 requests/2.28.1 requests-toolbelt/0.9.1 urllib3/1.26.12 tqdm/4.64.1 importlib-metadata/4.12.0 keyring/23.9.3 rfc3986/2.0.0 colorama/0.4.5 CPython/3.9.14

File hashes

Hashes for evervault-1.2.1.tar.gz
Algorithm Hash digest
SHA256 0c2fcf23c4116d6e58d9d2b63fcccb2db0ceee8c80d2b01ed4d488a3d43764f2
MD5 472f00f6e0f7e9a6dc20e4fd8fb135a0
BLAKE2b-256 808a8a7c223baf092a841d7e9a69e098c388c0173e0681fa8fb9de0de1723ed6

See more details on using hashes here.

File details

Details for the file evervault-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: evervault-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 17.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/37.1 requests/2.28.1 requests-toolbelt/0.9.1 urllib3/1.26.12 tqdm/4.64.1 importlib-metadata/4.12.0 keyring/23.9.3 rfc3986/2.0.0 colorama/0.4.5 CPython/3.9.14

File hashes

Hashes for evervault-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5f4f2a9a141e47359f145e315bd549e6642a94ff04eb16ddcf0fda34b6a62710
MD5 bacd86bf710042f5de45710852f9637a
BLAKE2b-256 887fd3a2c947ffc95e2e954caba870ea46ca05c79ff090b4597d5df2ac53b69b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page