RPG to Python: What Actually Converts, What Needs Humans, and How to Tell

  • July 22, 2026
  • Ty Woods
  • 4 min read

Most RPG to Python conversations eventually arrive at the same promise: point the tool at four decades of RPG, wait, and receive a modern Python application. If you have spent any time around real IBM i codebases, you already know to distrust that sentence. The truthful version is more useful: a large share of your RPG can convert with high confidence, a smaller share needs human judgment, and the entire outcome depends on knowing which is which before you start.

That is the part most conversion pitches skip, so it is the part this article is about.

What Converts Cleanly

The good news is genuinely good. The bulk of a typical RPG codebase is business logic: calculations, validations, file reads and writes, condition-driven branching. This is exactly the kind of code that converts well, because its meaning is fully present in the source. Pricing rules, date arithmetic, allocation logic, batch update loops. Given a correct understanding of the record formats and the program flow, these translate into clean Python with their behavior intact.

The qualifier doing the work in that sentence is “given a correct understanding.” RPG’s meaning often lives in context: externally described files, copy members, indicators that a maintenance programmer repurposed in 1996. A converter that reads one program at a time, without the surrounding system, produces Python that looks right and behaves subtly wrong.

What Needs Humans

Three categories reliably need people in the loop:

  • Interactive workflows. Green-screen programs entangle business logic with display file mechanics. Converting the logic is mechanical; deciding what the workflow should become on a modern stack is a design decision. A tool should separate those concerns and hand the second one to a human, not guess.
  • System-level integrations. Job scheduling, data queues, spool file handling, and CL programs that orchestrate the environment do not have one-to-one Python equivalents. They have architectural choices, and choices belong to your team.
  • Ambiguous or unresolved code. Missing copy members, dynamically built calls, fields whose purpose no living employee remembers. This code should be flagged, not silently converted. A confident-looking translation of code the tool did not truly understand is the most expensive kind of output.

None of this diminishes the value of automation. It defines where the value is: automation for the volume, humans for the judgment, and tooling honest enough to route each program to the right lane.

How to Tell: Readiness Scoring Before Conversion

This routing is the reason AS/Forward works the way it does. Before converting anything, it ingests your source through a proprietary ingestion layer that reads six RPG dialects, builds the dependency map, and generates a structured plain-English description of every program. Each program then carries a readiness status based on how confident the ingestion layer is in what it read.

The conversion itself is AI-driven with real ground truth underneath: the model is fed both the original source and the generated description of what that source does, so it translates meaning rather than syntax. That context-first approach is the part of AS/Forward with one US patent pending. It runs air-gapped inside your infrastructure, with your choice of model backends, including models on your own hardware, so the code never leaves your network.

The practical effect: you start the project already knowing that, say, 70 percent of programs are marked ready, 20 percent carry warnings worth a look, and 10 percent need human review. Your budget and timeline get built from that split instead of from hope.

Python Is a Choice, Not the Destination

One more honest note: Python is a popular landing zone, but it is one option, not the answer. AS/Forward converts to the language your team wants to own, whether that is Python, free-format RPG for shops staying on IBM i, or another modern language that fits your stack. Some of the best modernization outcomes we see keep the platform and modernize the code on it. The target decision should follow the assessment, and it should be yours. We covered how that assessment stage works in our IBM i modernization assessment guide.

Find Out What Your Split Is

Every RPG codebase has its own ready-to-review ratio, and knowing yours changes what a conversion costs and how long it takes. Golden Path Digital can run AS/Forward against your source and show you the readiness picture, program by program, before you commit to a target language or a timeline. Call 501-232-7188 to see what your code says.