Skip to main content

ParseOra

A fast, lossless parser for Oracle SQL, PL/SQL and SQL*Plus scripts, from Oracle 12.2 to 26ai. Free to use; part of QiVo Studio. The parser is compiled Rust: no Oracle client and no database are needed.

pip install qivo-parseora

ParseOra Lab: the parser in your browser

parseora lab                    # opens http://127.0.0.1:8790/ (only on this machine; works offline)

Type or paste SQL, open several files or drop them on the page, choose the Oracle version, and see:

  • Tree: the syntax tree drawn, to zoom, move and fold; click a node to find it in the source
  • Outline: the same tree as a list you can search; Tokens: every token with its kind and position
  • Statements and Problems: errors and warnings marked in the editor; click one to jump to it
  • Profile: where the time goes, statement by statement
  • Download: a report for all open files (HTML), each table as CSV, everything as JSON or one ZIP, and the tree as JSON or SVG

Reports

parseora report src/ --out report/                 # report.html, files.csv, statements.csv, problems.csv,
                                                   # tables.csv, objects.csv, report.json
parseora report src/ --format csv --version 19c    # only the CSV files, checked against Oracle 19c
parseora report src/ --fail-on-errors              # exit status 1 if a statement does not parse (CI)

report.html is one file that opens anywhere, offline: summary, files, problems, statements, tables used, objects created; each table sortable, filterable and downloadable. The same files give the same report, byte for byte.

Command line

parseora parse  install.sql              # every statement and PL/SQL unit: kinds, errors, speed
parseora parse  --json src/              # one JSON line per statement: kind, errors, tables, text
parseora parse  --errors --version 19c . # where it does not parse, and constructs newer than 19c
parseora parse  --dump pkg_load.pkb      # the syntax tree
parseora split  --summary deploy.sql     # the script split the way SQL*Plus runs it
parseora lex    --strict src/            # tokens; exit status 1 on any diagnostic (for CI)
parseora catalog --schema APP install/   # the tables, views and code the scripts create

A path is a file or a folder (every .sql, .pks, .pkb, .prc, .fnc, .trg, .vw... file under it).

Python

import parseora

for s in parseora.parse(open("load.sql").read(), version="19c"):
    print(s["line"], s["statement"], s["tables"], [e["message"] for e in s["errors"]])

parseora.tables("INSERT INTO dw.fact SELECT * FROM stg.orders o JOIN stg.lines l USING (id)")
# ['DW.FACT', 'STG.LINES', 'STG.ORDERS']
parseora.split(script)      # [{kind: sql | plsql | sqlplus, text, line, col, command}]
parseora.tokenize(text)     # every token, comments and whitespace included (lossless)

What it covers: queries (WITH, joins, PIVOT, MODEL, MATCH_RECOGNIZE, analytics, CONNECT BY...), DML including multi-table INSERT and MERGE, DDL, every PL/SQL unit and statement, conditional compilation, and SQL*Plus commands. Unknown input never stops it: errors are reported and the rest is parsed.

Name resolution (what each name refers to), column lineage, code rules and the MetaGraph for AI tools are in QiVo Studio: pip install qivo-studio.

Licence: the QiVo Studio Licence Agreement 1.0 (LICENSE.md in the package): free to use, no reverse engineering. Open-source components: THIRD_PARTY_NOTICES.md.

Questions, bugs or ideas: admin@qivo.studio, or open an issue.

Metadata

Release files for qivo-parseora 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for qivo-parseora 0.1.5
File
qivo_parseora-0.1.5-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
qivo_parseora-0.1.5-cp310-abi3-manylinux_2_28_x86_64.whl CPython 3.10 abi3 Linux glibc 2.28+ x86-64 Details
qivo_parseora-0.1.5-cp310-abi3-manylinux_2_28_aarch64.whl CPython 3.10 abi3 Linux glibc 2.28+ ARM64 Details
qivo_parseora-0.1.5-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
qivo_parseora-0.1.5-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 5.0 MB

Release files / qivo_parseora-0.1.5-cp310-abi3-win_amd64.whl

Download URL qivo_parseora-0.1.5-cp310-abi3-win_amd64.whl
Size 1.0 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
987d51cff66747a76deee5a23e524e0448981abd975ed9e38eabbd4ec2c90561
BLAKE2b-256 checksum
How to use checksums
44723e6b9c509e39ed39fdd3908d52aa456451ca7306222eee2f72c2d69dd75f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / qivo_parseora-0.1.5-cp310-abi3-manylinux_2_28_x86_64.whl

Download URL qivo_parseora-0.1.5-cp310-abi3-manylinux_2_28_x86_64.whl
Size 1.1 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
6c8d2eee10137106378dd6f7d1f8be67cb308e5ee7b7ec0e819eba46dc0b3f2a
BLAKE2b-256 checksum
How to use checksums
7ec945ee8497ab42ea5e28ce75c4068124e12964cf42e891a976675fbc993cde
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / qivo_parseora-0.1.5-cp310-abi3-manylinux_2_28_aarch64.whl

Download URL qivo_parseora-0.1.5-cp310-abi3-manylinux_2_28_aarch64.whl
Size 986.2 kB
Tags CPython 3.10 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
e8a09849c1dc2273f7b807d245488924d2ff5879bac8acb4fad78ac7deb5826a
BLAKE2b-256 checksum
How to use checksums
06e9bba43aa44ddb8966ec5c986e40047b614856129efb528a076a8841f37c4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / qivo_parseora-0.1.5-cp310-abi3-macosx_11_0_arm64.whl

Download URL qivo_parseora-0.1.5-cp310-abi3-macosx_11_0_arm64.whl
Size 947.2 kB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e72e1996d62c811b0cbcad1258be5bb9bf01e26b58870710bf3c451b64dff555
BLAKE2b-256 checksum
How to use checksums
9de1ef7845275ea4ad16d1c6bf809d2dd17b8b4e53b834020d019f6ed0b977de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / qivo_parseora-0.1.5-cp310-abi3-macosx_10_12_x86_64.whl

Download URL qivo_parseora-0.1.5-cp310-abi3-macosx_10_12_x86_64.whl
Size 1.0 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
cbdb05b815bece63b7a1e084e6eea1a4fa051184e70201deea52437e79fe937b
BLAKE2b-256 checksum
How to use checksums
0f29a4a7ef1e3a7f343572d5cf302b316cefac3b7778a836af2984ef8e375587
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.5 This release

5 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page