Metadata-Version: 2.4
Name: qivo-studio
Version: 0.1.1
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Rust
Classifier: Programming Language :: SQL
Classifier: Topic :: Database
Classifier: Topic :: Software Development :: Quality Assurance
Requires-Dist: oracledb>=3.0
Requires-Dist: psycopg[binary]>=3.2
Requires-Dist: fastapi>=0.115
Requires-Dist: uvicorn>=0.30
Requires-Dist: python-dotenv>=1.0
Requires-Dist: python-multipart>=0.0.32
Requires-Dist: cryptography>=50.0.2
Requires-Dist: dnspython>=2.6
Requires-Dist: pixeltable-pgserver>=0.6 ; (platform_machine == 'aarch64' and sys_platform == 'linux') or sys_platform == 'darwin' or (platform_machine == 'x86_64' and sys_platform == 'linux') or sys_platform == 'win32'
License-File: LICENSE.md
Summary: QiVo Studio: deterministic column-level lineage for Oracle SQL and PL/SQL estates
Keywords: oracle,plsql,sql,data lineage,column lineage,impact analysis,dynamic sql
Author-email: QiVo Studio <admin@qivo.studio>
License: Proprietary: free to use under the QiVo Studio Licence Agreement 1.0
	(LICENSE.md in the package)
Requires-Python: >=3.12
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Homepage, https://qivo.studio
Project-URL: Issues, https://github.com/qivo-studio/qivo-studio/issues

# QiVo Studio

Deterministic column-level lineage for Oracle SQL and PL/SQL: where every column comes from, what a change will
hit, and what the code really does, including dynamic SQL. Nothing is guessed: what cannot be decided from the code
is reported as a gap, with the reason.

This is the **Explorer edition**: one person, one machine, no database needed.

```sh
pip install qivo-studio
qivo serve
```

Then open the address it prints, usually http://127.0.0.1:8000/app. If port 8000 is busy, it uses the next free
port (8001, 8002, ...) and says so. To choose a port: `qivo serve --port 8080` (or set `QIVO_PORT=8080`).

Explore a bundled example estate, or upload your own scripts (DDL, packages, procedures, triggers, SQL*Plus scripts,
a zip). Your code never leaves your machine: the app listens on this machine only, and its data (an embedded
PostgreSQL) is kept in `~/.qivo`.

- Oracle 12.2 to 23ai/26ai: SQL, PL/SQL, conditional compilation, SQL*Plus scripts
- Lineage through PL/SQL variables, records, collections, cursors and parameters, across units
- Dynamic SQL resolved from constants, branches, control tables and call sites
- Code tools: parser, syntax tree, names (what every identifier is), lineage, dynamic SQL
- Python 3.12 or later; Linux (x86-64, ARM), macOS (Intel, Apple silicon), Windows (x64)

For teams and whole estates (live Oracle connections, Git, schedulers, a sandbox for probing dynamic SQL, sign-in
and single sign-on), the **Enterprise edition** runs with Docker or Kubernetes. See https://qivo.studio.

QiVo Studio is free to use under its licence agreement; it is not open source. Questions and issues:
https://github.com/qivo-studio/qivo-studio/issues

