From 2f55f029ebba8a6cc629b913ced077caab92052b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Ovejero?= Date: Wed, 17 Dec 2025 13:10:38 +0100 Subject: [PATCH] docs: Add note about Python libs on cloud (#4022) Co-authored-by: Jon --- _snippets/integrations/builtin/core-nodes/code-node.md | 1 + 1 file changed, 1 insertion(+) 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.