aws / aws/sagemaker-python-sdk

Cannot upload local file for submit_py_files in V3

Open
#6,252 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
2.3k
Forks
1.3k
Avg merge
2d 2h
Merged PRs (30d)
32

Description

**PySDK Version**

- [ ] PySDK V2 (2.x)
- [x] PySDK V3 (3.x)

**Describe the bug**

The PySparkProcessor `run` no longer accepts local files due to the change to `ProcessingInput` interface - e.g. regression introduced in 3203e49

**To reproduce**

Insert a local file path into the list passed as `submit_py_files` in `sagemaker.core.spark.processing.PySparkProcessor.run()`.

(Let me know if you need a more concrete example).

**Expected behavior**

Successfully starts the job.

**Screenshots or logs**

PyDantic reports the following errors:

```
ValidationError: 2 validation errors for ProcessingInput
source
Extra inputs are not permitted [type=extra_forbidden, input_value='s3://sagemaker-.../input/py-files', input_type=str]
For further information visit https://errors.pydantic.dev/2.13/v/extra_forbidden
destination
Extra inputs are not permitted [type=extra_forbidden, input_value='/opt/ml/processing/input/py-files', input_type=str]
For further information visit https://errors.pydantic.dev/2.13/v/extra_forbidden
```

The cause of the error is [here](https://github.com/aws/sagemaker-python-sdk/blob/8e7485a1ed25eb17c70f2323ab6ed6c9695d7024/sagemaker-core/src/sagemaker/core/spark/processing.py#L508-L512):

```py
input_channel = ProcessingInput(
source=input_channel_s3_uri,
destination=f"{self._conf_container_base_path}{input_channel_name}",
input_name=input_channel_name,
)
```

**System information**

- AWS SageMaker Studio 4.4.3
- sagemaker-core: 2.20
- Python 3.12.14
- uname: Linux default 6.12.103-127.188.amzn2023.x86_64 SMP PREEMPT_DYNAMIC Tue Aug 25 15:42:53 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux

**Additional context**

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.