|codebuild| |readthedocs| |pypi|
===================================
AWS Step Functions Data Science SDK
===================================
The AWS Step Functions Data Science SDK is an open-source library that allows data
scientists to easily create workflows that process and publish machine learning
models using Amazon SageMaker and AWS Step Functions. You can create machine learning
workflows in Python that orchestrate AWS infrastructure at scale, without having
to provision and integrate the AWS services separately.
* Workflow - A sequence of steps designed to perform some work
* Step - A unit of work within a workflow
* ML Pipeline - A type of workflow used in data science to create and train machine learning models
The AWS Step Functions Data Science SDK enables you to do the following.
- Easily construct and run machine learning workflows that use AWS
infrastructure directly in Python
- Instantiate common training pipelines
- Create standard machine learning workflows in a Jupyter notebook from
templates
Table of Contents
-----------------
- `Getting Started With Sample Jupyter Notebooks <#getting-started-with-sample-jupyter-notebooks>`__
- `Installing the AWS Step Functions Data Science SDK <#installing-the-aws-step-functions-data-science-sdk>`__
- `Overview of SDK <#overview-of-sdk>`__
- `Contributing <#contributing>`__
- `AWS Permissions <#aws-permissions>`__
- `Licensing <#licensing>`__
- `Verifying the Signature <#verifying-the-signature>`__
Getting Started With Sample Jupyter Notebooks
---------------------------------------------
The best way to quickly review how the AWS Step Functions Data Science SDK works
is to review the related example notebooks. These notebooks provide code and
descriptions for creating and running workflows in AWS Step Functions Using
the AWS Step Functions Data Science SDK.
Example Notebooks in SageMaker
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In Amazon SageMaker, example Jupyter notebooks are available in the **example
notebooks** portion of a notebook instance. To run the example notebooks, do the following.
1. Either `Create a Notebook Instance <https://docs.aws.amazon.com/sagemaker/latest/dg/gs-setup-working-env.html>`__ or `Access an Existing <https://docs.aws.amazon.com/sagemaker/latest/dg/howitworks-access-ws.html>`__ notebook instance.
2. Select the **SageMaker Examples** tab.
3. Choose a notebook in the **Step Functions Data Science SDK** section and select **Use**.
For more information, see `Example Notebooks <https://docs.aws.amazon.com/sagemaker/latest/dg/howitworks-nbexamples.html>`__
in the Amazon SageMaker documentation.
Run Example Notebooks Locally
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To run the AWS Step Functions Data Science SDK example notebooks locally, download
the sample notebooks and open them in a working Jupyter instance.
1. Install Jupyter: https://jupyter.readthedocs.io/en/latest/install.html
2. Download the following files from:
https://github.com/awslabs/amazon-sagemaker-examples/tree/master/step-functions-data-science-sdk.
* :code:`hello_world_workflow.ipynb`
* :code:`machine_learning_workflow_abalone.ipynb`
* :code:`training_pipeline_pytorch_mnist.ipynb`
3. Open the files in Jupyter.
Installing the AWS Step Functions Data Science SDK
--------------------------------------------------
The AWS Step Functions Data Science SDK is built to PyPI and can be installed with
pip as follows.
::
pip install stepfunctions
You can install from source by cloning this repository and running a pip install
command in the root directory of the repository:
::
git clone https://github.com/aws/aws-step-functions-data-science-sdk-python.git
cd aws-step-functions-data-science-sdk-python
pip install .
Supported Operating Systems
~~~~~~~~~~~~~~~~~~~~~~~~~~~
The AWS Step Functions Data Science SDK supports Unix/Linux and Mac.
Supported Python Versions
~~~~~~~~~~~~~~~~~~~~~~~~~
The AWS Step Functions Data Science SDK is tested on:
* Python 3.6
Overview of SDK
---------------
The AWS Step Functions Data Science SDK provides a Python API that enables you to
create data science and machine learning workflows using AWS Step Functions and
SageMaker directly in your Python code and Jupyter notebooks.
Using this SDK you can:
1. Create steps that accomplish tasks.
2. Chain those steps together into workflows.
3. Include retry, succeed, or fail steps.
4. Review a graphical representation and definition for your workflow.
5. Create a workflow in AWS Step Functions.
6. Start and review executions in AWS Step Functions.
For a detailed API reference of the AWS Step Functions Data Science SDK,
be sure to view this documentation on
`Read the Docs <https://aws-step-functions-data-science-sdk.readthedocs.io>`_.
AWS Step Functions
~~~~~~~~~~~~~~~~~~
AWS Step Functions lets you coordinate multiple AWS services into serverless
workflows so you can build and update apps quickly. Using Step Functions, you
can design and run workflows that combine services such as Amazon SageMaker, AWS
Lambda, and Amazon Elastic Container Service (Amazon ECS), into feature-rich
applications. Workflows are made up of a series of steps, with the output of one
step acting as input to the next.
The AWS Step Functions Data Science SDK provides access to AWS Step Functions so that
you can easily create and run machine learning and data science workflows
directly in Python, and inside your Jupyter Notebooks. Workflows are created locally
in Python, but when they are ready for execution, the workflow is first uploaded
to the AWS Step Functions service for execution in the cloud.
When you use the SDK to create, update, or execute workflows
you are talking to the Step Functions service in the cloud. Your workflows
live in AWS Step Functions and can be re-used.
You can execute a workflow as many times as you want, and you can optionally
change the input each time. Each time you execute a workflow, it creates a new
execution instance in the cloud. You can inspect these executions with SDK
commands, or with the Step Functions management console. You can run more than
one execution at a time.
Using this SDK you can create steps, chain them together to create a workflow,
create that workflow in AWS Step Functions, and execute the workflow in the
AWS cloud.
.. image:: doc/images/create.png
:width: 600
:alt: Create a workflow in AWS Step Functions
Once you have created your workflow in AWS Step Functions, you can execute that
workflow in Step Functions, in the AWS cloud.
.. image:: doc/images/execute.png
:width: 600
:alt: Start a workflow in AWS Step Functions
Step Functions creates workflows out of steps called `States <https://docs.aws.amazon.com/step-functions/latest/dg/concepts-states.html>`__,
and expresses that workflow in the `Amazon States Language <https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html>`__.
When you create a workflow in the AWS Step Functions Data Science SDK, it
creates a State Machine representing your workflow and steps in AWS Step
Functions.
For more information about Step Functions concepts and use, see the Step
Functions `documentation`_.
.. _documentation: https://docs.aws.amazon.com/step-functions/index.html
Building a Workflow
-------------------
Steps
~~~~~
You create steps using the SDK, and chain them together into sequential
workflows. Then, you can create those workflows in AWS Step Functions and
execute them in Step Functions directly from your Python code. For example,
the following is how you define a pass step.
.. code-block:: python
start_pass_state = Pass(
state_id="MyPassState"
)
The following is how you define a wait step.
.. code-block:: python
wait_state = Wait(
state_id="Wait for 3 seconds",
seconds=3
)
The following example shows how to define a Lambda step,
and then defines a `Retry` and a `Catch`.
.. code-block:: python
lambda_state = LambdaStep(
state_id="Convert HelloWorld to Base64",
parameters={
"FunctionName": "MyLambda", #replace with the name of your function
"Payload": {
"input": "HelloWorld"
}
}
)
lambda_state.add_retry(Retry(
error_equals=["States.TaskFailed"],
interval_seconds=15,
max_attempts=2,
backoff_rate=4.0
))
lambda_state.add_catch(Catch(
error_equals=["States.TaskFailed"],
next_step=Fail("LambdaTaskFailed")
))
Workflows
~~~~~~~~~
After you define these steps, chain them together into a logical sequence.
.. code-block:: python
workflow_definition=Chain([start_pass_state, wait_state, lambda_state])
Once the steps are chained together, you can define the workflow definition.
.. code-block:: python
workflow = Workflow(
name="MyWorkflow_v1234",
definition=workflow_definition,
role=stepfunctions_execution_role
)
Visualizing a Workflow
~~~~~~~~~~~~~~~~~~~~~~
The following generates a graphical representation of your workflow. Please note that visualization currently only works in Jupyter notebooks. Visualization is not available in JupyterLab.
.. code-block:: python
workflow.render_graph(portrait=False)
Review a Workflow Definition
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The following renders the JSON of the `Amazon States Language
<https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html>`__
definition of the workflow you created.
.. code-block:: python
print(workflow.definition.to_json(pretty=True))
Running a Workflow
-------------------
Create Workflow on AWS Step Functions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The following creates the workflow in AWS Step Functions.
.. code-block:: python
workflow.create()
Execute the Workflow
~~~~~~~~~~~~~~~~~~~~
The following starts an execution of your workflow in AWS Step Functions.
.. code-block:: python
execution = workflow.execute(inputs={
"IsHelloWorldExample": True
})
Export an AWS CloudFormation Template
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The following generates an AWS CloudFormation Template to deploy your workflow.
.. code-block:: python
get_cloudformation_template()
The generated template contains only the StateMachine resource. To reuse
the CloudFormation template in a different region, please make sure to update
the region specific AWS resources (such as the Lambda ARN and Training Image)
in the StateMachine definition.
Contributing
------------
We welcome community contributions and pull requests. See
`CONTRIBUTING.md <https://github.com/aws/aws-step-functions-data-science-sdk-python/blob/main/CONTRIBUTING.md>`__ for
information on how to set up a development environment, run tests and submit code.
AWS Permissions
---------------
As a managed service, AWS Step Functions performs operations on your behalf on
AWS hardware that is managed by AWS Step Functions. AWS Step Functions can
perform only operations that the user permits. You can read more about which
permissions are necessary in the `AWS Documentation
<https://docs.aws.amazon.com/step-functions/latest/dg/security.html>`__.
The AWS Step Functions Data Science SDK should not require any additional permissions
aside from what is required for using .AWS Step Functions. However, if you are
using an IAM role with a path in it, you should grant permission for
``iam:GetRole``.
Licensing
---------
AWS Step Functions Data Science SDK is licensed under the Apache 2.0 License. It is
copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. The
license is available at: http://aws.amazon.com/apache2.0/
Verifying the Signature
-----------------------
This section describes the recommended process of verifying the validity of the
AWS Data Science Workflows Python SDK's compiled distributions on
`PyPI <https://pypi.org/project/stepfunctions/>`__.
Whenever you download an application from the internet, we recommend that you
authenticate the identity of the software publisher and check that the
application is not altered or corrupted since it was published. This protects
you from installing a version of the application that contains a virus or other
malicious code.
If after running the steps in this topic, you determine that the distribution
for the AWS Data Science Workflows Python SDK is altered or corrupted, do NOT
install the package. Instead, contact AWS Support (https://aws.amazon.com/contact-us/).
AWS Data Science Workflows Python SDK distributions on PyPI are signed using
GnuPG, an open source implementation of the Pretty Good Privacy (OpenPGP)
standard for secure digital signatures. GnuPG (also known as GPG) provides
authentication and integrity checking through a digital signature. For more
information about PGP and GnuPG (GPG), see http://www.gnupg.org.
The first step is to establish trust with the software publisher. Download the
public key of the software publisher, check that the owner of the public key is
who they claim to be, and then add the public key to your keyring. Your keyring
is a collection of known public keys. After you establish the authenticity of
the public key, you can use it to verify the signature of the application.
Topics
~~~~~~
1. `Installing the GPG Tools <#installing-the-gpg-tools>`__
2. `Authenticating and Importing the Public Key <#authenticating-and-importing-the-public-key>`__
3. `Verify the Signature of the Package <#verify-the-signature-of-the-package>`__
Installing the GPG Tools
~~~~~~~~~~~~~~~~~~~~~~~~
If your operating system is Linux or Unix, the GPG tools are likely already
installed. To test whether the tools are installed on your system, type
**gpg** at a command prompt. If the GPG tools are installed, you see a GPG
command prompt. If the GPG tools are not installed, you see an error stating
that the command cannot be found. You can install the GnuPG package from a
repository.
**To install GPG tools on Debian-based Linux**
From a terminal, run the following command: **apt-get install gnupg**
**To install GPG tools on Red Hat–based Linux**
From a terminal, run the following command: **yum install gnupg**
Authenticating and Importing the Public Key
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The next step in the process is to authenticate the AWS Data Science Workflows
Python SDK public key and add it as a trusted key in your GPG keyring.
To authenticate and import the AWS Data Science Workflows Python SDK public key
1. Copy the key from the following text and paste it into a file called
`data_science_workflows.key`. Make sure to include everything that follows:
.. code-block:: text
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBF27JXsBEAC18lOq7/SmynwuTJZdzoSaYzfPjt+3RN5oFLd9VY559sLb1aqV
ph+RPu35YOR0GbR76NQZV6p2OicunvjmvvOKXzud8nsV3gjcSCdxn22YwVDdFdx9
N0dMOzo126kFIkubWNsBZDxzGsgIsku82+OKJbdSZyGEs7eOQCqieVpubnAk/pc5
J4sqYDFhL2ijCIwAW6YUx4WEMq1ysVVcoNIo5J3+f1NzJZBvI9xwf+R2AnX06EZb
FFIcX6kx5B8Sz6s4AI0EVFt9YOjtD+y6aBs3e63wx9etahq5No26NffNEve+pw3o
FTU7sq6HxX/cE+ssJALAwV/3/1OiluZ/icePgYvsl8UWkkULsnHEImW2vZOe9UCw
9CYb7lgqMCd9o14kQy0+SeTS3EdFH+ONRub4RMkdT7NV5wfzgD4WpSYban1YLJYx
XLYRIopMzWuRLSUKMHzqsN48UlNwUVzvpPlcVIAotzQQbgFaeWlW1Fvv3awqaF7Q
lnt0EBX5n71LJNDmpTRPtICnxcVsNXT1Uctk1mtzYwuMrxk0pDJZs06qPLwehwmO
4A4bQCZ/1aVnXaauzshP7kzgPWG6kqOcSbn3VA/yhfDX/NBeY3Xg1ECDlFxmCrrV
D7xqpZgVaztHbRIOr6ANKLMf72ZmqxiYayrFlLLOkJYtNCaC8igO5Baf2wARAQAB
tFBTdGVwZnVuY3Rpb25zLVB5dGhvbi1TREstU2lnbmluZyA8c3RlcGZ1bmN0aW9u
cy1kZXZlbG9wZXItZXhwZXJpZW5jZUBhbWF6b24uY29tPokCVAQTAQgAPhYhBMwW
BXe3v509bl1RxWDrEDrjFKgJBQJduyV7AhsDBQkUsSsABQsJCAcCBhUKCQgLAgQW
AgMBAh4BAheAAAoJEGDrEDrjFKgJq5IP/25LVDaA3itCICBP2/eu8KkUJ437oZDr
+3z59z7p4mvispmEzi4OOb1lMGBH+MdhkgblrcSaj4XcIslTkfKD4gP/cMSl14hb
X/OIxEXFXvTq4PmWUCgl5NtsyAbgB3pAxGUfNAXR2dV3MJFAHSOVUK5Es4/kAj4a
5lra+1MwZZMDqhMTYuvTclIqPA/PXafkgL5g15JA5lFDyFQ2zuV1BgQlKh7o24Jw
a1kDB0aSePkrh4gJHXAEoGDjX2mcGhEjlBvCH4ay7VGoG6l+rjcHnqSiVX0tg9dZ
Ilc7RTR+1LX7jx8wdsYSUGekADy6wGTjk9HBTafh8Bl8sR2eNoH1qZuIn/YIHxkR
JPH/74hG71pjS4FWPBbbPrdkC/G47mXMfLUrGpigcgkhePuA1BBW30U0ZZWWDHsf
ISxp8hcQkR5gFhU+37tsC06pwihhDWgx4kTfeTmNqkl03fTH5lwNsig0HSpUINWR
+EWN0jXb8DtjMzZbiDhLxQX9U3HBEdw2g2/Ktsqv+MM1P1choEGNtzots3V9fqMY
Txy7MkYLtRDYu+sX5DNob309vPzbI4b3KBv6hCRJdnICjBvgL6C8WHaLm6+FU+68
rFRKw6WImWHyygdnv8Bzdq4h+MaTE6AhteYutd+ZTWpazfE1h0ngrEerQju2VLZP
LAACxHBQNjT+uQINBF27JXsBEAC/PDJmWIkJBdnOmPU/W0SosOZRMvzs/KR89qeI
ebT8O0rNFeHR6Iql5ak6kGeDLwnzcOOwqamO+vwGmRScwPT6NF9+HDkXCzITOE22
71zKVjGVf+tX5kHJzT8ZqQBxvnk5Cx/d7sr3kwLBhhygHLS/kn2K9fhYwbtsQTLE
o9XvTBOip+DohHHJjZHcboeYnZ2g2b8Gnwe4cz75ogFNcuHZXusr8Y6enJX8wTBy
/AvXPVUIyrHbrXcHaNS3UYKzbhkH6W1cfkV6Bb49FKYkxH0N1ZeooyS6zXyf0X4n
TAbyCfoFYQ68KC17/pGMOXtR/UlqDeJe0sFeyyTHKjdSTDpA+WKKJJZ5BSCYQ5Hq
ewy6mvaIcKURExIZyNqRHRhb4p/0BA7eXzMCryx1AZPcQnaMVQYJTi5e+HSnOxnK
AB7jm2HHPHCRgO4qvavr5dIlEoKBM6qya1KVqoarw5hv8J8+R9ECn4kWZ8QjBlgO
y65q/b3mwqK0rVA1w73BPWea/xLCLrqqVRGa/fB7dhTnPfn+BpaQ3qruLinIJatM
8c2/p1LZ1nuWgrssSkSMn3TlffF0Lq9jtcbi7K11A082RiB2L0lu+j8r07RgVQvZ
4UliS1Lklsp7Ixh+zoR712hKPQpNVLstEHTxQhXZTWAk/Ih7b9ukrL/1HJAnhZBe
uBhDDQARAQABiQI8BBgBCAAmFiEEzBYFd7e/nT1uXVHFYOsQOuMUqAkFAl27JXsC
GwwFCRSxKwAACgkQYOsQOuMUqAnJvA//SDQZxf0zbge8o9kGfrm7bnExz8a6sxEn
urooUaSk3isbGFAUg+Q7rQ+ViG9gDG74F5liwwcKoBct/Z9tCi/7p3QI0BE0bM1j
IHdm5dXaZAcMlUy6f0p3DO3qE2IjnNjEjvpm7Xzt6tKJu/scZQNdQxG/CDn5+ezm
nIatgDV6ugDDv/2o0BXMyAZT008T/QLR2U5dEsbt9H3Bzl4Ska6gjak2ToJL0T61
1dZjfv/1UbeYRPFCO6CsLj9uEq+RoHAsvAS4rl9HyM3b2sVzr8CMsP6LVdqlA2Qz
/nIBd+GuLofi3/PGvvS63ubfqSRGd5VvJXoiRl2WoE8lmyIB5UJfFfd8Zdn6j+hQ
c14VOp89mEfg57BiQXfZnzjFVNkl7T5I2g3X5O8StosncChqiJTSH5C731KUVqxO
xYknFostioIVKmyis/Nwmwr6fIItYyYCwh5YCqAg0r4SLbhFEVXdannUbFPF6upO
EbKlZP3Iyu/kYANMnq+9+GImrPrT/FCpM9RW1GFAnuVBt9Qjs+eRq4DQJl/EaIjZ
cgqz+e5TZNxDK9r2sHC4zGWy88/2GuhD8xh4FH5hBIDJPmHUtKh9XElq187VA4Jg
U0mbryduKMQIyuc6OLzfJUbVTMvKWaPASbGtvAAOwCFtAi33dZ8bOfjQLgOb9uDh
/vQojRxttMc=
=ovUh
-----END PGP PUBLIC KEY BLOCK-----
2. At a command prompt in the directory where you saved
`data_science_workflows.key`, use the following command to import the AWS Data
Science Workflows Python SDK public key into your keyring:
.. code-block:: text
gpg --import data_science_workflows.key
The command returns results that are similar to the following:
.. code-block:: text
gpg: key 60EB103AE314A809: public key "Stepfunctions-Python-SDK-Signing <stepfunctions-developer-experience [at] amazon.com>" imported
gpg: Total number processed: 1
gpg: imported: 1
Make a note of the key value; you need it in the next step. In the preceding
example, the key value is 60EB103AE314A809.
3. Verify the fingerprint by running the following command, replacing key-value
with the value from the preceding step:
.. code-block:: text
gpg --fingerprint <key-value>
This command returns results similar to the following:
.. code-block:: text
pub rsa4096 2019-10-31 [SC] [expires: 2030-10-31] CC16 0577 B7BF 9D3D 6E5D
51C5 60EB 103A E314 A809 uid [ unknown]
Stepfunctions-Python-SDK-Signing
<stepfunctions-developer-experience [at] amazon.com> sub rsa4096 2019-10-31 [E]
[expires: 2030-10-31]
Additionally, the fingerprint string should be identical to CC16 0577 B7BF
9D3D 6E5D 51C5 60EB 103A E314 A809, as shown in the preceding example.
Compare the key fingerprint that is returned to the one published on this
page. They should match. If they don't match, don't install the AWS Data
Science Workflows Python SDK package, and contact AWS Support.
Verify the Signature of the Package
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
After you install the GPG tools, authenticate and import the AWS Data Science
Workflows Python SDK public key, and verify that the public key is trusted, you
are ready to verify the signature of the package.
To verify the package signature, do the following.
1. Download the detached signature for the package from PyPI
Go to the downloads section for the Data Science Workflows Python SDK
https://pypi.org/project/stepfunctions/#files on PyPI, Right-click on the SDK
distribution link, and choose "Copy Link Location/Address".
Append the string ".asc" to the end of the link you copied, and paste this
new link on your browser.
Your browser will prompt you to download a file, which is the detatched
signature associated with the respective distribution. Save the file on your
local machine.
2. Verify the signature by running the following command at a command prompt
in the directory where you saved signature file and the AWS Data Science
Workflows Python SDK installation file. Both files must be present.
.. code-block:: text
gpg --verify <path-to-detached-signature-file>
The output should look something like the following:
.. code-block:: text
gpg: Signature made Thu 31 Oct 12:14:53 2019 PDT
gpg: using RSA key CC160577B7BF9D3D6E5D51C560EB103AE314A809
gpg: Good signature from "Stepfunctions-Python-SDK-Signing <stepfunctions-developer-experience [at] amazon.com>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: CC16 0577 B7BF 9D3D 6E5D 51C5 60EB 103A E314 A809
If the output contains the phrase Good signature from "AWS Data Science
Workflows Python SDK <stepfunctions-developer-experience [at] amazon.com>", it means
that the signature has successfully been verified, and you can proceed to run
the AWS Data Science Workflows Python SDK package.
If the output includes the phrase BAD signature, check whether you performed the
procedure correctly. If you continue to get this response, don't run the
installation file that you downloaded previously, and contact AWS Support.
The following are details about the warnings you might see:
.. code-block:: text
WARNING: This key is not certified with a trusted signature! There is no
indication that the signature belongs to the owner. This refers to your
personal level of trust in your belief that you possess an authentic public
key for AWS Data Science Workflows Python SDK. In an ideal world, you would
visit an AWS office and receive the key in person. However, more often you
download it from a website. In this case, the website is an AWS website.
gpg: no ultimately trusted keys found. This means that the specific key is not
"ultimately trusted" by you (or by other people whom you trust).
For more information, see http://www.gnupg.org.
.. |codebuild| image:: https://codebuild.us-east-2.amazonaws.com/badges?uuid=eyJlbmNyeXB0ZWREYXRhIjoiZ2crZkxWN2lPTHhBdzAwOUIvZDlUQ2txQTRyYnZnQ3RaQ0dQYkhsb2EvT04xOVRIdDBqYWFOaS8weklGU216OUtuc29pZFQvQjgrRDhRbWJoeEJocFV3PSIsIml2UGFyYW1ldGVyU3BlYyI6IlRQUlZQd1ZLdGRqWkdVdWkiLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D&branch=master
:target: https://us-east-2.console.aws.amazon.com/codesuite/codebuild/projects/StepFunctionsPythonSDK-unittests-private/history?region=us-east-2
:alt: Unit Tests Build Status
.. |readthedocs| image:: https://readthedocs.org/projects/aws-step-functions-data-science-sdk/badge/?version=latest
:target: https://aws-step-functions-data-science-sdk.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. |pypi| image:: https://img.shields.io/pypi/v/stepfunctions
:target: https://pypi.org/project/stepfunctions/
:alt: PyPI
Raw data
{
"_id": null,
"home_page": "https://github.com/nsbno/aws-step-functions-data-science-sdk-python",
"name": "stepfunctions-without-sagemaker",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "ML Amazon AWS AI Tensorflow MXNet",
"author": "Amazon Web Services",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/5e/ba/ecf39674ea4fd23bfbb7ca5fe3b7a43129bf8887c2950705e05f76220d27/stepfunctions_without_sagemaker-3.0.0.tar.gz",
"platform": null,
"description": "|codebuild| |readthedocs| |pypi|\n\n===================================\nAWS Step Functions Data Science SDK\n===================================\n\nThe AWS Step Functions Data Science SDK is an open-source library that allows data\nscientists to easily create workflows that process and publish machine learning\nmodels using Amazon SageMaker and AWS Step Functions. You can create machine learning\nworkflows in Python that orchestrate AWS infrastructure at scale, without having\nto provision and integrate the AWS services separately.\n\n* Workflow - A sequence of steps designed to perform some work\n* Step - A unit of work within a workflow\n* ML Pipeline - A type of workflow used in data science to create and train machine learning models\n\nThe AWS Step Functions Data Science SDK enables you to do the following.\n\n- Easily construct and run machine learning workflows that use AWS\n infrastructure directly in Python\n- Instantiate common training pipelines\n- Create standard machine learning workflows in a Jupyter notebook from\n templates\n\nTable of Contents\n-----------------\n- `Getting Started With Sample Jupyter Notebooks <#getting-started-with-sample-jupyter-notebooks>`__\n- `Installing the AWS Step Functions Data Science SDK <#installing-the-aws-step-functions-data-science-sdk>`__\n- `Overview of SDK <#overview-of-sdk>`__\n- `Contributing <#contributing>`__\n- `AWS Permissions <#aws-permissions>`__\n- `Licensing <#licensing>`__\n- `Verifying the Signature <#verifying-the-signature>`__\n\nGetting Started With Sample Jupyter Notebooks\n---------------------------------------------\n\nThe best way to quickly review how the AWS Step Functions Data Science SDK works\nis to review the related example notebooks. These notebooks provide code and\ndescriptions for creating and running workflows in AWS Step Functions Using\nthe AWS Step Functions Data Science SDK.\n\nExample Notebooks in SageMaker\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nIn Amazon SageMaker, example Jupyter notebooks are available in the **example\nnotebooks** portion of a notebook instance. To run the example notebooks, do the following.\n\n1. Either `Create a Notebook Instance <https://docs.aws.amazon.com/sagemaker/latest/dg/gs-setup-working-env.html>`__ or `Access an Existing <https://docs.aws.amazon.com/sagemaker/latest/dg/howitworks-access-ws.html>`__ notebook instance.\n\n2. Select the **SageMaker Examples** tab.\n\n3. Choose a notebook in the **Step Functions Data Science SDK** section and select **Use**.\n\nFor more information, see `Example Notebooks <https://docs.aws.amazon.com/sagemaker/latest/dg/howitworks-nbexamples.html>`__\nin the Amazon SageMaker documentation.\n\n\nRun Example Notebooks Locally\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nTo run the AWS Step Functions Data Science SDK example notebooks locally, download\nthe sample notebooks and open them in a working Jupyter instance.\n\n1. Install Jupyter: https://jupyter.readthedocs.io/en/latest/install.html\n\n2. Download the following files from:\n https://github.com/awslabs/amazon-sagemaker-examples/tree/master/step-functions-data-science-sdk.\n\n * :code:`hello_world_workflow.ipynb`\n * :code:`machine_learning_workflow_abalone.ipynb`\n * :code:`training_pipeline_pytorch_mnist.ipynb`\n\n3. Open the files in Jupyter.\n\n\n\nInstalling the AWS Step Functions Data Science SDK\n--------------------------------------------------\n\nThe AWS Step Functions Data Science SDK is built to PyPI and can be installed with\npip as follows.\n\n\n::\n\n pip install stepfunctions\n\nYou can install from source by cloning this repository and running a pip install\ncommand in the root directory of the repository:\n\n::\n\n git clone https://github.com/aws/aws-step-functions-data-science-sdk-python.git\n cd aws-step-functions-data-science-sdk-python\n pip install .\n\nSupported Operating Systems\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe AWS Step Functions Data Science SDK supports Unix/Linux and Mac.\n\nSupported Python Versions\n~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe AWS Step Functions Data Science SDK is tested on:\n\n* Python 3.6\n\nOverview of SDK\n---------------\n\nThe AWS Step Functions Data Science SDK provides a Python API that enables you to\ncreate data science and machine learning workflows using AWS Step Functions and\nSageMaker directly in your Python code and Jupyter notebooks.\n\nUsing this SDK you can:\n\n1. Create steps that accomplish tasks.\n2. Chain those steps together into workflows.\n3. Include retry, succeed, or fail steps.\n4. Review a graphical representation and definition for your workflow.\n5. Create a workflow in AWS Step Functions.\n6. Start and review executions in AWS Step Functions.\n\nFor a detailed API reference of the AWS Step Functions Data Science SDK,\nbe sure to view this documentation on\n`Read the Docs <https://aws-step-functions-data-science-sdk.readthedocs.io>`_.\n\n\nAWS Step Functions\n~~~~~~~~~~~~~~~~~~\n\nAWS Step Functions lets you coordinate multiple AWS services into serverless\nworkflows so you can build and update apps quickly. Using Step Functions, you\ncan design and run workflows that combine services such as Amazon SageMaker, AWS\nLambda, and Amazon Elastic Container Service (Amazon ECS), into feature-rich\napplications. Workflows are made up of a series of steps, with the output of one\nstep acting as input to the next.\n\nThe AWS Step Functions Data Science SDK provides access to AWS Step Functions so that\nyou can easily create and run machine learning and data science workflows\ndirectly in Python, and inside your Jupyter Notebooks. Workflows are created locally\nin Python, but when they are ready for execution, the workflow is first uploaded\nto the AWS Step Functions service for execution in the cloud.\n\nWhen you use the SDK to create, update, or execute workflows\nyou are talking to the Step Functions service in the cloud. Your workflows\nlive in AWS Step Functions and can be re-used.\n\nYou can execute a workflow as many times as you want, and you can optionally\nchange the input each time. Each time you execute a workflow, it creates a new\nexecution instance in the cloud. You can inspect these executions with SDK\ncommands, or with the Step Functions management console. You can run more than\none execution at a time.\n\nUsing this SDK you can create steps, chain them together to create a workflow,\ncreate that workflow in AWS Step Functions, and execute the workflow in the\nAWS cloud.\n\n.. image:: doc/images/create.png\n :width: 600\n :alt: Create a workflow in AWS Step Functions\n\nOnce you have created your workflow in AWS Step Functions, you can execute that\nworkflow in Step Functions, in the AWS cloud.\n\n.. image:: doc/images/execute.png\n :width: 600\n :alt: Start a workflow in AWS Step Functions\n\nStep Functions creates workflows out of steps called `States <https://docs.aws.amazon.com/step-functions/latest/dg/concepts-states.html>`__,\nand expresses that workflow in the `Amazon States Language <https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html>`__.\nWhen you create a workflow in the AWS Step Functions Data Science SDK, it\ncreates a State Machine representing your workflow and steps in AWS Step\nFunctions.\n\nFor more information about Step Functions concepts and use, see the Step\nFunctions `documentation`_.\n\n.. _documentation: https://docs.aws.amazon.com/step-functions/index.html\n\nBuilding a Workflow\n-------------------\n\nSteps\n~~~~~\n\nYou create steps using the SDK, and chain them together into sequential\nworkflows. Then, you can create those workflows in AWS Step Functions and\nexecute them in Step Functions directly from your Python code. For example,\nthe following is how you define a pass step.\n\n.. code-block:: python\n\n start_pass_state = Pass(\n state_id=\"MyPassState\"\n )\n\nThe following is how you define a wait step.\n\n\n.. code-block:: python\n\n wait_state = Wait(\n state_id=\"Wait for 3 seconds\",\n seconds=3\n )\n\nThe following example shows how to define a Lambda step,\nand then defines a `Retry` and a `Catch`.\n\n.. code-block:: python\n\n lambda_state = LambdaStep(\n state_id=\"Convert HelloWorld to Base64\",\n parameters={\n \"FunctionName\": \"MyLambda\", #replace with the name of your function\n \"Payload\": {\n \"input\": \"HelloWorld\"\n }\n }\n )\n\n lambda_state.add_retry(Retry(\n error_equals=[\"States.TaskFailed\"],\n interval_seconds=15,\n max_attempts=2,\n backoff_rate=4.0\n ))\n\n lambda_state.add_catch(Catch(\n error_equals=[\"States.TaskFailed\"],\n next_step=Fail(\"LambdaTaskFailed\")\n ))\n\nWorkflows\n~~~~~~~~~\n\nAfter you define these steps, chain them together into a logical sequence.\n\n.. code-block:: python\n\n workflow_definition=Chain([start_pass_state, wait_state, lambda_state])\n\nOnce the steps are chained together, you can define the workflow definition.\n\n.. code-block:: python\n\n workflow = Workflow(\n name=\"MyWorkflow_v1234\",\n definition=workflow_definition,\n role=stepfunctions_execution_role\n )\n\nVisualizing a Workflow\n~~~~~~~~~~~~~~~~~~~~~~\n\nThe following generates a graphical representation of your workflow. Please note that visualization currently only works in Jupyter notebooks. Visualization is not available in JupyterLab.\n\n.. code-block:: python\n\n workflow.render_graph(portrait=False)\n\nReview a Workflow Definition\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe following renders the JSON of the `Amazon States Language\n<https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html>`__\ndefinition of the workflow you created.\n\n.. code-block:: python\n\n print(workflow.definition.to_json(pretty=True))\n\nRunning a Workflow\n-------------------\n\nCreate Workflow on AWS Step Functions\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe following creates the workflow in AWS Step Functions.\n\n.. code-block:: python\n\n workflow.create()\n\nExecute the Workflow\n~~~~~~~~~~~~~~~~~~~~\n\nThe following starts an execution of your workflow in AWS Step Functions.\n\n.. code-block:: python\n\n execution = workflow.execute(inputs={\n \"IsHelloWorldExample\": True\n })\n\nExport an AWS CloudFormation Template\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe following generates an AWS CloudFormation Template to deploy your workflow.\n\n.. code-block:: python\n\n get_cloudformation_template()\n\nThe generated template contains only the StateMachine resource. To reuse\nthe CloudFormation template in a different region, please make sure to update\nthe region specific AWS resources (such as the Lambda ARN and Training Image)\nin the StateMachine definition.\n\nContributing\n------------\nWe welcome community contributions and pull requests. See\n`CONTRIBUTING.md <https://github.com/aws/aws-step-functions-data-science-sdk-python/blob/main/CONTRIBUTING.md>`__ for\ninformation on how to set up a development environment, run tests and submit code.\n\nAWS Permissions\n---------------\nAs a managed service, AWS Step Functions performs operations on your behalf on\nAWS hardware that is managed by AWS Step Functions. AWS Step Functions can\nperform only operations that the user permits. You can read more about which\npermissions are necessary in the `AWS Documentation\n<https://docs.aws.amazon.com/step-functions/latest/dg/security.html>`__.\n\nThe AWS Step Functions Data Science SDK should not require any additional permissions\naside from what is required for using .AWS Step Functions. However, if you are\nusing an IAM role with a path in it, you should grant permission for\n``iam:GetRole``.\n\nLicensing\n---------\nAWS Step Functions Data Science SDK is licensed under the Apache 2.0 License. It is\ncopyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. The\nlicense is available at: http://aws.amazon.com/apache2.0/\n\nVerifying the Signature\n-----------------------\n\nThis section describes the recommended process of verifying the validity of the\nAWS Data Science Workflows Python SDK's compiled distributions on\n`PyPI <https://pypi.org/project/stepfunctions/>`__.\n\nWhenever you download an application from the internet, we recommend that you\nauthenticate the identity of the software publisher and check that the\napplication is not altered or corrupted since it was published. This protects\nyou from installing a version of the application that contains a virus or other\nmalicious code.\n\nIf after running the steps in this topic, you determine that the distribution\nfor the AWS Data Science Workflows Python SDK is altered or corrupted, do NOT\ninstall the package. Instead, contact AWS Support (https://aws.amazon.com/contact-us/).\n\nAWS Data Science Workflows Python SDK distributions on PyPI are signed using\nGnuPG, an open source implementation of the Pretty Good Privacy (OpenPGP)\nstandard for secure digital signatures. GnuPG (also known as GPG) provides\nauthentication and integrity checking through a digital signature. For more\ninformation about PGP and GnuPG (GPG), see http://www.gnupg.org.\n\nThe first step is to establish trust with the software publisher. Download the\npublic key of the software publisher, check that the owner of the public key is\nwho they claim to be, and then add the public key to your keyring. Your keyring\nis a collection of known public keys. After you establish the authenticity of\nthe public key, you can use it to verify the signature of the application.\n\nTopics\n~~~~~~\n\n1. `Installing the GPG Tools <#installing-the-gpg-tools>`__\n2. `Authenticating and Importing the Public Key <#authenticating-and-importing-the-public-key>`__\n3. `Verify the Signature of the Package <#verify-the-signature-of-the-package>`__\n\nInstalling the GPG Tools\n~~~~~~~~~~~~~~~~~~~~~~~~\n\nIf your operating system is Linux or Unix, the GPG tools are likely already\ninstalled. To test whether the tools are installed on your system, type\n**gpg** at a command prompt. If the GPG tools are installed, you see a GPG\ncommand prompt. If the GPG tools are not installed, you see an error stating\nthat the command cannot be found. You can install the GnuPG package from a\nrepository.\n\n**To install GPG tools on Debian-based Linux**\n\nFrom a terminal, run the following command: **apt-get install gnupg**\n\n**To install GPG tools on Red Hat\u2013based Linux**\n\nFrom a terminal, run the following command: **yum install gnupg**\n\nAuthenticating and Importing the Public Key\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe next step in the process is to authenticate the AWS Data Science Workflows\nPython SDK public key and add it as a trusted key in your GPG keyring.\n\nTo authenticate and import the AWS Data Science Workflows Python SDK public key\n\n1. Copy the key from the following text and paste it into a file called\n`data_science_workflows.key`. Make sure to include everything that follows:\n\n.. code-block:: text\n\n -----BEGIN PGP PUBLIC KEY BLOCK-----\n\n mQINBF27JXsBEAC18lOq7/SmynwuTJZdzoSaYzfPjt+3RN5oFLd9VY559sLb1aqV\n ph+RPu35YOR0GbR76NQZV6p2OicunvjmvvOKXzud8nsV3gjcSCdxn22YwVDdFdx9\n N0dMOzo126kFIkubWNsBZDxzGsgIsku82+OKJbdSZyGEs7eOQCqieVpubnAk/pc5\n J4sqYDFhL2ijCIwAW6YUx4WEMq1ysVVcoNIo5J3+f1NzJZBvI9xwf+R2AnX06EZb\n FFIcX6kx5B8Sz6s4AI0EVFt9YOjtD+y6aBs3e63wx9etahq5No26NffNEve+pw3o\n FTU7sq6HxX/cE+ssJALAwV/3/1OiluZ/icePgYvsl8UWkkULsnHEImW2vZOe9UCw\n 9CYb7lgqMCd9o14kQy0+SeTS3EdFH+ONRub4RMkdT7NV5wfzgD4WpSYban1YLJYx\n XLYRIopMzWuRLSUKMHzqsN48UlNwUVzvpPlcVIAotzQQbgFaeWlW1Fvv3awqaF7Q\n lnt0EBX5n71LJNDmpTRPtICnxcVsNXT1Uctk1mtzYwuMrxk0pDJZs06qPLwehwmO\n 4A4bQCZ/1aVnXaauzshP7kzgPWG6kqOcSbn3VA/yhfDX/NBeY3Xg1ECDlFxmCrrV\n D7xqpZgVaztHbRIOr6ANKLMf72ZmqxiYayrFlLLOkJYtNCaC8igO5Baf2wARAQAB\n tFBTdGVwZnVuY3Rpb25zLVB5dGhvbi1TREstU2lnbmluZyA8c3RlcGZ1bmN0aW9u\n cy1kZXZlbG9wZXItZXhwZXJpZW5jZUBhbWF6b24uY29tPokCVAQTAQgAPhYhBMwW\n BXe3v509bl1RxWDrEDrjFKgJBQJduyV7AhsDBQkUsSsABQsJCAcCBhUKCQgLAgQW\n AgMBAh4BAheAAAoJEGDrEDrjFKgJq5IP/25LVDaA3itCICBP2/eu8KkUJ437oZDr\n +3z59z7p4mvispmEzi4OOb1lMGBH+MdhkgblrcSaj4XcIslTkfKD4gP/cMSl14hb\n X/OIxEXFXvTq4PmWUCgl5NtsyAbgB3pAxGUfNAXR2dV3MJFAHSOVUK5Es4/kAj4a\n 5lra+1MwZZMDqhMTYuvTclIqPA/PXafkgL5g15JA5lFDyFQ2zuV1BgQlKh7o24Jw\n a1kDB0aSePkrh4gJHXAEoGDjX2mcGhEjlBvCH4ay7VGoG6l+rjcHnqSiVX0tg9dZ\n Ilc7RTR+1LX7jx8wdsYSUGekADy6wGTjk9HBTafh8Bl8sR2eNoH1qZuIn/YIHxkR\n JPH/74hG71pjS4FWPBbbPrdkC/G47mXMfLUrGpigcgkhePuA1BBW30U0ZZWWDHsf\n ISxp8hcQkR5gFhU+37tsC06pwihhDWgx4kTfeTmNqkl03fTH5lwNsig0HSpUINWR\n +EWN0jXb8DtjMzZbiDhLxQX9U3HBEdw2g2/Ktsqv+MM1P1choEGNtzots3V9fqMY\n Txy7MkYLtRDYu+sX5DNob309vPzbI4b3KBv6hCRJdnICjBvgL6C8WHaLm6+FU+68\n rFRKw6WImWHyygdnv8Bzdq4h+MaTE6AhteYutd+ZTWpazfE1h0ngrEerQju2VLZP\n LAACxHBQNjT+uQINBF27JXsBEAC/PDJmWIkJBdnOmPU/W0SosOZRMvzs/KR89qeI\n ebT8O0rNFeHR6Iql5ak6kGeDLwnzcOOwqamO+vwGmRScwPT6NF9+HDkXCzITOE22\n 71zKVjGVf+tX5kHJzT8ZqQBxvnk5Cx/d7sr3kwLBhhygHLS/kn2K9fhYwbtsQTLE\n o9XvTBOip+DohHHJjZHcboeYnZ2g2b8Gnwe4cz75ogFNcuHZXusr8Y6enJX8wTBy\n /AvXPVUIyrHbrXcHaNS3UYKzbhkH6W1cfkV6Bb49FKYkxH0N1ZeooyS6zXyf0X4n\n TAbyCfoFYQ68KC17/pGMOXtR/UlqDeJe0sFeyyTHKjdSTDpA+WKKJJZ5BSCYQ5Hq\n ewy6mvaIcKURExIZyNqRHRhb4p/0BA7eXzMCryx1AZPcQnaMVQYJTi5e+HSnOxnK\n AB7jm2HHPHCRgO4qvavr5dIlEoKBM6qya1KVqoarw5hv8J8+R9ECn4kWZ8QjBlgO\n y65q/b3mwqK0rVA1w73BPWea/xLCLrqqVRGa/fB7dhTnPfn+BpaQ3qruLinIJatM\n 8c2/p1LZ1nuWgrssSkSMn3TlffF0Lq9jtcbi7K11A082RiB2L0lu+j8r07RgVQvZ\n 4UliS1Lklsp7Ixh+zoR712hKPQpNVLstEHTxQhXZTWAk/Ih7b9ukrL/1HJAnhZBe\n uBhDDQARAQABiQI8BBgBCAAmFiEEzBYFd7e/nT1uXVHFYOsQOuMUqAkFAl27JXsC\n GwwFCRSxKwAACgkQYOsQOuMUqAnJvA//SDQZxf0zbge8o9kGfrm7bnExz8a6sxEn\n urooUaSk3isbGFAUg+Q7rQ+ViG9gDG74F5liwwcKoBct/Z9tCi/7p3QI0BE0bM1j\n IHdm5dXaZAcMlUy6f0p3DO3qE2IjnNjEjvpm7Xzt6tKJu/scZQNdQxG/CDn5+ezm\n nIatgDV6ugDDv/2o0BXMyAZT008T/QLR2U5dEsbt9H3Bzl4Ska6gjak2ToJL0T61\n 1dZjfv/1UbeYRPFCO6CsLj9uEq+RoHAsvAS4rl9HyM3b2sVzr8CMsP6LVdqlA2Qz\n /nIBd+GuLofi3/PGvvS63ubfqSRGd5VvJXoiRl2WoE8lmyIB5UJfFfd8Zdn6j+hQ\n c14VOp89mEfg57BiQXfZnzjFVNkl7T5I2g3X5O8StosncChqiJTSH5C731KUVqxO\n xYknFostioIVKmyis/Nwmwr6fIItYyYCwh5YCqAg0r4SLbhFEVXdannUbFPF6upO\n EbKlZP3Iyu/kYANMnq+9+GImrPrT/FCpM9RW1GFAnuVBt9Qjs+eRq4DQJl/EaIjZ\n cgqz+e5TZNxDK9r2sHC4zGWy88/2GuhD8xh4FH5hBIDJPmHUtKh9XElq187VA4Jg\n U0mbryduKMQIyuc6OLzfJUbVTMvKWaPASbGtvAAOwCFtAi33dZ8bOfjQLgOb9uDh\n /vQojRxttMc=\n =ovUh\n -----END PGP PUBLIC KEY BLOCK-----\n\n\n2. At a command prompt in the directory where you saved\n`data_science_workflows.key`, use the following command to import the AWS Data\nScience Workflows Python SDK public key into your keyring:\n\n.. code-block:: text\n\n gpg --import data_science_workflows.key\n\nThe command returns results that are similar to the following:\n\n.. code-block:: text\n\n gpg: key 60EB103AE314A809: public key \"Stepfunctions-Python-SDK-Signing <stepfunctions-developer-experience [at] amazon.com>\" imported\n gpg: Total number processed: 1\n gpg: imported: 1\n\nMake a note of the key value; you need it in the next step. In the preceding\nexample, the key value is 60EB103AE314A809.\n\n3. Verify the fingerprint by running the following command, replacing key-value\nwith the value from the preceding step:\n\n.. code-block:: text\n\n gpg --fingerprint <key-value>\n\nThis command returns results similar to the following:\n\n.. code-block:: text\n\n pub rsa4096 2019-10-31 [SC] [expires: 2030-10-31] CC16 0577 B7BF 9D3D 6E5D\n 51C5 60EB 103A E314 A809 uid [ unknown]\n Stepfunctions-Python-SDK-Signing\n <stepfunctions-developer-experience [at] amazon.com> sub rsa4096 2019-10-31 [E]\n [expires: 2030-10-31]\n\nAdditionally, the fingerprint string should be identical to CC16 0577 B7BF\n9D3D 6E5D 51C5 60EB 103A E314 A809, as shown in the preceding example.\nCompare the key fingerprint that is returned to the one published on this\npage. They should match. If they don't match, don't install the AWS Data\nScience Workflows Python SDK package, and contact AWS Support.\n\nVerify the Signature of the Package\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAfter you install the GPG tools, authenticate and import the AWS Data Science\nWorkflows Python SDK public key, and verify that the public key is trusted, you\nare ready to verify the signature of the package.\n\nTo verify the package signature, do the following.\n\n1. Download the detached signature for the package from PyPI\n\n Go to the downloads section for the Data Science Workflows Python SDK\n https://pypi.org/project/stepfunctions/#files on PyPI, Right-click on the SDK\n distribution link, and choose \"Copy Link Location/Address\".\n\n Append the string \".asc\" to the end of the link you copied, and paste this\n new link on your browser.\n\n Your browser will prompt you to download a file, which is the detatched\n signature associated with the respective distribution. Save the file on your\n local machine.\n\n2. Verify the signature by running the following command at a command prompt\nin the directory where you saved signature file and the AWS Data Science\nWorkflows Python SDK installation file. Both files must be present.\n\n.. code-block:: text\n\n gpg --verify <path-to-detached-signature-file>\n\nThe output should look something like the following:\n\n.. code-block:: text\n\n gpg: Signature made Thu 31 Oct 12:14:53 2019 PDT\n gpg: using RSA key CC160577B7BF9D3D6E5D51C560EB103AE314A809\n gpg: Good signature from \"Stepfunctions-Python-SDK-Signing <stepfunctions-developer-experience [at] amazon.com>\" [unknown]\n gpg: WARNING: This key is not certified with a trusted signature!\n gpg: There is no indication that the signature belongs to the owner.\n Primary key fingerprint: CC16 0577 B7BF 9D3D 6E5D 51C5 60EB 103A E314 A809\n\nIf the output contains the phrase Good signature from \"AWS Data Science\nWorkflows Python SDK <stepfunctions-developer-experience [at] amazon.com>\", it means\nthat the signature has successfully been verified, and you can proceed to run\nthe AWS Data Science Workflows Python SDK package.\n\nIf the output includes the phrase BAD signature, check whether you performed the\nprocedure correctly. If you continue to get this response, don't run the\ninstallation file that you downloaded previously, and contact AWS Support.\n\nThe following are details about the warnings you might see:\n\n.. code-block:: text\n\n WARNING: This key is not certified with a trusted signature! There is no\n indication that the signature belongs to the owner. This refers to your\n personal level of trust in your belief that you possess an authentic public\n key for AWS Data Science Workflows Python SDK. In an ideal world, you would\n visit an AWS office and receive the key in person. However, more often you\n download it from a website. In this case, the website is an AWS website.\n\n gpg: no ultimately trusted keys found. This means that the specific key is not\n \"ultimately trusted\" by you (or by other people whom you trust).\n\nFor more information, see http://www.gnupg.org.\n\n.. |codebuild| image:: https://codebuild.us-east-2.amazonaws.com/badges?uuid=eyJlbmNyeXB0ZWREYXRhIjoiZ2crZkxWN2lPTHhBdzAwOUIvZDlUQ2txQTRyYnZnQ3RaQ0dQYkhsb2EvT04xOVRIdDBqYWFOaS8weklGU216OUtuc29pZFQvQjgrRDhRbWJoeEJocFV3PSIsIml2UGFyYW1ldGVyU3BlYyI6IlRQUlZQd1ZLdGRqWkdVdWkiLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D&branch=master\n :target: https://us-east-2.console.aws.amazon.com/codesuite/codebuild/projects/StepFunctionsPythonSDK-unittests-private/history?region=us-east-2\n :alt: Unit Tests Build Status\n\n.. |readthedocs| image:: https://readthedocs.org/projects/aws-step-functions-data-science-sdk/badge/?version=latest\n :target: https://aws-step-functions-data-science-sdk.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. |pypi| image:: https://img.shields.io/pypi/v/stepfunctions\n :target: https://pypi.org/project/stepfunctions/\n :alt: PyPI\n",
"bugtrack_url": null,
"license": "Apache License 2.0",
"summary": "Open source library for developing data science workflows on AWS Step Functions.",
"version": "3.0.0",
"project_urls": {
"Homepage": "https://github.com/nsbno/aws-step-functions-data-science-sdk-python"
},
"split_keywords": [
"ml",
"amazon",
"aws",
"ai",
"tensorflow",
"mxnet"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "01574e8240aa2d20e4d766b4bf2d6cbe388981121ddd109efe75bdd15f15699c",
"md5": "3aa86b58570aff8cbd65afc2707a2160",
"sha256": "9a6bd6d33250305dc4545b525380be316cdca05e654f942248efb4d01f2e443f"
},
"downloads": -1,
"filename": "stepfunctions_without_sagemaker-3.0.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "3aa86b58570aff8cbd65afc2707a2160",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 71576,
"upload_time": "2024-10-16T08:26:45",
"upload_time_iso_8601": "2024-10-16T08:26:45.350707Z",
"url": "https://files.pythonhosted.org/packages/01/57/4e8240aa2d20e4d766b4bf2d6cbe388981121ddd109efe75bdd15f15699c/stepfunctions_without_sagemaker-3.0.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5ebaecf39674ea4fd23bfbb7ca5fe3b7a43129bf8887c2950705e05f76220d27",
"md5": "0cf23ddec6e730feea8d0b1552e1cccd",
"sha256": "47f5176207a748ef1ea248dc35128b9383082469de04b55204e44b4d8b7579d0"
},
"downloads": -1,
"filename": "stepfunctions_without_sagemaker-3.0.0.tar.gz",
"has_sig": false,
"md5_digest": "0cf23ddec6e730feea8d0b1552e1cccd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 60530,
"upload_time": "2024-10-16T08:26:46",
"upload_time_iso_8601": "2024-10-16T08:26:46.698086Z",
"url": "https://files.pythonhosted.org/packages/5e/ba/ecf39674ea4fd23bfbb7ca5fe3b7a43129bf8887c2950705e05f76220d27/stepfunctions_without_sagemaker-3.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-16 08:26:46",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nsbno",
"github_project": "aws-step-functions-data-science-sdk-python",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"tox": true,
"lcname": "stepfunctions-without-sagemaker"
}