diff --git a/_snippets/integrations/builtin/core-nodes/code-node.md b/_snippets/integrations/builtin/core-nodes/code-node.md index dc46e9b90..63ed55756 100644 --- a/_snippets/integrations/builtin/core-nodes/code-node.md +++ b/_snippets/integrations/builtin/core-nodes/code-node.md @@ -92,6 +92,7 @@ Main differences from Pyodide: - Native Python supports importing native Python modules from the standard library and from third-parties, if the `n8nio/runners` image includes them and explicitly allowlists them. See [adding extra dependencies for task runners](/hosting/configuration/task-runners.md/#adding-extra-dependencies) for more details. - Native Python denies insecure built-ins by default. See [task runners environment variables](/hosting/configuration/environment-variables/task-runners.md) for more details. - Unlike Pyodide, which accepts dot access notation, for example, `item.json.myNewField`, native Python only accepts bracket access notation, for example, `item["json"]["my_new_field"]`. There may be other minor syntax differences where Pyodide accepts constructs that aren't legal in native Python. +- On n8n cloud, the Python option for the Code node doesn't allow users to import any third-party Python libraries. Self-hosting users can find setup instructions to include external libraries [here](https://docs.n8n.io/hosting/configuration/task-runners/#adding-extra-dependencies). In the long term, the n8n team is committed to allowing users to securely execute arbitrary Python code with any first- and third-party libraries using task runners. Upgrading to native Python is a breaking change, so you may need to adjust your Python scripts to use the native Python runner.