Expose Escrow AI workflows to CICD pipelines
Project description
Copyright 2024 BeeKeeperAI(R)
EscrowAI Github SDK
The github sdk is a cli tool that enables algorithm upload on escrow ai from github workflows
installation
The sdk is available as a Pypi package and can be installed using
pip install EscrowAICI
Prerequisites and dependencies
To use the sdk, generate a private public key pair using openssl
# generate a private key with the correct length
openssl genrsa -out private-key.pem 3072
# generate corresponding public key
openssl rsa -in private-key.pem -pubout -out public-key.pem
setup your github repository secrets settings using
- BEEKEEPER_PROJECT_ID
- BEEKEEPER_ORGANIZATION_ID
- PROJECT_PRIVATE_KEY: Private key generated in earlier step
- CONTENT_ENCRYPTION_KEY
Usage
Basic stucture
$ escrowai -h
usage: escrowai [-h] [--algorithm_type ALGORITHM_TYPE] [--key KEY] folder
Encrypt files and package them into a zip archive.
positional arguments:
folder The folder path containing the files to encrypt
optional arguments:
-h, --help show this help message and exit
--algorithm_type ALGORITHM_TYPE
Algorithm type can be either validation or training
--key KEY The encryption key (base64 encoded)
arguments
Here is a sample github workflow showing how to use the sdk
name: Encrypt and Upload on Push
on:
push:
branches:
- testing
jobs:
encrypt_and_upload:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install cryptography pyyaml azure-storage-blob auth0-python python-dateutil sseclient
pip install EscrowAICI
- name: Encrypt Files and Upload
env:
CONTENT_ENCRYPTION_KEY: ${{ secrets.SECRET_KEY_BASE64 }}
AZURE_STORAGE_URL: ${{ secrets.AZURE_STORAGE_URL }}
BEEKEEPER_PROJECT_ID: ${{ secrets.BEEKEEPER_PROJECT_ID }}
BEEKEEPER_ORGANIZATION_ID: ${{ secrets.BEEKEEPER_ORGANIZATION_ID }}
PROJECT_PRIVATE_KEY: ${{ secrets.PROJECT_PRIVATE_KEY }}
run: |
repo_name="${GITHUB_REPOSITORY##*/}"
folder_path="files/$repo_name"
zip_file="files/${repo_name}.zip"
mkdir -p $folder_path
# Assuming you need to copy or prepare files in this directory
rsync -av --exclude='.git' --exclude='files' . ${folder_path}
escrowai ${folder_path}
- name: Clean up
run: |
rm -rf files/
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 Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file EscrowAICI-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: EscrowAICI-0.1.2-py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbf54cc6ae3c5531c978033d523cf917294833df252ffba30ffc7841251a18d5 |
|
MD5 | e37e3bd26dbccaeb4f4fbc26e3143b9c |
|
BLAKE2b-256 | 613435dce90da4571b0f34484579eb834db55b14d8be106efc41233ea26c825d |