NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3515 most downloaded on PyPI
Official Python client library for Databento
Last release 16 days ago
01 Sep 2026
Ships on a steady schedule
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
111 releases · first in 2021
One column per quarter.
Upgraded databento-dbn to 0.18.2
databento-dbn to 0.18.2Added type alias TBBOMsg for MBP1Msg
TBBOMsg for MBP1MsgBBO-1s, BBO-1m, and Status schemasLive client will now call Live.stop when garbage collectedXNAS.BASIC and XNAS.NLSUpgraded databento-dbn to 0.18.1
databento-dbn to 0.18.1heartbeat_interval_s was not being sent to the gatewayLive client in the event of an ungraceful disconnectLive client added with Live.add_stream will now upgrade to the latest DBN version before being writtenAdded optional heartbeat_interval_s parameter to Live client for configuring the interval at which the gateway will send heartbeat records
heartbeat_interval_s parameter to Live client for configuring the
interval at which the gateway will send heartbeat recordsdatabento-dbn to 0.18.0IFEU.IMPACT and NDEX.IMPACTCbboMsg to CBBOMsg.use_snapshot parameter in Live.subscribe function to snapshotdatabento-dbn have been changed to use the DBNError typeAdded use_snapshot parameter to Live.subscribe, defaults to False
use_snapshot parameter to Live.subscribe, defaults to FalseAdded pip-system-certs dependency for Windows platforms to prevent a connection issue in requests when behind a proxy
pip-system-certs dependency for Windows platforms to prevent a connection issue in requests when behind a proxyLive client will now automatically call Live.stop when the iterator is destroyed, such as when a for loop is escaped with an exception or break statement.batch.download and batch.download_async would fail if requested files already existed in the output directorybatch.download, batch.download_async, and timeseries.get_range could use a lot of memory while streaming dataLive client with an open output stream would drop DBN records when received at the same time as the Metadata headerpip-system-certs dependency for Windows platforms to prevent a connection issue in requests when behind a proxyLive client will now automatically call Live.stop when the iterator is destroyed, such as when a for loop is escaped with an exception or break statementbatch.download and batch.download_async would fail if requested files already existed in the output directorybatch.download, batch.download_async, and timeseries.get_range could use a lot of memory while streaming dataLive client with an open output stream would drop DBN records when received at the same time as the Metadata headerstart_date and end_date keys in the response from Historical.metadata.get_dataset_range will be removed in a future release. Use the new start and end keys instead, which include time resolutionThe Historical.batch.download and Historical.batch.download_async methods will now automatically retry the download if a rate limit (HTTP 429) error i
Historical.batch.download and Historical.batch.download_async methods will now automatically retry the download if a rate limit (HTTP 429) error is receivedHistorical.batch.download and Historical.batch.download_async methods will now retry failed downloads automaticallyHistorical.batch.download and Historical.batch.download_async methods will now download files concurrentlyoutput_dir parameter for Historical.batch.download and Historical.batch.download_async is now optional and will default to the current working directory if unspecifiedenable_partial_downloads parameter for Historical.batch.download and Historical.batch.download_async has been removed, partial files will always be resumed which was the default behaviorHistorical.batch.download and Historical.batch.download_async have been reordered because output_dir is now optional, job_id now comes firstRenamed publishers from deprecated datasets to their respective sources (XNAS.NLS and XNYS.TRADES respectively)
ErrorMsg are received by the Live clientdatabento-dbn to 0.17.1int, that could cause a session to fail when
nothing was wrongXNAS.NLS
and XNYS.TRADES respectively)FINN.NLS and FINY.TRADESIncrease Live session connection and authentication timeouts
Live session connection and authentication timeoutsF_TOB and F_MAYBE_BAD_BOOK variants to RecordFlagsLive.subscribe from a Live client callback would cause a deadlockAdded DBNStore.insert_symbology_json convenience method for adding symbology data from a JSON dict or file path
DBNStore.insert_symbology_json convenience method for adding symbology data from a JSON dict or file pathdatabento-dbn to 0.16.0Changed how SymbolMappingMsg objects are ingested by InstrumentMap to single source the timestamp parsing from the databento-dbn package
SymbolMappingMsg objects are ingested by InstrumentMap to single source the timestamp parsing from the databento-dbn packageDBNStore.to_df could cause invalid symbol mappingsLive.add_stream to use the exclusive write mode when handling file paths so existing files won't be overwrittenAdded tz parameter to DBNStore.to_df which will convert all timestamp fields from UTC to a specified timezone when used with pretty_ts
tz parameter to DBNStore.to_df which will convert all timestamp fields from UTC to a specified timezone when used with pretty_tsLive.block_for_close and Live.wait_for_close will now call Live.stop when a timeout is reached instead of Live.terminate to close the stream more gracefullytz parameter to DBNStore.to_df which will convert all timestamp fields from UTC to a specified timezone when used with pretty_tsLive.block_for_close and Live.wait_for_close will now call Live.stop when a timeout is reached instead of Live.terminate to close the stream more gracefullySubstantially increased iteration queue size
DBNQueue.enable and DBNQueue.disable for controlling queue consumptionDBNQueue.is_enabled to signal the queue can accept recordsDBNQueue.is_full to signal the queue has reached capacityDBNQueue.put and DBNQueue.put_nowaitLive client after the streaming session has started will now raise a ValueError. Calling Live.start is not necessary when iterating the Live clientdatabento.live.client.DEFAULT_QUEUE_SIZE to databento.live.session.DBN_QUEUE_CAPACITYmaxsize parameter from DBNQueue constructor. DBNQueue now subclasses SimpleQueue insteadDBNQueue.enabled, use DBNQueue.is_enabled insteadDBNQueue.is_half_full, use DBNQueue.is_full insteadAdded Session.session_id property which will contain the numerical session ID once a live session has been authenticated
Session.session_id property which will contain the numerical session ID once a live session has been authenticateddatabento-dbn to 0.15.1DatabentoLiveProtocol.started to DatabentoLiveProtocol.is_started which now returns a bool instead of an asyncio.EventLive.start was calledThis release adds support for transcoding DBN data into Apache parquet.
This release adds support for transcoding DBN data into Apache parquet.
DBNStore.to_parquet for transcoding DBN data into Apache parquet using pyarrowdatabento-dbn to 0.15.0Removed deprecated pretty_px parameter for DBNStore.to_df; price_type can be used instead
pretty_px parameter for DBNStore.to_df; price_type can be used insteadLive client would not raise an exception when reading an incompatible DBN versionBufferErrorHistorical.batch.download was slowHistorical.timeseries.get_range was slowSType would cause an error when mapping symbols (credit: Jakob Lövhall)Added new publisher value for OPRA MIAX Sapphire
Live.stop could cause a truncated DBN record to be written to a streamThis release adds support for DBN v2 as well as Python v3.12.
This release adds support for DBN v2 as well as Python v3.12.
DBN v2 delivers improvements to the Metadata header symbology, new stype_in and stype_out fields for SymbolMappingMsg, and extends the symbol field length for SymbolMappingMsg and InstrumentDefMsg. The entire change notes are available here. Users who wish to convert DBN v1 files to v2 can use the dbn-cli tool available in the databento-dbn crate. On a future date, the Databento live and historical APIs will stop serving DBN v1.
This release of databento-python is fully compatible with both DBN v1 and v2, so this upgrade should be seamless for most users.
In some cases, DBN v1 records will be converted to their v2 counterparts:
DBNStore and with DBNStore.replayLive client and records dispatched to callbacksLive clientdatabento-dbn to 0.14.2databento.common.types module to hold common type annotationsDBNStore.to_ndarray or DBNStore.to_df would not properly filter records by their intervalDBNStore.to_ndarray and DBNStore.to_df with a non-zero count could get stuck in a loop if the DBN data did not contain any recordsDBNStore iteration and DBNStore.replay will upgrade DBN version 1 messages to version 2Live client iteration and callbacks upgrade DBN version 1 messages to version 2DBNRecord, RecordCallback, and ExceptionCallback types to them databento.common.types moduleAUTH_TIMEOUT_SECONDS and CONNECT_TIMEOUT_SECONDS constants from the databento.live module to databento.live.sessionINT64_NULL from the databento.common.dbnstore module to databento.common.constantsSCHEMA_STRUCT_MAP from the databento.common.data module to databento.common.constantsschema parameter from DataFrameIterator constructor, struct_type is to be used insteadNON_SCHEMA_RECORD_TYPES constant as it is no longer usedDERIV_SCHEMAS constant as it is no longer usedSCHEMA_COLUMNS constant as it is no longer usedSCHEMA_DTYPES_MAP constant as it is no longer useddatabento.common.data moduleAdded new publishers for consolidated DBEQ.BASIC and DBEQ.PLUS
Live.block_for_close and Live.wait_for_close would not flush streams if the timeout was reachedAdded map_symbols_csv function to the databento module for using symbology.json files to map a symbol column onto a CSV file
map_symbols_csv function to the databento module for using symbology.json files to map a symbol column onto a CSV filemap_symbols_json function to the databento module for using symbology.json files to add a symbol key to a file of JSON recordsDBNStore.to_df with pretty_ts=True was very slowFixed an issue where DBNStore.to_csv and DBNStore.to_json were mapping symbols even when map_symbols was set to False
DBNStore.to_csv and DBNStore.to_json were mapping symbols even when map_symbols was set to FalseValueError when loading symbols into the DBNStore instrument mapDeprecated pretty_px argument for DBNStore.to_df to be removed in a future release; the default pretty_px=True is now equivalent to price_type="float"…
price_type argument for DBNStore.to_df to specify if price fields should be fixed, float or decimal.Decimalpy.typed marker filedatabento-dbn to 0.13.0DBNStore.to_csv and DBNStore.to_json to match the encoding formats from the Databento APIpretty_px argument for DBNStore.to_df to be removed in a future release; the default pretty_px=True is now equivalent to price_type="float" and pretty_px=False is now equivalent to price_type="fixed"Added map_symbols support for DBN data generated by the Live client
map_symbols support for DBN data generated by the Live clientLive.add_streamdatabento-dbn to 0.11.1DBNStore.from_bytes did not rewind seekable buffersDBNStore would not map symbols with input symbology of SType.INSTRUMENT_IDDBNStore.request_symbology when the DBN metadata's start date and end date were the sameLive client on shutdown.Added ARCX.PILLAR.ARCX publisher
ARCX.PILLAR.ARCX publisherpretty_px option for batch.submit_job, which formats prices to the correct scale using the fixed-precision scalar 1e-9 (available for CSV and JSON text encodings)pretty_ts option for batch.submit_job, which formats timestamps as ISO 8601 strings (available for CSV and JSON text encodings)map_symbols option for batch.submit_job, which appends a symbol field to each text-encoded record (available for CSV and JSON text encodings)split_symbols option for batch.submit_job, which will split files by raw symboldatabento-dbn to 0.10.2Live clientDBNStore.to_df, DBNStore.to_json, or DBNStore.to_csv with map_symbols=True would cause a TypeErrordefault_value parameter from Historical.symbology.resolvepretty_px and pretty_ts boolean parametersFixed an issue where the index column was not serialized with DBNStore.to_json
DBNStore.to_jsonDBNStore.to_json had reduced precisionThis release includes improvements to handling large DBN data and adds support for future datasets.
This release includes improvements to handling large DBN data and adds support for future datasets.
count parameter to DBNStore.to_df and DBNStore.to_ndarray to help process large files incrementallyDBNStore.to_csv and DBNStore.to_jsonPublisher, Venue, and Dataset enumsNaN when pretty_px=True in DBNStore.to_df()databento-dbn to 0.8.3BATY.PITCH.BATY publisherpretty_px=TrueDBNStore.to_df now always utf-8 decodes string fieldsFixed issue where extra python key was sent by the Live client
python key was sent by the Live clientRenamed the TimeSeriesHttpAPI class to TimeseriesHttpAPI
TimeSeriesHttpAPI class to TimeseriesHttpAPIDBNStore.to_csv(), DBNStore.to_df(), DBNStore.to_json(), and DBNStore.to_ndarray() would consume large amounts of memory.This release includes improvements to the ergonomics of the clients metadata API, you can read more about the changes here.
This release includes improvements to the ergonomics of the clients metadata API, you can read more about the changes here.
databento-dbn to 0.8.2metadata.list_publishers() to return a list of publisher details objectsmetadata.list_fields(...) to return a list of field detail objects for a particular schema and encodingmetadata.list_fields(...) to require the schema and encoding parametersmetadata.list_unit_prices(...) to return a list of unit prices for each feed mode and data schemametadata.list_unit_prices(...) to require the dataset parametermetadata.list_unit_prices(...) mode and schema parametersmetadata.list_fields(...) dataset parameterFixed an issue where starting a Live client before subscribing gave an incorrect error message
Live client before subscribing gave an incorrect error messageLive client exception callback would fail when the callback function does not have a __name__ attributeThis release includes updates to the fields in text encodings (CSV and JSON), you can read more about the changes here.
This release includes updates to the fields in text encodings (CSV and JSON), you can read more about the changes here.
rtype field to all schemas that was previously excludedFixed an issue where the end parameter in timeseries.get_range_async did not support a value of None
end parameter in timeseries.get_range_async did not support a value of Nonetimeseries.get_range requests would begin with an invalid path parameterFixed an issue with release tests
Added symbology_map property to Live client
symbology_map property to Live clientoptional_symbols_list_to_list parsing functionLive.add_callback and Live.add_stream to accept an exception callbackLive.__iter__() and Live.__aiter__() to send the session start message if the session is connected but not starteddatabento-dbn to 0.7.1Encoding, Compression, Schema, and SType enums as they are now exposed by databento-dbnfunc parameter to record_callback for Live.add_callback and Live.add_streamoptional_symbols_list_to_string parsing functionFixed issue where DBNStore.to_df() would raise an exception if no records were present
DBNStore.to_df() would raise an exception if no records were presentAdded support for reusing a Live client to reconnect
Live client to reconnectmetadata property to LiveDatatbentoLiveProtocol classLive to no longer yield DBN metadataLive callbacks to no longer yield DBN metadataHistorical.timeseries.get_range would write empty files on errornumpy types not being handled in symbols fieldaiohttp to 3.8.3numpy to 1.23.5pandas to 1.5.3requests to 2.28.1zstandard to 0.21.0DatabentoLiveProtocol classmetadata property to LiveLive client to reconnectaiohttp to 3.8.3numpy to 1.23.5pandas to 1.5.3requests to 2.28.1zstandard to 0.21.0symbol to raw_symbol in definition schema when converting to a DataFrameLive to no longer yield DBN metadataLive callbacks to no longer yield DBN metadataHistorical.timeseries.get_range would write empty files on errornumpy types not being handled in symbols fieldend parameter for batch.submit_job(...)Added support for statistics schema
statistics schemacondition.json and symbology.json)booklevel MBP field to levels for brevity and consistent namingdatabento-dbn to 0.6.1flags field to an unsigned intts_out to False for Live clientinstrument_class DataFrame representation to be consistent with other char typesopen_interest_qty and cleared_volume fields that were always unset from definition schematimeseries.stream methodDeprecated SType.PRODUCT_ID to SType.INSTRUMENT_ID
Live client for connecting to Databento's live servicedegraded, pending and missing condition variants for batch.get_dataset_conditionlast_modified_date field to batch.get_dataset_condition responsedatabento-dbn to 0.5.0DBNStore to support mixed schema types to support live dataDBNStore to return record types from databento-dbn instead of numpy arrayscost field to cost_usd for batch.submit_job and batch.list_jobs (value now expressed as US dollars)product_id field to instrument_idsymbol field in definitions to raw_symboldtype property from DBNStorerecord_size property from DBNStorebad condition variant from batch.get_dataset_conditionLiveGateway enumSTATISTICS from Schema enumSTATUS from Schema enumGATEWAY_ERROR from Schema enumSYMBOL_MAPPING from Schema enumSType.PRODUCT_ID to SType.INSTRUMENT_IDSType.NATIVE to SType.RAW_SYMBOLSType.SMART to SType.PARENT and SType.CONTINUOUSChanged end and end_date to optional to support new forward-fill behaviour
end and end_date to optional to support new forward-fill behaviourzstandard to 0.20.0Added support for imbalance schema
imbalance schemainstrument_class, strike_price, and strike_price_currency to definition
schemaend and end_date params throughout the APIdatabento-dbn to 0.4.3Bento class to DBNStoremetadata.list_compressions (redundant with docs)metadata.list_encodings (redundant with docs)start and end params from metadata.list_schemas (redundant)related and related_security_id from definition schemaImproved use of the logging module
record_count property from Bento classmetadata.get_dataset_condition response to a list of condition per dateBento where invalid metadata would prevent iterationAdded from_dbn convenience alias for loading DBN files
from_dbn convenience alias for loading DBN filesBento iteration where multiple readers were createdDeprecated timeseries.stream(...) method
batch.list_files(...) methodbatch.download(...) methodbatch.download_async(...) methodtimeseries.stream to timeseries.get_rangetimeseries.stream_async to timeseries.get_range_async.to_df(...) pretty_ts default argument to True.to_df(...) pretty_px default argument to True.to_df(...) map_symbols default argument to Truetimeseries.stream(...) methodtimeseries.stream_async(...) methodAdded support for definition schema
definition schemaFlags enumdbz-python to 0.2.1zstandard to 0.19.0Added metadata.get_dataset_condition method to Historical client
metadata.get_dataset_condition method to Historical clientdbz-python to 0.2.0Fixed dataframe columns for derived data schemas (dropped channel_id)
channel_id)batch.submit_job requests for dbz encodingquickstart.ipynb jupyter notebookAdded map_symbols option for .to_df() (experimental)
dbz-python to 0.1.5map_symbols option for .to_df() (experimental)- Initial release
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →