A library for configuring SageMaker pipelines using hierarchical configuration pattern.
Project description
SageRender
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
- poetry (curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python)
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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b093b9cbd65726a737820949f37478ba6db5c38087e762857b0723afb4ff4fd |
|
MD5 | 2c4f94df880174d46c0ab8de5c9e62d9 |
|
BLAKE2b-256 | 6e15fce3297ce3fd70c8e8a88eea72d53977d045832e7b30667e39b96994b78e |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | da49f45f6a04bc911b0a0d5d7cee6205d02bb4883e62dd5c71e80e9ddc837edf |
|
MD5 | 808db0e8fc0bb7eb5534db21cbe804a9 |
|
BLAKE2b-256 | d0e87451357642ebf7acf7324ae42cb65a07b7124ae8f445f175d1999ace7fbb |