All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Release 0.1.5
- Release 0.1.4
- Parametric Arrow type strings returned by the information schema are now mapped correctly:
timestamp[unit, tz=…](with scale preserved),duration[unit],decimal128(p, s)/decimal256(p, s)/decimal(p, s), andlist<item: T>/large_list<item: T>(including non-nullable item fields). Previously all of these fell back toString. - Simple Arrow type aliases extended:
halffloat(PyArrow's name forfloat16),large_string, all four signed integer variants (int8–int64), and all four unsigned integer variants (uint8–uint64) are now resolved correctly.
- Default schema for managed databases changed from
"public"to"main"to match runtimedb'sDEFAULT_SCHEMA_NAME. runtimedb always auto-inserts amainschema into every managed database; using"public"previously created a spurious emptymainschema alongside the declaredpublicone. - Arrow type construction now goes through PyArrow's type system as the authoritative bridge
(
pa.DataType→PyArrowType.to_ibis()), replacing manual Ibis type construction. _IN_FLIGHTquery-run statuses trimmed to{"running"}— runtimedbQueryRunStatusonly emitsrunning,succeeded, andfailed;queuedandpendingare result statuses, not query-run statuses.
- Decimal regex tightened:
decimal128?→decimal(?:128|256)?sodecimal12(…)is no longer mistakenly matched as a decimal type. - Unknown
durationunit now falls through to the Postgres parser /Stringfallback instead of silently defaulting to seconds.
- Arrow-style type names (
Date32,Float64,Utf8,LargeBinary, etc.) returned by the information schema for Parquet/managed-table columns are now mapped to the correct Ibis types instead of falling back toString. database_idparameter onconnect()to bind a pre-existing managed database at connect time, enabling"default"catalog references without callingcreate_tablefirst.
- Managed databases now use the dedicated
/v1/databasesAPI instead of the legacy/v1/connectionsAPI.create_databaseanddrop_databaseare unaffected at the call site. create_tablenow returns a table reference with("default", schema)as the catalog, matching the SQL catalog prefix required for querying managed tables.create_databaseno longer silently swallows API errors during the existence check — only a genuine not-found result proceeds to creation.
- Querying managed tables via
con.table(..., database=("default", schema))orcon.sql(...)now correctly routes information-schema lookups through the underlying connection id rather than the literal string"default". - Cached
_database_idis now always overwritten on eachcreate_table/drop_tablecall, preventing a stale id from being sent in subsequent queries when different managed databases are used on the same connection.
- Managed database support via
create_managed_databaseandload_managed_table.
- Initial release.