Skip to main content

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.

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)

Source distribution for sagerender 2.1.3
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)

Table of built distributions (wheels) for sagerender 2.1.3
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page