Skip to main content

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


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

EscrowAICI-0.1.2-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

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

Hashes for EscrowAICI-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cbf54cc6ae3c5531c978033d523cf917294833df252ffba30ffc7841251a18d5
MD5 e37e3bd26dbccaeb4f4fbc26e3143b9c
BLAKE2b-256 613435dce90da4571b0f34484579eb834db55b14d8be106efc41233ea26c825d

See more details on using hashes here.

Supported by

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