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.
Metadata
Release files for sagerender 2.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| sagerender-2.1.3.tar.gz | 23.9 kB | Without provenance | Details for sagerender-2.1.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| sagerender-2.1.3-py3-none-any.whl | Python 3 | none | any | Details for sagerender-2.1.3-py3-none-any.whl |
Total release size: 52.4 kB
Release files / sagerender-2.1.3.tar.gz
| Download URL | sagerender-2.1.3.tar.gz |
|---|---|
| Size | 23.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
98f12c3ac34d0bba0d64a52f3ab6eef0ba5f3b59ef58a572544f64579bb4a33f
|
|
BLAKE2b-256 checksum How to use checksums |
8e81232f21f2eafc1fe3fb0b1e570ae9eadd2741ef37cb0cad49b4bad47aec50
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.4.1 CPython/3.10.14 Linux/6.5.0-1025-azure
|
Release files / sagerender-2.1.3-py3-none-any.whl
| Download URL | sagerender-2.1.3-py3-none-any.whl |
|---|---|
| Size | 28.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
64d71b5dceb0835543ef439e1ea031936ebc687c212c4eec07cbe0fba7472d05
|
|
BLAKE2b-256 checksum How to use checksums |
79765cdff79d35f33b3e29089cbc21ddd6d3f54ec66b937fb46d172891ac1420
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.4.1 CPython/3.10.14 Linux/6.5.0-1025-azure
|
Security for sagerender 2.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.