DatabentoDataClient

Struct DatabentoDataClient 

Source
pub struct DatabentoDataClient { /* private fields */ }
Expand description

A Databento data client that combines live streaming and historical data functionality.

This client uses the existing DatabentoFeedHandler for live data subscriptions and DatabentoHistoricalClient for historical data requests. It supports multiple datasets simultaneously, with separate feed handlers per dataset.

Implementations§

Source§

impl DatabentoDataClient

Source

pub fn new( client_id: ClientId, config: DatabentoDataClientConfig, clock: &'static AtomicTime, ) -> Result<Self>

Creates a new DatabentoDataClient instance.

§Errors

Returns an error if client creation or publisher configuration loading fails.

Trait Implementations§

Source§

impl DataClient for DatabentoDataClient

Source§

fn client_id(&self) -> ClientId

Returns the client identifier.

Source§

fn venue(&self) -> Option<Venue>

Returns the venue associated with this client (None for multi-venue clients).

Source§

fn start(&mut self) -> Result<()>

Starts the data client.

§Errors

Returns an error if the client fails to start.

Source§

fn stop(&mut self) -> Result<()>

Stops the data client and cancels all active subscriptions.

§Errors

Returns an error if the client fails to stop cleanly.

Source§

fn is_connected(&self) -> bool

Returns whether the client is currently connected.

Source§

fn subscribe_quotes(&mut self, cmd: &SubscribeQuotes) -> Result<()>

Subscribes to quote tick data for the specified instruments.

§Errors

Returns an error if the subscription request fails.

Source§

fn subscribe_trades(&mut self, cmd: &SubscribeTrades) -> Result<()>

Subscribes to trade tick data for the specified instruments.

§Errors

Returns an error if the subscription request fails.

Source§

fn subscribe_book_deltas(&mut self, cmd: &SubscribeBookDeltas) -> Result<()>

Subscribes to order book delta updates for the specified instruments.

§Errors

Returns an error if the subscription request fails.

Source§

fn subscribe_instrument_status( &mut self, cmd: &SubscribeInstrumentStatus, ) -> Result<()>

Subscribes to instrument status updates for the specified instruments.

§Errors

Returns an error if the subscription request fails.

Source§

fn reset(&mut self) -> Result<()>

Resets the data client to its initial state. Read more
Source§

fn dispose(&mut self) -> Result<()>

Disposes of client resources and cleans up. Read more
Source§

fn connect<'life0, 'async_trait>( &'life0 mut self, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Connects external API’s if needed. Read more
Source§

fn disconnect<'life0, 'async_trait>( &'life0 mut self, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Disconnects external API’s if needed. Read more
Source§

fn is_disconnected(&self) -> bool

Returns true if the client is currently disconnected.
Source§

fn unsubscribe_quotes(&mut self, cmd: &UnsubscribeQuotes) -> Result<()>

Unsubscribes from quote updates for the specified instrument. Read more
Source§

fn unsubscribe_trades(&mut self, cmd: &UnsubscribeTrades) -> Result<()>

Unsubscribes from trade updates for the specified instrument. Read more
Source§

fn unsubscribe_book_deltas(&mut self, cmd: &UnsubscribeBookDeltas) -> Result<()>

Unsubscribes from order book delta updates for the specified instrument. Read more
Source§

fn unsubscribe_instrument_status( &mut self, cmd: &UnsubscribeInstrumentStatus, ) -> Result<()>

Unsubscribes from instrument status updates for the specified instrument. Read more
Source§

fn request_instruments(&self, request: &RequestInstruments) -> Result<()>

Requests a list of instruments from the provider for a given venue. Read more
Source§

fn request_quotes(&self, request: &RequestQuotes) -> Result<()>

Requests historical or streaming quote data for a specified instrument. Read more
Source§

fn request_trades(&self, request: &RequestTrades) -> Result<()>

Requests historical or streaming trade data for a specified instrument. Read more
Source§

fn request_bars(&self, request: &RequestBars) -> Result<()>

Requests historical or streaming bar data for a specified instrument and bar type. Read more
Source§

fn subscribe(&mut self, cmd: &SubscribeCustomData) -> Result<(), Error>

Subscribes to custom data types according to the command. Read more
Source§

fn subscribe_instruments( &mut self, cmd: &SubscribeInstruments, ) -> Result<(), Error>

Subscribes to instruments list for the specified venue. Read more
Source§

fn subscribe_instrument( &mut self, cmd: &SubscribeInstrument, ) -> Result<(), Error>

Subscribes to data for a single instrument. Read more
Source§

fn subscribe_book_depth10( &mut self, cmd: &SubscribeBookDepth10, ) -> Result<(), Error>

Subscribes to top 10 order book depth updates for the specified instrument. Read more
Source§

fn subscribe_book_snapshots( &mut self, cmd: &SubscribeBookSnapshots, ) -> Result<(), Error>

Subscribes to periodic order book snapshots for the specified instrument. Read more
Source§

fn subscribe_mark_prices( &mut self, cmd: &SubscribeMarkPrices, ) -> Result<(), Error>

Subscribes to mark price updates for the specified instrument. Read more
Source§

fn subscribe_index_prices( &mut self, cmd: &SubscribeIndexPrices, ) -> Result<(), Error>

Subscribes to index price updates for the specified instrument. Read more
Source§

fn subscribe_funding_rates( &mut self, cmd: &SubscribeFundingRates, ) -> Result<(), Error>

Subscribes to funding rate updates for the specified instrument. Read more
Source§

fn subscribe_bars(&mut self, cmd: &SubscribeBars) -> Result<(), Error>

Subscribes to bar updates of the specified bar type. Read more
Source§

fn subscribe_instrument_close( &mut self, cmd: &SubscribeInstrumentClose, ) -> Result<(), Error>

Subscribes to instrument close events for the specified instrument. Read more
Source§

fn subscribe_blocks(&mut self, cmd: &SubscribeBlocks) -> Result<(), Error>

Subscribes to blocks for a specified blockchain. Read more
Source§

fn subscribe_pool(&mut self, cmd: &SubscribePool) -> Result<(), Error>

Subscribes to pool definition updates for a specified AMM pool. Read more
Source§

fn subscribe_pool_swaps( &mut self, cmd: &SubscribePoolSwaps, ) -> Result<(), Error>

Subscribes to pool swaps for a specified AMM pool. Read more
Source§

fn subscribe_pool_liquidity_updates( &mut self, cmd: &SubscribePoolLiquidityUpdates, ) -> Result<(), Error>

Subscribes to pool liquidity updates for a specified AMM pool. Read more
Source§

fn unsubscribe(&mut self, cmd: &UnsubscribeCustomData) -> Result<(), Error>

Unsubscribes from custom data types according to the command. Read more
Source§

fn unsubscribe_instruments( &mut self, cmd: &UnsubscribeInstruments, ) -> Result<(), Error>

Unsubscribes from instruments list for the specified venue. Read more
Source§

fn unsubscribe_instrument( &mut self, cmd: &UnsubscribeInstrument, ) -> Result<(), Error>

Unsubscribes from data for the specified instrument. Read more
Source§

fn unsubscribe_book_depth10( &mut self, cmd: &UnsubscribeBookDepth10, ) -> Result<(), Error>

Unsubscribes from top 10 order book depth updates for the specified instrument. Read more
Source§

fn unsubscribe_book_snapshots( &mut self, cmd: &UnsubscribeBookSnapshots, ) -> Result<(), Error>

Unsubscribes from periodic order book snapshots for the specified instrument. Read more
Source§

fn unsubscribe_mark_prices( &mut self, cmd: &UnsubscribeMarkPrices, ) -> Result<(), Error>

Unsubscribes from mark price updates for the specified instrument. Read more
Source§

fn unsubscribe_index_prices( &mut self, cmd: &UnsubscribeIndexPrices, ) -> Result<(), Error>

Unsubscribes from index price updates for the specified instrument. Read more
Source§

fn unsubscribe_funding_rates( &mut self, cmd: &UnsubscribeFundingRates, ) -> Result<(), Error>

Unsubscribes from funding rate updates for the specified instrument. Read more
Source§

fn unsubscribe_bars(&mut self, cmd: &UnsubscribeBars) -> Result<(), Error>

Unsubscribes from bar updates of the specified bar type. Read more
Source§

fn unsubscribe_instrument_close( &mut self, cmd: &UnsubscribeInstrumentClose, ) -> Result<(), Error>

Unsubscribes from instrument close events for the specified instrument. Read more
Source§

fn unsubscribe_blocks(&mut self, cmd: &UnsubscribeBlocks) -> Result<(), Error>

Unsubscribes from blocks for a specified blockchain. Read more
Source§

fn unsubscribe_pool(&mut self, cmd: &UnsubscribePool) -> Result<(), Error>

Unsubscribes from pool definition updates for a specified AMM pool. Read more
Source§

fn unsubscribe_pool_swaps( &mut self, cmd: &UnsubscribePoolSwaps, ) -> Result<(), Error>

Unsubscribes from swaps for a specified AMM pool. Read more
Source§

fn unsubscribe_pool_liquidity_updates( &mut self, cmd: &UnsubscribePoolLiquidityUpdates, ) -> Result<(), Error>

Unsubscribes from pool liquidity updates for a specified AMM pool. Read more
Source§

fn request_data(&self, request: &RequestCustomData) -> Result<(), Error>

Sends a custom data request to the provider. Read more
Source§

fn request_instrument(&self, request: &RequestInstrument) -> Result<(), Error>

Requests detailed data for a single instrument. Read more
Source§

fn request_book_snapshot( &self, request: &RequestBookSnapshot, ) -> Result<(), Error>

Requests a snapshot of the order book for a specified instrument. Read more
Source§

impl Debug for DatabentoDataClient

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'py> IntoPyObject<'py> for DatabentoDataClient

Source§

type Target = DatabentoDataClient

The Python output type
Source§

type Output = Bound<'py, <DatabentoDataClient as IntoPyObject<'py>>::Target>

The smart pointer type to use. Read more
Source§

type Error = PyErr

The type returned in the event of a conversion error.
Source§

fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>

Performs the conversion.
Source§

impl PyClass for DatabentoDataClient

Source§

type Frozen = False

Whether the pyclass is frozen. Read more
Source§

impl PyClassImpl for DatabentoDataClient

Source§

const IS_BASETYPE: bool = false

#[pyclass(subclass)]
Source§

const IS_SUBCLASS: bool = false

#[pyclass(extends=…)]
Source§

const IS_MAPPING: bool = false

#[pyclass(mapping)]
Source§

const IS_SEQUENCE: bool = false

#[pyclass(sequence)]
Source§

const IS_IMMUTABLE_TYPE: bool = false

#[pyclass(immutable_type)]
Source§

type BaseType = PyAny

Base class
Source§

type ThreadChecker = SendablePyClass<DatabentoDataClient>

This handles following two situations: Read more
Source§

type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild

Immutable or mutable
Source§

type Dict = PyClassDummySlot

Specify this class has #[pyclass(dict)] or not.
Source§

type WeakRef = PyClassDummySlot

Specify this class has #[pyclass(weakref)] or not.
Source§

type BaseNativeType = PyAny

The closest native ancestor. This is PyAny by default, and when you declare #[pyclass(extends=PyDict)], it’s PyDict.
Source§

fn items_iter() -> PyClassItemsIter

Source§

fn doc(py: Python<'_>) -> PyResult<&'static CStr>

Rendered class doc
Source§

fn lazy_type_object() -> &'static LazyTypeObject<Self>

§

fn dict_offset() -> Option<isize>

§

fn weaklist_offset() -> Option<isize>

Source§

impl<'a, 'py> PyFunctionArgument<'a, 'py, false> for &'a DatabentoDataClient

Source§

type Holder = Option<PyRef<'py, DatabentoDataClient>>

Source§

fn extract( obj: &'a Bound<'py, PyAny>, holder: &'a mut Self::Holder, ) -> PyResult<Self>

Source§

impl<'a, 'py> PyFunctionArgument<'a, 'py, false> for &'a mut DatabentoDataClient

Source§

type Holder = Option<PyRefMut<'py, DatabentoDataClient>>

Source§

fn extract( obj: &'a Bound<'py, PyAny>, holder: &'a mut Self::Holder, ) -> PyResult<Self>

Source§

impl PyTypeInfo for DatabentoDataClient

Source§

const NAME: &'static str = "DatabentoDataClient"

Class name.
Source§

const MODULE: Option<&'static str> = ::core::option::Option::None

Module name, if any.
Source§

fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject

Returns the PyTypeObject instance for this type.
§

fn type_object(py: Python<'_>) -> Bound<'_, PyType>

Returns the safe abstraction over the type object.
§

fn is_type_of(object: &Bound<'_, PyAny>) -> bool

Checks if object is an instance of this type or a subclass of this type.
§

fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool

Checks if object is an instance of this type.
Source§

impl DerefToPyAny for DatabentoDataClient

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<'py, T> IntoPyObjectExt<'py> for T
where T: IntoPyObject<'py>,

§

fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>

Converts self into an owned Python object, dropping type information.
§

fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>

Converts self into an owned Python object, dropping type information and unbinding it from the 'py lifetime.
§

fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>

Converts self into a Python object. Read more
Source§

impl<'py, T> IntoPyObjectNautilusExt<'py> for T
where T: IntoPyObjectExt<'py>,

Source§

fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>

Convert self into a [PyObject] while panicking if the conversion fails. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
§

impl<T> PyErrArguments for T
where T: for<'py> IntoPyObject<'py> + Send + Sync,

§

fn arguments(self, py: Python<'_>) -> Py<PyAny>

Arguments for exception
§

impl<T> PyTypeCheck for T
where T: PyTypeInfo,

§

const NAME: &'static str = <T as PyTypeInfo>::NAME

Name of self. This is used in error messages, for example.
§

fn type_check(object: &Bound<'_, PyAny>) -> bool

Checks if object is an instance of Self, which may include a subtype. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> Ungil for T
where T: Send,