Skip to content

Add sagemaker-mlops, sagemaker-serve and sagemaker-train, sagemaker-schema-inference-artifacts#32176

Open
mollyheamazon wants to merge 14 commits intoconda-forge:mainfrom
mollyheamazon:add-sagemaker-v3-recipe
Open

Add sagemaker-mlops, sagemaker-serve and sagemaker-train, sagemaker-schema-inference-artifacts#32176
mollyheamazon wants to merge 14 commits intoconda-forge:mainfrom
mollyheamazon:add-sagemaker-v3-recipe

Conversation

@mollyheamazon
Copy link

@mollyheamazon mollyheamazon commented Feb 11, 2026

Checklist

  • Title of this PR is meaningful: e.g. "Adding my_nifty_package", not "updated meta.yaml".
  • License file is packaged (see here for an example).
  • Source is from official source.
  • Package does not vendor other packages. (If a package uses the source of another package, they should be separate packages or the licenses of all packages need to be packaged).
  • If static libraries are linked in, the license of the static library is packaged.
  • Package does not ship static libraries. If static libraries are needed, follow CFEP-18.
  • Build number is 0.
  • A tarball (url) rather than a repo (e.g. git_url) is used in your recipe (see here for more details).
  • GitHub users listed in the maintainer section have posted a comment confirming they are willing to be listed there.
  • When in trouble, please check our knowledge base documentation before pinging a team.

@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/sagemaker-train/recipe.yaml, recipes/sagemaker-serve/recipe.yaml, recipes/sagemaker-mlops/recipe.yaml) and found some lint.

Here's what I've got...

For recipes/sagemaker-train/recipe.yaml:

  • ❌ The homepage item is expected in the about section.
  • ❌ There are too few lines. There should be one empty line at the end of the file.

For recipes/sagemaker-train/recipe.yaml:

  • ℹ️ noarch: python recipes should usually follow the syntax in our documentation for specifying the Python version.
    • For the host section of the recipe, you should usually use the pin python ${{ python_min }}.* for the python entry.
    • For the run section of the recipe, you should usually use the pin python >=${{ python_min }} for the python entry.
    • For the tests[].python.python_version or tests[].requirements.run section of the recipe, you should usually use the pin python_version: ${{ python_min }}.* or python ${{ python_min }}.* for the python_version or python entry.
    • If the package requires a newer Python version than the currently supported minimum version on conda-forge, you can override the python_min variable by adding a Jinja2 set statement at the top of your recipe (or using an equivalent context variable for v1 recipes).

For recipes/sagemaker-serve/recipe.yaml:

  • ❌ The homepage item is expected in the about section.
  • ❌ There are too few lines. There should be one empty line at the end of the file.

For recipes/sagemaker-serve/recipe.yaml:

  • ℹ️ noarch: python recipes should usually follow the syntax in our documentation for specifying the Python version.
    • For the host section of the recipe, you should usually use the pin python ${{ python_min }}.* for the python entry.
    • For the run section of the recipe, you should usually use the pin python >=${{ python_min }} for the python entry.
    • For the tests[].python.python_version or tests[].requirements.run section of the recipe, you should usually use the pin python_version: ${{ python_min }}.* or python ${{ python_min }}.* for the python_version or python entry.
    • If the package requires a newer Python version than the currently supported minimum version on conda-forge, you can override the python_min variable by adding a Jinja2 set statement at the top of your recipe (or using an equivalent context variable for v1 recipes).

For recipes/sagemaker-mlops/recipe.yaml:

  • ❌ The homepage item is expected in the about section.
  • ❌ There are too few lines. There should be one empty line at the end of the file.

For recipes/sagemaker-mlops/recipe.yaml:

  • ℹ️ noarch: python recipes should usually follow the syntax in our documentation for specifying the Python version.
    • For the host section of the recipe, you should usually use the pin python ${{ python_min }}.* for the python entry.
    • For the run section of the recipe, you should usually use the pin python >=${{ python_min }} for the python entry.
    • For the tests[].python.python_version or tests[].requirements.run section of the recipe, you should usually use the pin python_version: ${{ python_min }}.* or python ${{ python_min }}.* for the python_version or python entry.
    • If the package requires a newer Python version than the currently supported minimum version on conda-forge, you can override the python_min variable by adding a Jinja2 set statement at the top of your recipe (or using an equivalent context variable for v1 recipes).

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/21919934418. Examine the logs at this URL for more detail.

@github-actions
Copy link
Contributor

Hi! This is the staged-recipes linter and your PR looks excellent! 🚀

@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/sagemaker-serve/recipe.yaml, recipes/sagemaker-train/recipe.yaml, recipes/sagemaker-mlops/recipe.yaml) and found it was in an excellent condition.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 11, 2026

Hi! This is the staged-recipes linter and I found some lint.

File-specific lints and/or hints:

  • recipes/sagemaker-schema-inference-artifacts/recipe.yaml:

    • lints:
      • The following maintainers have not yet confirmed that they are willing to be listed here: mufaddal-rohawala. Please ask them to comment on this PR if they are.
  • recipes/sagemaker-mlops/recipe.yaml:

    • lints:
      • The following maintainers have not yet confirmed that they are willing to be listed here: mufaddal-rohawala. Please ask them to comment on this PR if they are.
  • recipes/sagemaker-train/recipe.yaml:

    • lints:
      • The following maintainers have not yet confirmed that they are willing to be listed here: mufaddal-rohawala. Please ask them to comment on this PR if they are.
  • recipes/sagemaker-serve/recipe.yaml:

    • lints:
      • The following maintainers have not yet confirmed that they are willing to be listed here: mufaddal-rohawala. Please ask them to comment on this PR if they are.

@conda-forge-admin
Copy link
Contributor

conda-forge-admin commented Feb 11, 2026

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/sagemaker-serve/recipe.yaml, recipes/sagemaker-train/recipe.yaml, recipes/sagemaker-mlops/recipe.yaml) and found some lint.

Here's what I've got...

For recipes/sagemaker-serve/recipe.yaml:

  • ❌ license_file entry is missing, but is required.

For recipes/sagemaker-mlops/recipe.yaml:

  • ❌ license_file entry is missing, but is required.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/21921779267. Examine the logs at this URL for more detail.

@conda-forge-admin
Copy link
Contributor

conda-forge-admin commented Feb 11, 2026

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/sagemaker-mlops/recipe.yaml, recipes/sagemaker-serve/recipe.yaml, recipes/sagemaker-schema-inference-artifacts/recipe.yaml, recipes/sagemaker-train/recipe.yaml) and found it was in an excellent condition.

@conda-forge-admin
Copy link
Contributor

conda-forge-admin commented Feb 11, 2026

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/sagemaker-serve/recipe.yaml, recipes/sagemaker-mlops/recipe.yaml, recipes/sagemaker-schema-inference-artifacts/recipe.yaml, recipes/sagemaker-train/recipe.yaml) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipes/sagemaker-schema-inference-artifacts/recipe.yaml:

  • ℹ️ Detected pure Python wheel(s) in source: https://pypi.org/packages/py3/s/sagemaker-schema-inference-artifacts/sagemaker_schema_inference_artifacts-${{ version }}-py3-none-any.whl. This is generally ok for pure Python wheels and noarch=python packages but it's preferred to use a source distribution (sdist) if possible.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/21968620937. Examine the logs at this URL for more detail.

@mollyheamazon mollyheamazon changed the title Add sagemaker-mlops, sagemaker-serve and sagemaker-train Add sagemaker-mlops, sagemaker-serve and sagemaker-train, sagemaker-schema-inference-artifacts Feb 12, 2026
@nargokul
Copy link

Changes look good to me

@@ -0,0 +1,201 @@
Apache License
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no need to add LICENSE text files explicitly if they are already linked from the recipe, and it's already there https://github.com/aws/sagemaker-python-sdk/blob/master/LICENSE.

Same comment for other LICENSE files in this PR.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The LICENSE file is needed in the recipe directory because:

  1. The PyPI source packages for sagemaker-mlops and sagemaker-serve don't include a LICENSE file
  2. Conda-forge's linter requires license_file to be present and will fail without it
  3. The GitHub link points to the parent repo, but these are separate PyPI distributions

Do you have suggestion for a better approach to this?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah okie, didn't look inside the sdist!

I would argue to make the packages PEP 639 complaint anyway and add the license files to them.

But I would wait for someone from conda-forge-core to comment here (I can't merge this PR). Once the CI is green they can be tagged via @conda-forge/help-python ready for review! as a comment.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would argue to make the packages PEP 639 complaint anyway and add the license files to them.

I agree on this too. Will include them in our next pypi release.
Thanks Mridul!


about:
summary: Open source library for Hugging Face Task Sample Inputs and Outputs
homepage: https://pypi.org/project/sagemaker-schema-inference-artifacts/
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just FYI the homepage link from pypi leads to https://github.com/aws/sagemaker-schema-inference-artifacts which isn't public.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Our team doesn't own sagemaker-schema-inference-artifacts, it's maintained by the SageMaker Inference team. However, we need to create this conda-forge package because our package (sagemaker-serve) depends on it. The manager is aware of this PR.

build:
number: 0
noarch: python
script: ${{ PYTHON }} -m pip install "sagemaker_schema_inference_artifacts-${{ version }}-py3-none-any.whl" -vv --no-deps
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's recommended to build from a sdist instead of a wheel as pointed out in #32176 (comment)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sagemaker_schema_inference_artifacts pypi only seems to have wheel in file downloads.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you use the GitHub source instead?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The github repo is private, so I think this is not possible? We don't own this package but need it as a dependency for sagemaker-serve.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't it this repo: https://github.com/aws/sagemaker-python-sdk/tree/v3.4.1 ? I can access it just fine. It sure makes it hard to figure out what version what is b/c every is bundled under the same version there!

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sagemaker-schema-inference-artifacts is from https://github.com/aws/sagemaker-schema-inference-artifacts, which is a private repo from a partner team

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ocefpaf would be great if you could help merge this PR, or provide any other feedback for improvement. Thanks!

@mufaddal-rohawala
Copy link

I confirm to be maintainer of these pacakges

@github-actions
Copy link
Contributor

Hi! This is the staged-recipes linter and your PR looks excellent! 🚀

@mollyheamazon
Copy link
Author

@conda-forge-admin, please rerender

@mollyheamazon
Copy link
Author

@conda-forge/help-python ready for review!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants