iomete-sqlalchemy
A SQLAlchemy dialect for IOMETE using Arrow Flight SQL (adbc-driver-flightsql).
All reflection methods are implemented and relational stubs (PK, FK, indexes) return graceful empty results instead of raising NotImplementedError, making it compatible with schema inspection tools and data catalog integrations.
Requirements
Python 3.9+sqlalchemy >= 2.0.30adbc-driver-flightsql >= 1.1.0pyarrow >= 16.0
Installation
pip install iomete-sqlalchemy
Connection URL
iomete://<user>:<password>@<host>:<port>/<catalog>/<schema>
?cluster=<cluster>
&data_plane=<data_plane>
[&tls=true]
[&max_msg_size=134217728]
| Parameter | Description | Default |
|---|---|---|
host |
IOMETE host | — |
port |
gRPC port | 443 |
catalog |
Top-level catalog (e.g. spark_catalog) |
— |
schema |
Schema / database inside the catalog | — |
cluster |
IOMETE compute cluster name | — |
data_plane |
IOMETE data plane name | — |
tls |
Use grpc+tls transport |
true |
max_msg_size |
Max gRPC message size in bytes | 134217728 (128 MB) |
Example
from sqlalchemy import create_engine, inspect, text
HOST = "dev.iomete.cloud"
PORT = 443
USERNAME = "your-username"
PASSWORD = "your-password"
CATALOG = "spark_catalog"
SCHEMA = "default"
CLUSTER = "your-cluster"
DATA_PLANE = "your-data-plane"
engine = create_engine(
f"iomete://{USERNAME}:{PASSWORD}@{HOST}:{PORT}"
f"/{CATALOG}/{SCHEMA}"
f"?cluster={CLUSTER}&data_plane={DATA_PLANE}"
)
# Check connection
with engine.connect() as conn:
print(conn.execute(text("SELECT 1")).scalar()) # → 1
# Reflect schema
inspector = inspect(engine)
print(inspector.get_schema_names())
print(inspector.get_table_names(schema=f"{CATALOG}.{SCHEMA}"))
Supported Type Mappings
| Spark / Iceberg type | SQLAlchemy type |
|---|---|
boolean |
Boolean |
tinyint, smallint |
SmallInteger |
int, integer |
Integer |
bigint |
BigInteger |
float, real |
Float(24) |
double |
Float(53) |
decimal(p, s) |
Numeric(p, s) |
char(n) |
CHAR(n) |
varchar(n) |
VARCHAR(n) |
string, text |
Text |
binary |
LargeBinary |
date |
Date |
timestamp, timestamp_ntz |
DateTime |
array<…>, map<…>, struct<…> |
JSON |
Contributing
See CONTRIBUTING.md for architecture overview, codebase layout, and how to run tests.
Metadata
Release files for iomete-sqlalchemy 1.0.23
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iomete_sqlalchemy-1.0.23.tar.gz | 14.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iomete_sqlalchemy-1.0.23-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.5 kB
Release files / iomete_sqlalchemy-1.0.23.tar.gz
| Download URL | iomete_sqlalchemy-1.0.23.tar.gz |
|---|---|
| Size | 14.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
087d05732b099a23bad209d45f1754c729fc7879a97dd882b1897feb5b40efd0
|
|
BLAKE2b-256 checksum How to use checksums |
b375a3abae724d8938b36456e7b16ac35ec5b568e5b22fb38f8e1aec712a6f75
|
| 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 Sep 4, 2026.
Transparency logRelease files / iomete_sqlalchemy-1.0.23-py3-none-any.whl
| Download URL | iomete_sqlalchemy-1.0.23-py3-none-any.whl |
|---|---|
| Size | 14.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ced0852b2ca5ed005ac2efeca9cef38bc4312fbaeccf9902197265e550475138
|
|
BLAKE2b-256 checksum How to use checksums |
d825e40325505416b780c60781898a4fcfb5bef7cff003ac8bd7faffe1f3337c
|
| 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 Sep 4, 2026.
Transparency log