Description
Currently parameters are passed to the Python action wrapper via command line arguments. This was done to provide better visibility and make Python actions easier to test and debug.
Both on Windows and Linux there is a limit on maximum size of the command line arguments (ARG_MAX, 8k on Windows, platform specific) which means users can't use really large values for parameters.
There are different ways around this limitation (e.g. store parameter value in the datastore instead), but instead of passing the arguments using command line arguments we could pass it to the action using stdin. This way users could pass parameters of (almost) arbitrary size to an action, although I don't think it makes much sense to pass arguments which are more than 4-8k or so in size.
I'm personally not convinced yet that's the best thing to do since switching to stdin decreases visibility, makes actions harder to test and if you want to pass really large value to an action as a parameter (> 8k) you should probably handle that in a different way anyway (e.g. store value in a datastore, upload it to object storage service or similar), but I'm open to feedback and I can be convinced otherwise :)
Note: This was originally reported by a user on the IRC.