Skip to main content

A library for configuring SageMaker pipelines using hierarchical configuration pattern.

Project description

SageRender


codecov Test PyPi Release Docker Build GitHub 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.2.tar.gz (23.8 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: sagerender-2.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 0b093b9cbd65726a737820949f37478ba6db5c38087e762857b0723afb4ff4fd
MD5 2c4f94df880174d46c0ab8de5c9e62d9
BLAKE2b-256 6e15fce3297ce3fd70c8e8a88eea72d53977d045832e7b30667e39b96994b78e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sagerender-2.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 da49f45f6a04bc911b0a0d5d7cee6205d02bb4883e62dd5c71e80e9ddc837edf
MD5 808db0e8fc0bb7eb5534db21cbe804a9
BLAKE2b-256 d0e87451357642ebf7acf7324ae42cb65a07b7124ae8f445f175d1999ace7fbb

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