Skip to content

Request to revert py_version to optional in SDK v2 #1810

@athewsey

Description

@athewsey

Describe the feature you'd like

As the release of Python 3.0 fades into distant memory (back in 2008: Between Windows Vista and 7) and the current set of container offerings seem to have taken a pretty consistent approach of supporting exactly one minor version of Python 3 per minor framework version, the timing for SageMaker SDK to make py_version mandatory seems a bit strange?

I didn't really pick up on it when first looking through, but it felt jarring when exploring now that the package is on PyPI: Figuring out whether I'm allowed to just put py3 or need to look up the supported minor version for the container is extra work, and since only one py3 sub-version is typically supported it doesn't seem to offer much benefit in return.

How would this feature be used? Please describe.

Where not specified, SDK would assume the most recent supported version of Python for the given framework version.

Being able to omit the parameter would reduce complexity of getting started and cut out a parameter which is most often over-specified to exactly one appropriate value anyway.

Describe alternatives you've considered

I've not been close to the discussion on why this change was made so maybe there's a good reason I missed:

  • Maybe there were some previous configurations that defaulted to py2 for backward compatibility reasons where a py3 option was available? Admit that would be something important to get away from, and a straight-to-default-py3 upgrade path might have been tricky
  • Perhaps this is a deliberate effort to boost user awareness of which minor Python version is running in the container, and emphasise that it may be different from the notebook? Agree that this awareness is important, but would look for other options if possible
  • Maybe there are plans to support more comprehensive sets of Python versions for each framework version? That'd be cool, but seems like a lot of added effort?

Additional context

Thanks for all your hard work in preparing v2!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions