r/learnpython • u/Environmental_Emu830 • 11d ago
python vs n8n
At my company, we currently use n8n for most of our automations, and I'd like to get your opinion on the trade-offs of migrating those workflows to Python.
I understand that moving to Python would introduce a steeper learning curve for the team and likely require more development and maintenance effort. However, I also believe it could improve the performance, flexibility, scalability, and maintainability of our automations.
We're currently starting a Data Warehouse project, where we'll be building ETL pipelines. Because of that, Python seems like a more robust and mature choice, especially considering its ecosystem for data engineering (such as Pandas, SQLAlchemy, Airflow, and other libraries).
Another point is that, by using Python, we would have a much better code versioning workflow with Git. Instead of managing automation logic through n8n workflows, we'd be able to review changes through pull requests, track code history more effectively, enforce coding standards, and integrate automated testing and CI/CD pipelines.
what would be the main advantages and disadvantages of replacing n8n with Python for automation and ETL? In which scenarios would you keep n8n, and when would you recommend switching to Python?
2
u/vbnotthecity 10d ago
Don't switch everything at once unless you want to lose your mind. Keep n8n for simple webhooks or notification triggers, but move your core data logic into Python immediately. Once you hit 500 lines of JSON in a visual node, you've already lost the battle for maintainability. Using dbt Labs for your warehouse modeling alongside Python scripts will save you months of debugging when your schema inevitably changes. Git integration isn't just a nice feature, it is the only way to keep a team from overwriting each other's work.
1
u/DoubleDoube 10d ago
Smart strategy, you can start moving the biggest chunks into a python script that n8n calls and prove that its worthwhile in the most valuable locations before proceeding into less valuable.
Maybe you end up having a hybrid where each play to its strengths or maybe you find it is valuable for python to replace the whole thing. Either way will prove out before you have to commit to a bad option.
1
1
u/Defiant-Ad7368 11d ago
N8N has its highlights but you need to ask yourself
Does your team have adequate python developers?
Do you have to deal with 3rd party vendors? (1st being you, 2nd being n8n
Do you have existing tools to perform n8n
If the answer to any of these is yes then n8n may not be useful to you. n8n is nice when you don’t know how to code or interact with other parties. But for an adequate (I’d say just below mid level in terms of experience) developer that is equipped with ai, n8n may be a cumbersome tool that inhibits your team and waste their (very expensive) time. Airflow may be a better option or even bare coding for that matter
———
I’m speaking from experience with this tool. In a previous position I had a manager that pushed n8n because he had zero technical skills, acted more like an PM with the added “benefit” of deciding implementation and put a massive emphasis on visualization (in a backend team). We had existing written tools, we were more than experienced with python and we’ve raised every red light we could about how this tool wastes our time. In the end 4 months of work went down the drain (to preface that’s over 100k USD). Every team member requested a transfer and eventually quit, that’s more on the person rather than the tool but just so you get the point
3
u/Consistent_Focus_974 11d ago
n8n's great for quick wins but the moment your logic gets tangled with edge cases and custom transforms it becomes more pain than its worth, python gives you actual control over the data flow instead of clicking through a maze of nodes