sagerender


Namesagerender JSON
Version 2.1.3 PyPI version JSON
download
home_pagehttps://github.com/Nike-Inc/sagerender
SummaryA library for configuring SageMaker pipelines using hierarchical configuration pattern.
upload_time2024-08-29 04:26:40
maintainerDivyanshu Narendra
docs_urlNone
authorMohamed Abdul Huq Ismail
requires_python<4.0.0,>=3.10.10
licenseApache-2.0
keywords phiera sagemaker-sdk sagerender
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # SageRender
---
[![codecov](https://codecov.io/gh/Nike-Inc/sagerender/branch/main/graph/badge.svg?token=0TvSUJHvH2)](https://codecov.io/gh/Nike-Inc/sagerender)
[![Test](https://github.com/Nike-Inc/sagerender/actions/workflows/python-test.yaml/badge.svg?branch=main)](https://github.com/Nike-Inc/sagerender/actions/workflows/python-test.yaml?branch=main)
[![PyPi Release](https://github.com/Nike-Inc/sagerender/actions/workflows/python-build.yaml/badge.svg?branch=main)](https://github.com/Nike-Inc/sagerender/actions/workflows/python-build.yaml?branch=main) 
[![Docker Build](https://github.com/Nike-Inc/sagerender/actions/workflows/docker-build.yaml/badge.svg)](https://github.com/Nike-Inc/sagerender/actions/workflows/docker-build.yaml)
![GitHub License](https://img.shields.io/github/license/Nike-Inc/sagerender)
![Python Versions](https://img.shields.io/pypi/pyversions/sagerender)
![Docker Image Size](https://img.shields.io/docker/image-size/nikelab222/sagerender/latest)
![Python Wheel](https://img.shields.io/pypi/wheel/sagerender)

![](extras/sagerender-pipeline-design.png)

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](#installation)
* [Changelog](#changelog)
* [Documentation](#documentation)
* [Unit Tests](#unit-tests)
* [Future Work](#future-work)

### Installation
From pypi:
```shell
pip install sagerender
```

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

### Changelog
See the [changelog](CHANGELOG.md) for a history of notable changes to SageRender.

### Documentation
#### Commands
```shell
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
```shell
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.
```shell
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](notebook/getting-started.ipynb).

#### Examples
- A simple SageMaker Pipeline configuration with different environments can be found under
[examples/simple](examples/simple).
- A complex SageMaker Pipeline configuration that defines different algorithms across different environments
can be found under [examples/complex](examples/complex).

### Contribution
You can help by contributing to the project!
Contribution guidelines can be found [here](CONTRIBUTING.md).
Instructions to easily set up your local development environment 
can be found [here](DEVELOPMENT.md).

### Unit Tests
#### Prerequisites
* poetry (curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python)
#### Setup
Install the package using poetry
```shell
poetry install
```
#### Run Tests
```shell
poetry run pytest
```
#### Run pre-commit checks
```shell
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.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Nike-Inc/sagerender",
    "name": "sagerender",
    "maintainer": "Divyanshu Narendra",
    "docs_url": null,
    "requires_python": "<4.0.0,>=3.10.10",
    "maintainer_email": "Divyanshu.Narendra@nike.com",
    "keywords": "phiera, sagemaker-sdk, sagerender",
    "author": "Mohamed Abdul Huq Ismail",
    "author_email": "Abdul.Ismail@nike.com",
    "download_url": "https://files.pythonhosted.org/packages/8e/81/232f21f2eafc1fe3fb0b1e570ae9eadd2741ef37cb0cad49b4bad47aec50/sagerender-2.1.3.tar.gz",
    "platform": null,
    "description": "# SageRender\n---\n[![codecov](https://codecov.io/gh/Nike-Inc/sagerender/branch/main/graph/badge.svg?token=0TvSUJHvH2)](https://codecov.io/gh/Nike-Inc/sagerender)\n[![Test](https://github.com/Nike-Inc/sagerender/actions/workflows/python-test.yaml/badge.svg?branch=main)](https://github.com/Nike-Inc/sagerender/actions/workflows/python-test.yaml?branch=main)\n[![PyPi Release](https://github.com/Nike-Inc/sagerender/actions/workflows/python-build.yaml/badge.svg?branch=main)](https://github.com/Nike-Inc/sagerender/actions/workflows/python-build.yaml?branch=main) \n[![Docker Build](https://github.com/Nike-Inc/sagerender/actions/workflows/docker-build.yaml/badge.svg)](https://github.com/Nike-Inc/sagerender/actions/workflows/docker-build.yaml)\n![GitHub License](https://img.shields.io/github/license/Nike-Inc/sagerender)\n![Python Versions](https://img.shields.io/pypi/pyversions/sagerender)\n![Docker Image Size](https://img.shields.io/docker/image-size/nikelab222/sagerender/latest)\n![Python Wheel](https://img.shields.io/pypi/wheel/sagerender)\n\n![](extras/sagerender-pipeline-design.png)\n\nA 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.\n\n## Table of Contents\n* [Installation](#installation)\n* [Changelog](#changelog)\n* [Documentation](#documentation)\n* [Unit Tests](#unit-tests)\n* [Future Work](#future-work)\n\n### Installation\nFrom pypi:\n```shell\npip install sagerender\n```\n\nFrom GitHub:\n```shell\npip install git+https://github.com/nike-inc/sagerender#egg=sagerender\n```\n\n### Changelog\nSee the [changelog](CHANGELOG.md) for a history of notable changes to SageRender.\n\n### Documentation\n#### Commands\n```shell\nThe most commonly used SageRender commands are:\nrun-pipeline\t\tRun SageMaker Pipeline\nupsert-pipeline\t\tConfigure and Upsert SageMaker Pipeline\nversion             Version of SageRender\n```\n\n##### Run Pipeline\nUse this command to run an AWS SageMaker Pipeline\n```shell\nsagerender run-pipeline [-h] --pipeline-name PIPELINE_NAME\n                               [--region-name REGION_NAME] [--verbose]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --pipeline-name PIPELINE_NAME\n                        Name of the SageMaker pipeline\n  --region-name REGION_NAME\n                        Name of the AWS Region\n  --verbose, -v         Enable verbose logging\n```\n\n##### Upsert Pipeline\nUse this command to create/update pipeline definition on AWS SageMaker.\n```shell\nusage: sagerender upsert-pipeline [-h] --pipeline-name PIPELINE_NAME [--max-parallel-execution-steps MAX_PARALLEL_EXECUTION_STEPS]\n                                  [--default-bucket-prefix DEFAULT_BUCKET_PREFIX] [--dry-run] [--local] [--verbose]\n\noptions:\n  -h, --help            show this help message and exit\n  --pipeline-name PIPELINE_NAME\n                        Name of the SageMaker pipeline\n  --max-parallel-execution-steps MAX_PARALLEL_EXECUTION_STEPS\n                        Set the max parallel execution steps for SageMaker pipeline\n  --default-bucket-prefix DEFAULT_BUCKET_PREFIX\n                        Default bucket prefix sets s3 path to be bucket-prefix/default-bucket-prefix/pipeline-name\n  --dry-run             Skip upserting SageMaker pipeline definition. Used for debugging.\n  --local, -l           Run in local pipeline mode\n  --verbose, -v         Enable verbose logging\n```\n\n#### Getting Started\nA notebook to help you get started with `SageRender` is available [here](notebook/getting-started.ipynb).\n\n#### Examples\n- A simple SageMaker Pipeline configuration with different environments can be found under\n[examples/simple](examples/simple).\n- A complex SageMaker Pipeline configuration that defines different algorithms across different environments\ncan be found under [examples/complex](examples/complex).\n\n### Contribution\nYou can help by contributing to the project!\nContribution guidelines can be found [here](CONTRIBUTING.md).\nInstructions to easily set up your local development environment \ncan be found [here](DEVELOPMENT.md).\n\n### Unit Tests\n#### Prerequisites\n* poetry (curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python)\n#### Setup\nInstall the package using poetry\n```shell\npoetry install\n```\n#### Run Tests\n```shell\npoetry run pytest\n```\n#### Run pre-commit checks\n```shell\npoetry run pre-commit run --all-files\n```\n### Future Work\n* Add support for generating pipeline YAML templates\n* Add support for converting YAML to python code and vice versa.\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "A library for configuring SageMaker pipelines using hierarchical configuration pattern.",
    "version": "2.1.3",
    "project_urls": {
        "Homepage": "https://github.com/Nike-Inc/sagerender",
        "Repository": "https://github.com/Nike-Inc/sagerender"
    },
    "split_keywords": [
        "phiera",
        " sagemaker-sdk",
        " sagerender"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "79765cdff79d35f33b3e29089cbc21ddd6d3f54ec66b937fb46d172891ac1420",
                "md5": "3fa59697fd0fb4b827dfe8f3dd80529a",
                "sha256": "64d71b5dceb0835543ef439e1ea031936ebc687c212c4eec07cbe0fba7472d05"
            },
            "downloads": -1,
            "filename": "sagerender-2.1.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3fa59697fd0fb4b827dfe8f3dd80529a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0.0,>=3.10.10",
            "size": 28552,
            "upload_time": "2024-08-29T04:26:38",
            "upload_time_iso_8601": "2024-08-29T04:26:38.763623Z",
            "url": "https://files.pythonhosted.org/packages/79/76/5cdff79d35f33b3e29089cbc21ddd6d3f54ec66b937fb46d172891ac1420/sagerender-2.1.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8e81232f21f2eafc1fe3fb0b1e570ae9eadd2741ef37cb0cad49b4bad47aec50",
                "md5": "9a3fa647f2fb2acb5a373588ecab1e7a",
                "sha256": "98f12c3ac34d0bba0d64a52f3ab6eef0ba5f3b59ef58a572544f64579bb4a33f"
            },
            "downloads": -1,
            "filename": "sagerender-2.1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "9a3fa647f2fb2acb5a373588ecab1e7a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0.0,>=3.10.10",
            "size": 23885,
            "upload_time": "2024-08-29T04:26:40",
            "upload_time_iso_8601": "2024-08-29T04:26:40.275085Z",
            "url": "https://files.pythonhosted.org/packages/8e/81/232f21f2eafc1fe3fb0b1e570ae9eadd2741ef37cb0cad49b4bad47aec50/sagerender-2.1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-29 04:26:40",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Nike-Inc",
    "github_project": "sagerender",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "sagerender"
}
        
Elapsed time: 0.28720s