pub struct HyperliquidDataClientConfig {Show 15 fields
pub private_key: Option<String>,
pub base_url_ws: Option<String>,
pub base_url_http: Option<String>,
pub proxy_url: Option<String>,
pub environment: HyperliquidEnvironment,
pub http_timeout_secs: u64,
pub ws_timeout_secs: u64,
pub stale_stream_receive_timeout_secs: u64,
pub stream_health_check_interval_secs: u64,
pub stale_stream_warning_cooldown_secs: u64,
pub stale_stream_recovery_enabled: bool,
pub stale_stream_recovery_cooldown_secs: u64,
pub stale_stream_max_targeted_resubscribes: u32,
pub update_instruments_interval_mins: u64,
pub transport_backend: TransportBackend,
}Expand description
Configuration for the Hyperliquid data client.
The stale_stream_* options control the stream health monitor. With recovery
enabled, a stale stream is warned about first, targeted-resubscribed once per
recovery cooldown (preserving its original l2Book options), and escalated to
a full WebSocket reconnect after stale_stream_max_targeted_resubscribes
failed attempts; fresh data resets the ladder. See the Hyperliquid integration
guide (“Stream health and recovery”) for details.
Fields§
§private_key: Option<String>Optional private key for authenticated endpoints.
base_url_ws: Option<String>Override for the WebSocket URL.
base_url_http: Option<String>Override for the HTTP info URL.
proxy_url: Option<String>Optional proxy URL for HTTP and WebSocket transports.
environment: HyperliquidEnvironmentThe target environment (mainnet or testnet).
http_timeout_secs: u64HTTP timeout in seconds.
ws_timeout_secs: u64WebSocket timeout in seconds.
stale_stream_receive_timeout_secs: u64Receive-age threshold in seconds for warning about stale market-data streams. Choose a value above the instrument’s expected quiet period. Set to 0 to disable the stream health monitor.
stream_health_check_interval_secs: u64Interval in seconds for running market-data stream health checks. Set to 0 to disable the stream health monitor.
stale_stream_warning_cooldown_secs: u64Cooldown in seconds between stale warnings for the same market-data stream.
stale_stream_recovery_enabled: boolEnables automated stale-stream recovery. Off by default: the stream health monitor warns only and never changes subscriptions.
stale_stream_recovery_cooldown_secs: u64Cooldown in seconds between recovery actions for the same market-data stream. Must be positive for recovery to run.
stale_stream_max_targeted_resubscribes: u32Targeted resubscribe attempts for a stale stream before escalating to a full WebSocket reconnect.
update_instruments_interval_mins: u64Interval for refreshing instruments in minutes.
transport_backend: TransportBackendWebSocket transport backend (Sockudo by default; Tungstenite when
the transport-sockudo feature is disabled).
Implementations§
Source§impl HyperliquidDataClientConfig
impl HyperliquidDataClientConfig
Sourcepub fn builder() -> HyperliquidDataClientConfigBuilder
pub fn builder() -> HyperliquidDataClientConfigBuilder
Create an instance of HyperliquidDataClientConfig using the builder syntax
Source§impl HyperliquidDataClientConfig
impl HyperliquidDataClientConfig
Trait Implementations§
Source§impl ClientConfig for HyperliquidDataClientConfig
impl ClientConfig for HyperliquidDataClientConfig
Source§impl Clone for HyperliquidDataClientConfig
impl Clone for HyperliquidDataClientConfig
Source§fn clone(&self) -> HyperliquidDataClientConfig
fn clone(&self) -> HyperliquidDataClientConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for HyperliquidDataClientConfig
impl Debug for HyperliquidDataClientConfig
impl DerefToPyAny for HyperliquidDataClientConfig
Source§impl<'de> Deserialize<'de> for HyperliquidDataClientConfigwhere
HyperliquidDataClientConfig: Default,
impl<'de> Deserialize<'de> for HyperliquidDataClientConfigwhere
HyperliquidDataClientConfig: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<'a, 'py> FromPyObject<'a, 'py> for HyperliquidDataClientConfigwhere
Self: Clone,
impl<'a, 'py> FromPyObject<'a, 'py> for HyperliquidDataClientConfigwhere
Self: Clone,
Source§impl<'py> IntoPyObject<'py> for HyperliquidDataClientConfig
impl<'py> IntoPyObject<'py> for HyperliquidDataClientConfig
Source§type Target = HyperliquidDataClientConfig
type Target = HyperliquidDataClientConfig
Source§type Output = Bound<'py, <HyperliquidDataClientConfig as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <HyperliquidDataClientConfig as IntoPyObject<'py>>::Target>
Source§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
Source§impl PyClass for HyperliquidDataClientConfig
impl PyClass for HyperliquidDataClientConfig
Source§impl PyClassImpl for HyperliquidDataClientConfig
impl PyClassImpl for HyperliquidDataClientConfig
Source§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
Source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
Source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
Source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
Source§const IS_IMMUTABLE_TYPE: bool = false
const IS_IMMUTABLE_TYPE: bool = false
Source§const RAW_DOC: &'static CStr = /// Configuration for the Hyperliquid data client.
///
/// The `stale_stream_*` options control the stream health monitor. With recovery
/// enabled, a stale stream is warned about first, targeted-resubscribed once per
/// recovery cooldown (preserving its original `l2Book` options), and escalated to
/// a full WebSocket reconnect after `stale_stream_max_targeted_resubscribes`
/// failed attempts; fresh data resets the ladder. See the Hyperliquid integration
/// guide ("Stream health and recovery") for details.
const RAW_DOC: &'static CStr = /// Configuration for the Hyperliquid data client. /// /// The `stale_stream_*` options control the stream health monitor. With recovery /// enabled, a stale stream is warned about first, targeted-resubscribed once per /// recovery cooldown (preserving its original `l2Book` options), and escalated to /// a full WebSocket reconnect after `stale_stream_max_targeted_resubscribes` /// failed attempts; fresh data resets the ladder. See the Hyperliquid integration /// guide ("Stream health and recovery") for details.
Source§const DOC: &'static CStr
const DOC: &'static CStr
text_signature if a constructor is defined. Read moreSource§type Layout = <<HyperliquidDataClientConfig as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<HyperliquidDataClientConfig>
type Layout = <<HyperliquidDataClientConfig as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<HyperliquidDataClientConfig>
Source§type ThreadChecker = NoopThreadChecker
type ThreadChecker = NoopThreadChecker
type Inventory = Pyo3MethodsInventoryForHyperliquidDataClientConfig
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
PyAny by default, and when you declare
#[pyclass(extends=PyDict)], it’s PyDict.fn items_iter() -> PyClassItemsIter
fn lazy_type_object() -> &'static LazyTypeObject<Self>
§fn dict_offset() -> Option<PyObjectOffset>
fn dict_offset() -> Option<PyObjectOffset>
§fn weaklist_offset() -> Option<PyObjectOffset>
fn weaklist_offset() -> Option<PyObjectOffset>
Source§impl PyClassNewTextSignature for HyperliquidDataClientConfig
impl PyClassNewTextSignature for HyperliquidDataClientConfig
const TEXT_SIGNATURE: &'static str = "(environment=None, private_key=None, base_url_ws=None, base_url_http=None, proxy_url=None, http_timeout_secs=None, ws_timeout_secs=None, update_instruments_interval_mins=None, transport_backend=None, stale_stream_receive_timeout_secs=None, stream_health_check_interval_secs=None, stale_stream_warning_cooldown_secs=None, stale_stream_recovery_enabled=None, stale_stream_recovery_cooldown_secs=None, stale_stream_max_targeted_resubscribes=None)"
Source§impl PyStubType for HyperliquidDataClientConfig
impl PyStubType for HyperliquidDataClientConfig
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
§fn type_input() -> TypeInfo
fn type_input() -> TypeInfo
Source§impl PyTypeInfo for HyperliquidDataClientConfig
impl PyTypeInfo for HyperliquidDataClientConfig
Source§const NAME: &str = <Self as ::pyo3::PyClass>::NAME
const NAME: &str = <Self as ::pyo3::PyClass>::NAME
prefer using ::type_object(py).name() to get the correct runtime value
Source§const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
prefer using ::type_object(py).module() to get the correct runtime value
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
§fn is_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type or a subclass of this type.§fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type.Auto Trait Implementations§
impl Freeze for HyperliquidDataClientConfig
impl RefUnwindSafe for HyperliquidDataClientConfig
impl Send for HyperliquidDataClientConfig
impl Sync for HyperliquidDataClientConfig
impl Unpin for HyperliquidDataClientConfig
impl UnsafeUnpin for HyperliquidDataClientConfig
impl UnwindSafe for HyperliquidDataClientConfig
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<'de, T> BorrowedRpcObject<'de> for Twhere
T: RpcBorrow<'de> + RpcSend,
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<'py, T> FromPyObjectOwned<'py> for Twhere
T: for<'a> FromPyObject<'a, 'py>,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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 Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
self into an owned Python object, dropping type information.§fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
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>
fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
self into a Python object. Read more§impl<'py, T> IntoPyObjectNautilusExt<'py> for Twhere
T: IntoPyObjectExt<'py>,
impl<'py, T> IntoPyObjectNautilusExt<'py> for Twhere
T: IntoPyObjectExt<'py>,
§fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>where
Self: IntoPyObject<'py, Error = !>,
fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>where
Self: IntoPyObject<'py, Error = !>,
self into a [Py<PyAny>] when the underlying conversion is infallible.§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> PyErrArguments for T
impl<T> PyErrArguments for T
§impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
§fn type_check(object: &Bound<'_, PyAny>) -> bool
fn type_check(object: &Bound<'_, PyAny>) -> bool
§fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
isinstance and issubclass function. Read more