Metadata-Version: 2.4
Name: adbc-driver-orkidea
Version: 0.1.0
Summary: Orkidea: an ADBC driver for Oracle Database, with no Oracle Client libraries required
Author: Tnsor Labs
License-Expression: Apache-2.0
License-File: LICENSE
License-File: THIRD_PARTY_LICENSES/aead-0.6.1/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/aead-0.6.1/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/aes-0.9.4/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/aes-0.9.4/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/aes-gcm-0.11.1/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/aes-gcm-0.11.1/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/ahash-0.8.12/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/ahash-0.8.12/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/arrow-array-59.3.2/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/arrow-array-59.3.2/LICENSE.txt
License-File: THIRD_PARTY_LICENSES/arrow-array-59.3.2/NOTICE.txt
License-File: THIRD_PARTY_LICENSES/arrow-buffer-59.3.2/LICENSE.txt
License-File: THIRD_PARTY_LICENSES/arrow-buffer-59.3.2/NOTICE.txt
License-File: THIRD_PARTY_LICENSES/arrow-data-59.3.2/LICENSE.txt
License-File: THIRD_PARTY_LICENSES/arrow-data-59.3.2/NOTICE.txt
License-File: THIRD_PARTY_LICENSES/arrow-schema-59.3.2/LICENSE.txt
License-File: THIRD_PARTY_LICENSES/arrow-schema-59.3.2/NOTICE.txt
License-File: THIRD_PARTY_LICENSES/arrow-select-59.3.2/LICENSE.txt
License-File: THIRD_PARTY_LICENSES/arrow-select-59.3.2/NOTICE.txt
License-File: THIRD_PARTY_LICENSES/aws-lc-rs-1.19.0/LICENSE
License-File: THIRD_PARTY_LICENSES/aws-lc-sys-0.47.0/LICENSE
License-File: THIRD_PARTY_LICENSES/base16ct-1.0.0/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/base16ct-1.0.0/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/base64ct-1.8.3/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/base64ct-1.8.3/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/bitflags-2.13.2/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/bitflags-2.13.2/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/block-buffer-0.12.1/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/block-buffer-0.12.1/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/block-padding-0.4.2/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/block-padding-0.4.2/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/bytes-1.12.1/LICENSE
License-File: THIRD_PARTY_LICENSES/cbc-0.2.1/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/cbc-0.2.1/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/cfg-if-1.0.5/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/cfg-if-1.0.5/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/chacha20-0.10.2/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/chacha20-0.10.2/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/chrono-0.4.45/LICENSE.txt
License-File: THIRD_PARTY_LICENSES/cipher-0.5.2/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/cipher-0.5.2/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/cmov-0.5.4/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/cmov-0.5.4/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/const-oid-0.10.2/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/const-oid-0.10.2/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/const-random-0.1.18/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/const-random-0.1.18/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/const-random-macro-0.1.16/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/const-random-macro-0.1.16/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/cpubits-0.1.1/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/cpubits-0.1.1/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/cpufeatures-0.3.1/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/cpufeatures-0.3.1/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/crunchy-0.2.4/LICENSE
License-File: THIRD_PARTY_LICENSES/crypto-common-0.2.2/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/crypto-common-0.2.2/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/ctr-0.10.1/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/ctr-0.10.1/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/ctutils-0.4.8/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/ctutils-0.4.8/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/der-0.8.3/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/der-0.8.3/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/digest-0.11.3/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/digest-0.11.3/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/getrandom-0.2.17/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/getrandom-0.2.17/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/getrandom-0.3.4/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/getrandom-0.3.4/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/getrandom-0.4.3/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/getrandom-0.4.3/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/ghash-0.6.0/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/ghash-0.6.0/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/half-2.7.1/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/half-2.7.1/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/hashbrown-0.17.1/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/hashbrown-0.17.1/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/hmac-0.13.0/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/hmac-0.13.0/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/hybrid-array-0.4.15/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/hybrid-array-0.4.15/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/INDEX.txt
License-File: THIRD_PARTY_LICENSES/inout-0.2.6/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/inout-0.2.6/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/libc-0.2.191/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/libc-0.2.191/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/libm-0.2.16/LICENSE.txt
License-File: THIRD_PARTY_LICENSES/log-0.4.35/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/log-0.4.35/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/num-bigint-0.5.1/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/num-bigint-0.5.1/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/num-complex-0.4.6/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/num-complex-0.4.6/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/num-integer-0.1.47/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/num-integer-0.1.47/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/num-traits-0.2.19/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/num-traits-0.2.19/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/once_cell-1.21.4/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/once_cell-1.21.4/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/oracledb-26.0.0-beta.5/LICENSE.txt
License-File: THIRD_PARTY_LICENSES/oracledb-26.0.0-beta.5/NOTICE.txt
License-File: THIRD_PARTY_LICENSES/pbkdf2-0.13.0/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/pbkdf2-0.13.0/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/pem-rfc7468-1.0.0/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/pem-rfc7468-1.0.0/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/pkcs5-0.8.1/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/pkcs5-0.8.1/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/pkcs8-0.11.0/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/pkcs8-0.11.0/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/polyval-0.7.3/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/polyval-0.7.3/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/proc-macro2-1.0.107/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/proc-macro2-1.0.107/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/quote-1.0.47/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/quote-1.0.47/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/rand-0.10.3/COPYRIGHT
License-File: THIRD_PARTY_LICENSES/rand-0.10.3/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/rand-0.10.3/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/rand_core-0.10.1/COPYRIGHT
License-File: THIRD_PARTY_LICENSES/rand_core-0.10.1/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/rand_core-0.10.1/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/ring-0.17.14/LICENSE
License-File: THIRD_PARTY_LICENSES/ring-0.17.14/LICENSE-BoringSSL
License-File: THIRD_PARTY_LICENSES/ring-0.17.14/LICENSE-other-bits
License-File: THIRD_PARTY_LICENSES/rustls-0.23.46/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/rustls-0.23.46/LICENSE-ISC
License-File: THIRD_PARTY_LICENSES/rustls-0.23.46/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/rustls-pki-types-1.15.1/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/rustls-pki-types-1.15.1/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/rustls-webpki-0.103.16/LICENSE
License-File: THIRD_PARTY_LICENSES/salsa20-0.11.0/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/salsa20-0.11.0/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/scrypt-0.12.0/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/scrypt-0.12.0/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/sha2-0.11.1/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/sha2-0.11.1/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/spki-0.8.1/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/spki-0.8.1/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/subtle-2.6.1/LICENSE
License-File: THIRD_PARTY_LICENSES/syn-2.0.119/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/syn-2.0.119/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/tiny-keccak-2.0.2/LICENSE
License-File: THIRD_PARTY_LICENSES/typenum-1.20.1/LICENSE
License-File: THIRD_PARTY_LICENSES/typenum-1.20.1/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/typenum-1.20.1/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/unicode-ident-1.0.27/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/unicode-ident-1.0.27/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/unicode-ident-1.0.27/LICENSE-UNICODE
License-File: THIRD_PARTY_LICENSES/universal-hash-0.6.1/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/universal-hash-0.6.1/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/untrusted-0.9.0/LICENSE.txt
License-File: THIRD_PARTY_LICENSES/uuid-1.29.1/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/uuid-1.29.1/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/webpki-roots-1.0.11/LICENSE
License-File: THIRD_PARTY_LICENSES/whoami-2.1.3/LICENSE_APACHE
License-File: THIRD_PARTY_LICENSES/whoami-2.1.3/LICENSE_BOOST
License-File: THIRD_PARTY_LICENSES/whoami-2.1.3/LICENSE_MIT
License-File: THIRD_PARTY_LICENSES/windows-link-0.2.1/license-apache-2.0
License-File: THIRD_PARTY_LICENSES/windows-link-0.2.1/license-mit
License-File: THIRD_PARTY_LICENSES/windows-sys-0.52.0/license-apache-2.0
License-File: THIRD_PARTY_LICENSES/windows-sys-0.52.0/license-mit
License-File: THIRD_PARTY_LICENSES/windows-targets-0.52.6/license-apache-2.0
License-File: THIRD_PARTY_LICENSES/windows-targets-0.52.6/license-mit
License-File: THIRD_PARTY_LICENSES/windows_aarch64_msvc-0.52.6/license-apache-2.0
License-File: THIRD_PARTY_LICENSES/windows_aarch64_msvc-0.52.6/license-mit
License-File: THIRD_PARTY_LICENSES/zerocopy-0.8.63/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/zerocopy-0.8.63/LICENSE-BSD
License-File: THIRD_PARTY_LICENSES/zerocopy-0.8.63/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/zerocopy-derive-0.8.63/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/zerocopy-derive-0.8.63/LICENSE-BSD
License-File: THIRD_PARTY_LICENSES/zerocopy-derive-0.8.63/LICENSE-MIT
License-File: THIRD_PARTY_LICENSES/zeroize-1.9.1/LICENSE-APACHE
License-File: THIRD_PARTY_LICENSES/zeroize-1.9.1/LICENSE-MIT
Keywords: adbc,arrow,oracle,database,dbapi
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Rust
Classifier: Topic :: Database
Classifier: Typing :: Typed
Project-URL: Repository, https://github.com/Tnsor-Labs/orkidea-adbc
Project-URL: Documentation, https://github.com/Tnsor-Labs/orkidea-adbc/tree/main/docs
Project-URL: Issues, https://github.com/Tnsor-Labs/orkidea-adbc/issues
Requires-Python: >=3.10
Requires-Dist: adbc-driver-manager>=1.8
Provides-Extra: dbapi
Requires-Dist: pyarrow>=16; extra == "dbapi"
Provides-Extra: test
Requires-Dist: pyarrow>=16; extra == "test"
Requires-Dist: pytest>=7; extra == "test"
Description-Content-Type: text/markdown

# adbc-driver-orkidea

[Orkidea](https://github.com/Tnsor-Labs/orkidea-adbc) is an
[ADBC](https://arrow.apache.org/adbc/) driver for Oracle Database, written in
Rust. Query results arrive as Apache Arrow data. The driver speaks Oracle's
network protocol directly, so it needs no Oracle Instant Client, OCI, or ODBC.

This package bundles the driver library and connects it to the ADBC driver
manager's DB-API 2.0 interface. Wheels are available for Linux (glibc 2.28+),
macOS 11+, and Windows, on x86_64 and arm64.

Orkidea is not affiliated with, sponsored by, or endorsed by Oracle
Corporation.

## Install

```bash
pip install "adbc-driver-orkidea[dbapi]"
```

The `dbapi` extra installs `pyarrow`, which the DB-API interface needs.

## Usage

```python
from adbc_driver_orkidea import dbapi

with dbapi.connect(
    "oracle://scott@db.example.com:1521/FREEPDB1",
    db_kwargs={"password": "..."},
) as conn:
    with conn.cursor() as cur:
        cur.execute("SELECT * FROM employees WHERE department_id = :dept", {"dept": 10})
        table = cur.fetch_arrow_table()  # a pyarrow.Table
```

Placeholders use Oracle's `:name` syntax. A `dict` of parameters binds by
name. A sequence binds by position, in order of each placeholder's first
appearance. Like every DB-API connection, it starts a transaction:
call `commit()`, or pass `autocommit=True`.

Load an Arrow table, a pandas or polars DataFrame converted to Arrow, or a
stream of record batches into a table:

```python
with conn.cursor() as cur:
    cur.adbc_ingest("measurements", table, mode="create_append")
conn.commit()
```

Driver-specific options are listed in `DatabaseOptions`, `ConnectionOptions`,
and `StatementOptions`:

```python
import adbc_driver_orkidea

conn = dbapi.connect(
    "oracle://scott@db.example.com:1521/FREEPDB1",
    db_kwargs={
        "password": "...",
        adbc_driver_orkidea.DatabaseOptions.CALL_TIMEOUT_MS.value: "30000",
        adbc_driver_orkidea.DatabaseOptions.TIME_ZONE.value: "UTC",
    },
)
```

`adbc_driver_orkidea.driver_path()` returns the bundled library, for ADBC
clients that load drivers by path (entrypoint `OrkideaDriverInit`).

## Documentation

- [Type mapping](https://github.com/Tnsor-Labs/orkidea-adbc/blob/main/docs/type-support.md)
- [Options](https://github.com/Tnsor-Labs/orkidea-adbc/blob/main/docs/options.md)
- [PL/SQL, OUT parameters, and REF CURSORs](https://github.com/Tnsor-Labs/orkidea-adbc/blob/main/docs/plsql.md)
- [Catalog metadata](https://github.com/Tnsor-Labs/orkidea-adbc/blob/main/docs/catalog.md)
- [Partitioned reads](https://github.com/Tnsor-Labs/orkidea-adbc/blob/main/docs/partitions.md)

## License

Apache-2.0. The wheel's license files include the licenses of the Rust
crates compiled into the driver.
