Qubx 1.1.3.dev8__tar.gz → 1.1.3.dev9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/PKG-INFO +1 -1
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/_version.py +2 -2
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/control/__init__.py +2 -1
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/control/builtin.py +10 -1
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/control/decorator.py +13 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/.gitignore +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/LICENSE +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/README.md +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/pyproject.toml +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/scripts/build.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/_nb_magic.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/backtester/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/backtester/account.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/backtester/broker.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/backtester/data.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/backtester/iteratedstream.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/backtester/management.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/backtester/ome.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/backtester/optimization.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/backtester/runner.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/backtester/sentinels.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/backtester/simulated_data.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/backtester/simulated_exchange.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/backtester/simulator.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/backtester/transfers.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/backtester/utils.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/cli/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/cli/commands.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/cli/deploy.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/cli/misc.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/cli/release.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/cli/resolver.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/cli/s3.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/cli/theme.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/cli/tui.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/cli/user_config.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/config.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/account.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/adapters/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/adapters/polling_adapter.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/broker.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/connection_manager.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/data.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exceptions.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exchange_manager.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exchanges/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exchanges/base.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exchanges/binance/broker.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exchanges/binance/exchange.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exchanges/bitfinex/bitfinex.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exchanges/bitfinex/bitfinex_account.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exchanges/gateio/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exchanges/gateio/gateio.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exchanges/hyperliquid/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exchanges/hyperliquid/account.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exchanges/hyperliquid/broker.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exchanges/hyperliquid/hyperliquid.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exchanges/kraken/kraken.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exchanges/okx/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exchanges/okx/account.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exchanges/okx/broker.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exchanges/okx/okx.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/factory.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/handlers/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/handlers/base.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/handlers/factory.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/handlers/funding_rate.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/handlers/liquidation.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/handlers/ohlc.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/handlers/open_interest.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/handlers/orderbook.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/handlers/quote.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/handlers/trade.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/subscription_config.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/subscription_manager.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/subscription_orchestrator.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/utils.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/warmup_service.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/registry.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/tardis/data.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/tardis/utils.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/control/executor.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/control/interfaces.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/control/server.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/control/types.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/account.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/basics.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/context.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/detectors/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/detectors/delisting.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/detectors/stale.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/errors.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/exceptions.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/helpers.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/initializer.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/interfaces.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/loggers.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/lookups.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/metrics.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/mixins/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/mixins/market.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/mixins/processing.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/mixins/subscription.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/mixins/trading.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/mixins/universe.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/mixins/utils.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/series.pxd +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/series.pyi +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/series.pyx +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/utils.pyi +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/core/utils.pyx +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/data/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/data/cache.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/data/containers.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/data/guards.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/data/registry.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/data/storage.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/data/storages/ccxt.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/data/storages/csv.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/data/storages/handy.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/data/storages/multi.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/data/storages/questdb.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/data/storages/stub.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/data/storages/utils.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/data/transformers.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/emitters/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/emitters/base.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/emitters/composite.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/emitters/csv.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/emitters/indicator.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/emitters/inmemory.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/emitters/prometheus.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/emitters/questdb.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/exporters/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/exporters/composite.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/exporters/formatters/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/exporters/formatters/base.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/exporters/formatters/incremental.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/exporters/formatters/slack.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/exporters/formatters/target_position.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/exporters/redis_streams.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/exporters/slack.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/gathering/simplest.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/health/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/health/base.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/health/dummy.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/loggers/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/loggers/csv.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/loggers/factory.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/loggers/inmemory.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/loggers/mongo.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/loggers/postgres.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/notifications/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/notifications/composite.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/notifications/slack.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/notifications/throttler.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/pandaz/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/pandaz/stats.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/pandaz/ta.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/pandaz/utils.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/plugins/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/plugins/loader.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/resources/_build.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/resources/crypto-fees.ini +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/resources/instruments/hyperliquid-spot.json +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/resources/instruments/hyperliquid.f-perpetual.json +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/resources/instruments/symbols-binance-spot.json +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/resources/instruments/symbols-binance.cm-future.json +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/resources/instruments/symbols-binance.cm-perpetual.json +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/resources/instruments/symbols-binance.um-future.json +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/resources/instruments/symbols-binance.um-perpetual.json +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/resources/instruments/symbols-bitfinex.f-perpetual.json +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/resources/instruments/symbols-kraken-spot.json +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/resources/instruments/symbols-kraken.f-future.json +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/resources/instruments/symbols-kraken.f-perpetual.json +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/restarts/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/restarts/state_resolvers.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/restarts/time_finders.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/restorers/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/restorers/balance.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/restorers/factory.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/restorers/interfaces.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/restorers/position.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/restorers/signal.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/restorers/state.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/restorers/utils.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/state/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/state/dummy.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/state/redis.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/ta/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/ta/indicators.pxd +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/ta/indicators.pyi +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/ta/indicators.pyx +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/base.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/project/accounts.toml.j2 +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/project/config.yml.j2 +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/project/jlive.sh.j2 +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/project/jpaper.sh.j2 +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/project/pyproject.toml.j2 +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/project/src/{{ strategy_name }}/__init__.py.j2 +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/project/src/{{ strategy_name }}/strategy.py.j2 +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/project/template.yml +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/repo/.claude/skills/qubx-cli/SKILL.md +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/repo/.claude/skills/qubx-indicators/SKILL.md +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/repo/.claude/skills/simulation-explorer/SKILL.md +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/repo/.claude/skills/strategy-release/SKILL.md +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/repo/.github/workflows/ci.yml.j2 +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/repo/.gitignore.j2 +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/repo/.python-version +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/repo/.vscode/launch.json +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/repo/.vscode/settings.json +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/repo/.vscode/tasks.json +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/repo/CLAUDE.md.j2 +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/repo/README.md.j2 +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/repo/configs/.gitkeep +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/repo/justfile.j2 +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/repo/pyproject.toml.j2 +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/repo/research/.gitkeep +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/repo/src/{{ strategy_name }}/__init__.py.j2 +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/repo/src/{{ strategy_name }}/cli.py.j2 +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/repo/src/{{ strategy_name }}/strategy.py.j2 +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/repo/template.yml +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/repo/tests/test_strategy.py.j2 +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/simple/__init__.py.j2 +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/simple/accounts.toml.j2 +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/simple/config.yml.j2 +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/simple/jlive.sh.j2 +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/simple/jpaper.sh.j2 +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/simple/strategy.py.j2 +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/templates/simple/template.yml +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/trackers/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/trackers/advanced.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/trackers/composite.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/trackers/rebalancers.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/trackers/riskctrl.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/trackers/sizers.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/_pyxreloader.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/charting/lookinglass.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/charting/mpl_helpers.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/charting/orderbook.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/collections.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/hft/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/hft/numba_utils.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/hft/orderbook.pyi +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/hft/orderbook.pyx +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/marketdata/binance.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/marketdata/ccxt.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/marketdata/dukas.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/misc.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/nonce.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/ntp.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/numbers_utils.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/orderbook.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/plotting/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/plotting/dashboard.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/plotting/data.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/plotting/interfaces.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/plotting/renderers/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/plotting/renderers/plotly.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/questdb.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/rate_limiter.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/results.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/ringbuffer.pxd +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/ringbuffer.pyi +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/ringbuffer.pyx +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/runner/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/runner/_jupyter_runner.pyt +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/runner/accounts.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/runner/configs.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/runner/factory.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/runner/kernel_service.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/runner/runner.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/runner/textual/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/runner/textual/app.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/runner/textual/handlers.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/runner/textual/init_code.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/runner/textual/kernel.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/runner/textual/styles.tcss +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/runner/textual/widgets/__init__.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/runner/textual/widgets/account_summary.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/runner/textual/widgets/command_input.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/runner/textual/widgets/debug_log.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/runner/textual/widgets/orders_table.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/runner/textual/widgets/positions_table.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/runner/textual/widgets/quotes_table.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/runner/textual/widgets/repl_output.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/s3.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/slack.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/throttler.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/time.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/utils/websocket_manager.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/tests/strategies/macd_crossover/src/macd_crossover/indicators/macd.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/tests/strategies/macd_crossover/src/macd_crossover/models/macd_crossover.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/tests/strategies/macd_crossover/src/macd_crossover/models/utils.py +0 -0
- {qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/tests/strategies/obi_trader/src/obi_trader/models/obi_trader.py +0 -0
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '1.1.3.
|
|
22
|
-
__version_tuple__ = version_tuple = (1, 1, 3, '
|
|
21
|
+
__version__ = version = '1.1.3.dev9'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 1, 3, 'dev9')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from .decorator import action, collect_actions, collect_state, execute_decorated_action, state
|
|
1
|
+
from .decorator import action, collect_actions, collect_state, collect_state_schema, execute_decorated_action, state
|
|
2
2
|
from .interfaces import IControllable
|
|
3
3
|
from .server import ControlServer
|
|
4
4
|
from .types import ActionDef, ActionParam, ActionResult
|
|
@@ -13,5 +13,6 @@ __all__ = [
|
|
|
13
13
|
"state",
|
|
14
14
|
"collect_actions",
|
|
15
15
|
"collect_state",
|
|
16
|
+
"collect_state_schema",
|
|
16
17
|
"execute_decorated_action",
|
|
17
18
|
]
|
|
@@ -11,7 +11,7 @@ from qubx.core.basics import Instrument, MarketType, Signal
|
|
|
11
11
|
from qubx.core.lookups import lookup
|
|
12
12
|
from qubx.utils.time import to_timedelta, to_timestamp
|
|
13
13
|
|
|
14
|
-
from .decorator import collect_state
|
|
14
|
+
from .decorator import collect_state, collect_state_schema
|
|
15
15
|
from .types import ActionDef, ActionParam, ActionResult
|
|
16
16
|
|
|
17
17
|
if TYPE_CHECKING:
|
|
@@ -512,6 +512,11 @@ def _get_health(ctx: IStrategyContext, **kwargs) -> ActionResult:
|
|
|
512
512
|
)
|
|
513
513
|
|
|
514
514
|
|
|
515
|
+
def _get_state_schema(ctx: IStrategyContext, **kwargs) -> ActionResult:
|
|
516
|
+
schema = collect_state_schema(ctx.strategy)
|
|
517
|
+
return ActionResult(status="ok", data={"fields": schema})
|
|
518
|
+
|
|
519
|
+
|
|
515
520
|
# --- Trading actions ---
|
|
516
521
|
|
|
517
522
|
|
|
@@ -762,6 +767,10 @@ BUILTIN_ACTIONS: dict[str, tuple[ActionDef, Callable]] = {
|
|
|
762
767
|
ActionDef(name="get_health", description="Get health metrics: connectivity, queue size, data latencies", category="diagnostics", read_only=True),
|
|
763
768
|
_get_health,
|
|
764
769
|
),
|
|
770
|
+
"get_state_schema": (
|
|
771
|
+
ActionDef(name="get_state_schema", description="Get descriptions of custom state fields returned by get_state", category="diagnostics", read_only=True),
|
|
772
|
+
_get_state_schema,
|
|
773
|
+
),
|
|
765
774
|
"get_total_capital": (
|
|
766
775
|
ActionDef(name="get_total_capital", description="Get total capital across all exchanges", category="diagnostics", read_only=True),
|
|
767
776
|
_get_total_capital,
|
|
@@ -118,6 +118,19 @@ def collect_state(strategy: Any, ctx: Any) -> dict:
|
|
|
118
118
|
return result
|
|
119
119
|
|
|
120
120
|
|
|
121
|
+
def collect_state_schema(strategy: Any) -> dict[str, str]:
|
|
122
|
+
"""Scan a strategy instance for @state-decorated methods and return their descriptions."""
|
|
123
|
+
schema = {}
|
|
124
|
+
for attr_name in dir(strategy):
|
|
125
|
+
try:
|
|
126
|
+
attr = getattr(strategy, attr_name, None)
|
|
127
|
+
except Exception:
|
|
128
|
+
continue
|
|
129
|
+
if callable(attr) and hasattr(attr, "__state__"):
|
|
130
|
+
schema[attr.__name__] = attr.__state__
|
|
131
|
+
return schema
|
|
132
|
+
|
|
133
|
+
|
|
121
134
|
def collect_actions(strategy: Any) -> list[ActionDef]:
|
|
122
135
|
"""Scan a strategy instance for @action-decorated methods."""
|
|
123
136
|
actions = []
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exchanges/bitfinex/bitfinex_account.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exchanges/hyperliquid/__init__.py
RENAMED
|
File without changes
|
{qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exchanges/hyperliquid/account.py
RENAMED
|
File without changes
|
{qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exchanges/hyperliquid/broker.py
RENAMED
|
File without changes
|
{qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/connectors/ccxt/exchanges/hyperliquid/hyperliquid.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/resources/instruments/hyperliquid.f-perpetual.json
RENAMED
|
File without changes
|
{qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/resources/instruments/symbols-binance-spot.json
RENAMED
|
File without changes
|
{qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/resources/instruments/symbols-binance.cm-future.json
RENAMED
|
File without changes
|
{qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/resources/instruments/symbols-binance.cm-perpetual.json
RENAMED
|
File without changes
|
{qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/resources/instruments/symbols-binance.um-future.json
RENAMED
|
File without changes
|
{qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/resources/instruments/symbols-binance.um-perpetual.json
RENAMED
|
File without changes
|
{qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/resources/instruments/symbols-bitfinex.f-perpetual.json
RENAMED
|
File without changes
|
|
File without changes
|
{qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/resources/instruments/symbols-kraken.f-future.json
RENAMED
|
File without changes
|
{qubx-1.1.3.dev8 → qubx-1.1.3.dev9}/src/qubx/resources/instruments/symbols-kraken.f-perpetual.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|