NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #4386 most downloaded on PyPI
YDB Python SDK
Last release 4 days ago
30 Sep 2026
Ships on a steady schedule
a new release about every 3 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
4 versions withdrawn
withdrawn after publishing
7 years old
194 releases · first in 2019
Add ydb.convert_floats_to_embedding_bytes to encode numeric vectors for YDB KNN queries
ydb.convert_floats_to_embedding_bytes to encode numeric vectors for YDB KNN queriesFull Changelog: 3.33.0...3.33.1
Deprecated the table client scan query methods — TableClient.scan_query , TableClient.async_scan_query and the async ydb.aio.TableClient.scan_query :…
TableClient.scan_query, TableClient.async_scan_query and the async ydb.aio.TableClient.scan_query: they now emit a DeprecationWarning and keep working as before, use QueryService (ydb.QuerySessionPool / ydb.aio.QuerySessionPool) insteadFull Changelog: 3.32.0...3.33.0
One column per quarter.
Add TableClient.read_rows (sync and async) to read rows by primary key without a transaction
TableClient.read_rows (sync and async) to read rows by primary key without a transactionydb.query.session.closed counter for query session pool closures, labeled by pool name and a standardized closure reason; metrics-enabled clients now advertise ydb-sdk-metrics/0.2.0 in x-ydb-sdk-build-infoused or phantom idle sessions, provider replacement preserves instrumented pool state without leaking observations to old providers, and pools created with metrics disabled use zero-cost shared no-op lifecycle instrumentationFull Changelog: 3.31.5...3.32.0
Fixed OSError: [Errno 22] Invalid argument when reading native Datetime64 value before 1970 (negative Unix timestamps) on Windows: conversion now uses
OSError: [Errno 22] Invalid argument when reading native Datetime64 value before 1970 (negative Unix timestamps) on Windows: conversion now uses epoch arithmetic instead of datetime.utcfromtimestampreturn_not_null_data_as_optional parameter to read_table (sync and async) — allows reading NOT NULL columns as non-optional types, matching the existing gRPC field and the C++ SDK's ReturnNotNullAsOptional. By default read_table still wraps NOT NULL columns in Optional for backward compatibilityFull Changelog: 3.31.4...3.31.5
Fixed async QuerySessionPool permanently losing a pool slot when acquire() was cancelled while a new session was being created: asyncio.CancelledError
QuerySessionPool permanently losing a pool slot when acquire() was cancelled while a new session was being created: asyncio.CancelledError no longer leaks the pool size counter, so a pool under deadline-driven cancellations can no longer end up exhausted and blocking forever. A cancelled or interrupted session attach now also closes the session instead of orphaning it server-sideFull Changelog: 3.31.3...3.31.4
Add SchemeEntry.interrupt_permission_inheritance , reported by describe_path and list_directory , telling whether the object inherits permissions from
SchemeEntry.interrupt_permission_inheritance, reported by describe_path and list_directory, telling whether the object inherits permissions from its parentsFull Changelog: 3.31.2...3.31.3
Add TableClient.describe_system_view (sync and async) returning a dedicated SystemViewSchemeEntry with the system view id, name, columns, primary key
TableClient.describe_system_view (sync and async) returning a dedicated SystemViewSchemeEntry with the system view id, name, columns, primary key and attributes — a full description of system view objects that describe_table does not providepool_id parameter to QuerySession.execute, QueryTxContext.execute, and QuerySessionPool.execute_with_retries to route queries to a specific resource poolFull Changelog: 3.31.1...3.31.2
Support the new SECRET scheme entry type: SchemeEntryType.SECRET and SchemeEntry.is_secret() now recognise secret entries returned by list_directory /
SECRET scheme entry type: SchemeEntryType.SECRET and SchemeEntry.is_secret() now recognise secret entries returned by list_directory/describe_pathFull Changelog: 3.31.0...3.31.1
Fixed execute_with_retries returning a large result set split across several ResultSet objects: row-format stream parts that share a result_set_index
execute_with_retries returning a large result set split across several ResultSet objects: row-format stream parts that share a result_set_index are now concatenated back into a single result set, so a large SELECT is returned as one result set instead of one per stream chunkydb.observability — vendor-neutral tracing entrypoint with a TracingProvider interface; enable_tracing(provider) accepts any implementation (custom or OpenTelemetry) and replaces the previously installed one. The SDK core no longer imports opentelemetry, so tracing can be enabled without the OpenTelemetry packages by supplying a custom providerydb-sdk-tracing/0.1.0 token to the x-ydb-sdk-build-info header, so the server can distinguish requests from tracing-enabled clientsydb.observability layer: enable_metrics(provider) / disable_metrics(), with ydb.opentelemetry.enable_metrics(meter_provider=None) as the OpenTelemetry convenience. Instruments cover client operation duration/failures, retry duration/attempts, and query session pool state. QuerySessionPool gains an optional name argument for the pool metric label. When metrics are enabled the SDK appends a ydb-sdk-metrics/0.1.0 token to the x-ydb-sdk-build-info headerFull Changelog: 3.30.0...3.31.0
Query session attach stream handles NodeShutdown and SessionShutdown session hints: on NodeShutdown the session's node connection is pessimized and th
NodeShutdown and SessionShutdown session hints: on NodeShutdown the session's node connection is pessimized and the session is retired, on SessionShutdown the session is retired without touching the nodemax_bytes parameter in topic reader receive_batch/receive_batch_with_tx (previously accepted but silently ignored); add max_bytes to the async reader as wellTzDate, TzDatetime and TzTimestamp in query results and parameters (reading them previously raised AttributeError)datetime.datetime values for Datetime and Datetime64 query parameters (previously only integer seconds since the epoch were accepted)Full Changelog: 3.29.7...3.30.0
Make missing row/struct attribute access raise an error that is both AttributeError and KeyError, to stay backward compatible with callers written aga
Full Changelog: 3.29.6...3.29.7
Restore attribute assignment on query result set rows (broken by the result set memory optimization)
Full Changelog: 3.29.5...3.29.6
Fix gRPC thread leak on failed topic writer reconnect
Full Changelog: 3.29.4...3.29.5
Fix leaked topic reader stream when close interrupts stream creation during reconnect
Full Changelog: 3.29.3...3.29.4
Fix topic reader hang and zombie stream when closing during reconnect
Full Changelog: 3.29.2...3.29.3
Fix transactional topic reader committing stale offsets after reconnect
Full Changelog: 3.29.1...3.29.2
* Fix driver.wait hang Full Changelog: 3.29.0...3.29.1
Full Changelog: 3.29.0...3.29.1
Added OpenTelemetry tracing support via ydb.opentelemetry.enable_tracing()
ydb.opentelemetry.enable_tracing()Full Changelog: 3.28.4...3.29.0
* Fix iam module lazy loading Full Changelog: 3.28.3...3.28.4
Full Changelog: 3.28.3...3.28.4
Fix session invalidation scheme
Full Changelog: 3.28.2...3.28.3
Invalidate session on cancelled / transport stream errors
Full Changelog: 3.28.1...3.28.2
Invalidate session on interrupted rollback
Full Changelog: 3.28.0...3.28.1
Reader buffer release threshold feature
Full Changelog: 3.27.0...3.28.0
* Topic Writer Backpressure * Update writer debug logs Full Changelog: 3.26.10...3.27.0
Full Changelog: 3.26.10...3.27.0
Fix asyncio.Cancelled error propagated to writer/reader
Full Changelog: 3.26.9...3.26.10
Send writers messages as one batch
Full Changelog: 3.26.8...3.26.9
Make "Sent message larger than max" error non retryable
Full Changelog: 3.26.7...3.26.8
Ability to pass additional info to sdk header
Full Changelog: 3.26.6...3.26.7
Support YDB_USER and YDB_PASSWORD in the environment
Full Changelog: 3.26.5...3.26.6
Retry SessionExpired in topic streams
Full Changelog: 3.26.4...3.26.5
Make fail to create session log warn
Full Changelog: 3.26.3...3.26.4
Fix GrpcWrapperAsyncIO.close for OpenTelemetry intercepted streams
Full Changelog: 3.26.2...3.26.3
Fix possible race condition in topic common
Full Changelog: 3.26.1...3.26.2
* Fix discovery timeout Full Changelog: 3.26.0...3.26.1
Full Changelog: 3.26.0...3.26.1
Basic mypy support and extended typehints
Full Changelog: 3.25.0...3.26.0
* Add protobuf 6 support Full Changelog: 3.24.1...3.25.0
Full Changelog: 3.24.1...3.25.0
Use session's node_id as preferred endpoint
Full Changelog: 3.24.0...3.24.1
Make DeadlineExceeded not retriable
Full Changelog: 3.23.4...3.24.0
* Allow rollback after TLI Full Changelog: 3.23.3...3.23.4
Full Changelog: 3.23.3...3.23.4
Make attach session error readable
Full Changelog: 3.23.2...3.23.3
QuerySessionPool: Cancel queue.get in case of cancel of parent coroutine
Full Changelog: 3.23.1...3.23.2
* Added SysView scheme type Full Changelog: 3.23.0...3.23.1
Full Changelog: 3.23.0...3.23.1
Coordination Service experimental support
Full Changelog: 3.22.4...3.23.0
Update default keepalive time to 10s
Full Changelog: 3.22.3...3.22.4
Make commit_offset call retryable
Full Changelog: 3.22.2...3.22.3
Make use_all_nodes True by default
Full Changelog: 3.22.1...3.22.2
* Fix crash on discovery thread Full Changelog: 3.22.0...3.22.1
Full Changelog: 3.22.0...3.22.1
Support Arrow format of result sets in QueryService
Full Changelog: 3.21.14...3.22.0
Fixed bug with param read_from for topic reader
Full Changelog: 3.21.13...3.21.14
Refactor auth token refresh logic
Full Changelog: 3.21.12...3.21.13
Fix getattr propagation to wrapped stream
Full Changelog: 3.21.11...3.21.12
Fix is_view, is_resource_pool for SchemeEntryType
Full Changelog: 3.21.10...3.21.11
* Fix stream error handling Full Changelog: 3.21.9...3.21.10
Full Changelog: 3.21.9...3.21.10
Add method explain for explain query to QuerySession and QuerySessionPool classes
Full Changelog: 3.21.8...3.21.9
Fix: convert gRPC stream termination to YDB errors in async query client
Full Changelog: 3.21.7...3.21.8
Remove default timeout from topic stream
Full Changelog: 3.21.6...3.21.7
Wrap prepare execute request exceptions to ydb.Error
Full Changelog: 3.21.5...3.21.6
Ability to create Date type from datetime
Full Changelog: 3.21.4...3.21.5
* Add index to resultsets Full Changelog: 3.21.3...3.21.4
Full Changelog: 3.21.3...3.21.4
* Rename indexes feature Full Changelog: 3.21.2...3.21.3
Full Changelog: 3.21.2...3.21.3
Your coding agent can read these notes before it upgrades. Set up the MCP server →