Skip to main content

A library for configuring SageMaker pipelines using hierarchical configuration pattern.

Project description

SageRender


codecov Test PyPi Release Docker Build License Python Versions Docker Image Size Python Wheel

A library for configuring SageMaker pipelines using hierarchical configuration pattern. The purpose of this library is to isolate depdency on AWS SageMaker SDK and allow teams to create pipelines using configurations. The hierarchical configuration gives teams flexibility to use a lookups in configuration files to traverse through the hierarchy of configurations.

Table of Contents

Installation

From pypi:

pip install sagerender

From GitHub:

pip install git+https://github.com/nike-inc/sagerender#egg=sagerender

Changelog

See the changelog for a history of notable changes to SageRender.

Documentation

Commands

The most commonly used SageRender commands are:
run-pipeline		Run SageMaker Pipeline
upsert-pipeline		Configure and Upsert SageMaker Pipeline
version             Version of SageRender
Run Pipeline

Use this command to run an AWS SageMaker Pipeline

sagerender run-pipeline [-h] --pipeline-name PIPELINE_NAME
                               [--region-name REGION_NAME] [--verbose]

optional arguments:
  -h, --help            show this help message and exit
  --pipeline-name PIPELINE_NAME
                        Name of the SageMaker pipeline
  --region-name REGION_NAME
                        Name of the AWS Region
  --verbose, -v         Enable verbose logging
Upsert Pipeline

Use this command to create/update pipeline definition on AWS SageMaker.

usage: sagerender upsert-pipeline [-h] --pipeline-name PIPELINE_NAME [--max-parallel-execution-steps MAX_PARALLEL_EXECUTION_STEPS]
                                  [--default-bucket-prefix DEFAULT_BUCKET_PREFIX] [--dry-run] [--local] [--verbose]

options:
  -h, --help            show this help message and exit
  --pipeline-name PIPELINE_NAME
                        Name of the SageMaker pipeline
  --max-parallel-execution-steps MAX_PARALLEL_EXECUTION_STEPS
                        Set the max parallel execution steps for SageMaker pipeline
  --default-bucket-prefix DEFAULT_BUCKET_PREFIX
                        Default bucket prefix sets s3 path to be bucket-prefix/default-bucket-prefix/pipeline-name
  --dry-run             Skip upserting SageMaker pipeline definition. Used for debugging.
  --local, -l           Run in local pipeline mode
  --verbose, -v         Enable verbose logging

Getting Started

A notebook to help you get started with SageRender is available here.

Examples

  • A simple SageMaker Pipeline configuration with different environments can be found under examples/simple.
  • A complex SageMaker Pipeline configuration that defines different algorithms across different environments can be found under examples/complex.

Contribution

You can help by contributing to the project! Contribution guidelines can be found here. Instructions to easily set up your local development environment can be found here.

Unit Tests

Prerequisites

Setup

Install the package using poetry

poetry install

Run Tests

poetry run pytest

Run pre-commit checks

poetry run pre-commit run --all-files

Future Work

  • Add support for generating pipeline YAML templates
  • Add support for converting YAML to python code and vice versa.

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

sagerender-2.1.0.tar.gz (23.8 kB view details)

Uploaded Source

Built Distribution

sagerender-2.1.0-py3-none-any.whl (28.5 kB view details)

Uploaded Python 3

File details

Details for the file sagerender-2.1.0.tar.gz.

File metadata

  • Download URL: sagerender-2.1.0.tar.gz
  • Upload date:
  • Size: 23.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.1 CPython/3.10.14 Linux/6.5.0-1025-azure

File hashes

Hashes for sagerender-2.1.0.tar.gz
Algorithm Hash digest
SHA256 b1f65d18a40430a01996960f4c6299acdfeb1c6579b778f1c8966cf11e2ec7a7
MD5 fa2cf9e8d252f7e653c231c3dda2996b
BLAKE2b-256 2da6bb73eb8dcb5b6eb199884fa08e59b022af04b017af9acef75ce924bdd3e4

See more details on using hashes here.

File details

Details for the file sagerender-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: sagerender-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 28.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.1 CPython/3.10.14 Linux/6.5.0-1025-azure

File hashes

Hashes for sagerender-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dd75e9ac9305dc3f1b31bba9ed8cead3b6478c8c5d7343a89639a252ade771ae
MD5 a50f9653f13dc6b58cc11a8a878944e7
BLAKE2b-256 75ab470585eef65b27898b417dd555d60a638655d6b65f2895a12cbdfe5abd57

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