Qubx 1.1.3.dev5__tar.gz → 1.1.3.dev7__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.dev5 → qubx-1.1.3.dev7}/PKG-INFO +3 -1
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/pyproject.toml +4 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/_version.py +2 -2
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/config.py +2 -1
- qubx-1.1.3.dev7/src/qubx/control/__init__.py +17 -0
- qubx-1.1.3.dev7/src/qubx/control/builtin.py +865 -0
- qubx-1.1.3.dev7/src/qubx/control/decorator.py +149 -0
- qubx-1.1.3.dev7/src/qubx/control/executor.py +132 -0
- qubx-1.1.3.dev7/src/qubx/control/interfaces.py +27 -0
- qubx-1.1.3.dev7/src/qubx/control/server.py +152 -0
- qubx-1.1.3.dev7/src/qubx/control/types.py +38 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/context.py +42 -3
- qubx-1.1.3.dev7/src/qubx/health/__init__.py +4 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/runner/runner.py +13 -9
- qubx-1.1.3.dev5/src/qubx/health/__init__.py +0 -5
- qubx-1.1.3.dev5/src/qubx/health/server.py +0 -67
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/.gitignore +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/LICENSE +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/README.md +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/scripts/build.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/_nb_magic.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/backtester/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/backtester/account.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/backtester/broker.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/backtester/data.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/backtester/iteratedstream.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/backtester/management.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/backtester/ome.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/backtester/optimization.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/backtester/runner.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/backtester/sentinels.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/backtester/simulated_data.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/backtester/simulated_exchange.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/backtester/simulator.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/backtester/transfers.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/backtester/utils.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/cli/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/cli/commands.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/cli/deploy.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/cli/misc.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/cli/release.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/cli/resolver.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/cli/s3.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/cli/theme.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/cli/tui.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/cli/user_config.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/account.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/adapters/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/adapters/polling_adapter.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/broker.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/connection_manager.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/data.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/exceptions.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/exchange_manager.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/exchanges/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/exchanges/base.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/exchanges/binance/broker.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/exchanges/binance/exchange.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/exchanges/bitfinex/bitfinex.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/exchanges/bitfinex/bitfinex_account.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/exchanges/gateio/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/exchanges/gateio/gateio.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/exchanges/hyperliquid/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/exchanges/hyperliquid/account.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/exchanges/hyperliquid/broker.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/exchanges/hyperliquid/hyperliquid.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/exchanges/kraken/kraken.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/exchanges/okx/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/exchanges/okx/account.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/exchanges/okx/broker.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/exchanges/okx/okx.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/factory.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/handlers/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/handlers/base.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/handlers/factory.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/handlers/funding_rate.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/handlers/liquidation.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/handlers/ohlc.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/handlers/open_interest.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/handlers/orderbook.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/handlers/quote.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/handlers/trade.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/subscription_config.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/subscription_manager.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/subscription_orchestrator.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/utils.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/ccxt/warmup_service.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/registry.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/tardis/data.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/connectors/tardis/utils.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/account.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/basics.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/detectors/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/detectors/delisting.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/detectors/stale.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/errors.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/exceptions.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/helpers.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/initializer.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/interfaces.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/loggers.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/lookups.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/metrics.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/mixins/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/mixins/market.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/mixins/processing.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/mixins/subscription.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/mixins/trading.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/mixins/universe.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/mixins/utils.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/series.pxd +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/series.pyi +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/series.pyx +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/utils.pyi +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/core/utils.pyx +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/data/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/data/cache.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/data/containers.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/data/guards.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/data/registry.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/data/storage.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/data/storages/ccxt.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/data/storages/csv.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/data/storages/handy.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/data/storages/multi.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/data/storages/questdb.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/data/storages/stub.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/data/storages/utils.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/data/transformers.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/emitters/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/emitters/base.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/emitters/composite.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/emitters/csv.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/emitters/indicator.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/emitters/inmemory.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/emitters/prometheus.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/emitters/questdb.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/exporters/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/exporters/composite.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/exporters/formatters/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/exporters/formatters/base.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/exporters/formatters/incremental.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/exporters/formatters/slack.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/exporters/formatters/target_position.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/exporters/redis_streams.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/exporters/slack.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/gathering/simplest.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/health/base.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/health/dummy.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/loggers/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/loggers/csv.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/loggers/factory.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/loggers/inmemory.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/loggers/mongo.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/loggers/postgres.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/notifications/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/notifications/composite.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/notifications/slack.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/notifications/throttler.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/pandaz/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/pandaz/stats.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/pandaz/ta.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/pandaz/utils.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/plugins/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/plugins/loader.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/resources/_build.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/resources/crypto-fees.ini +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/resources/instruments/hyperliquid-spot.json +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/resources/instruments/hyperliquid.f-perpetual.json +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/resources/instruments/symbols-binance-spot.json +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/resources/instruments/symbols-binance.cm-future.json +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/resources/instruments/symbols-binance.cm-perpetual.json +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/resources/instruments/symbols-binance.um-future.json +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/resources/instruments/symbols-binance.um-perpetual.json +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/resources/instruments/symbols-bitfinex.f-perpetual.json +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/resources/instruments/symbols-kraken-spot.json +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/resources/instruments/symbols-kraken.f-future.json +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/resources/instruments/symbols-kraken.f-perpetual.json +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/restarts/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/restarts/state_resolvers.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/restarts/time_finders.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/restorers/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/restorers/balance.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/restorers/factory.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/restorers/interfaces.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/restorers/position.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/restorers/signal.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/restorers/state.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/restorers/utils.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/state/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/state/dummy.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/state/redis.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/ta/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/ta/indicators.pxd +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/ta/indicators.pyi +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/ta/indicators.pyx +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/base.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/project/accounts.toml.j2 +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/project/config.yml.j2 +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/project/jlive.sh.j2 +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/project/jpaper.sh.j2 +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/project/pyproject.toml.j2 +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/project/src/{{ strategy_name }}/__init__.py.j2 +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/project/src/{{ strategy_name }}/strategy.py.j2 +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/project/template.yml +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/repo/.claude/skills/qubx-cli/SKILL.md +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/repo/.claude/skills/qubx-indicators/SKILL.md +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/repo/.claude/skills/simulation-explorer/SKILL.md +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/repo/.claude/skills/strategy-release/SKILL.md +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/repo/.github/workflows/ci.yml.j2 +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/repo/.gitignore.j2 +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/repo/.python-version +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/repo/.vscode/launch.json +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/repo/.vscode/settings.json +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/repo/.vscode/tasks.json +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/repo/CLAUDE.md.j2 +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/repo/README.md.j2 +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/repo/configs/.gitkeep +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/repo/justfile.j2 +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/repo/pyproject.toml.j2 +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/repo/research/.gitkeep +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/repo/src/{{ strategy_name }}/__init__.py.j2 +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/repo/src/{{ strategy_name }}/cli.py.j2 +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/repo/src/{{ strategy_name }}/strategy.py.j2 +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/repo/template.yml +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/repo/tests/test_strategy.py.j2 +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/simple/__init__.py.j2 +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/simple/accounts.toml.j2 +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/simple/config.yml.j2 +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/simple/jlive.sh.j2 +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/simple/jpaper.sh.j2 +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/simple/strategy.py.j2 +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/templates/simple/template.yml +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/trackers/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/trackers/advanced.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/trackers/composite.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/trackers/rebalancers.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/trackers/riskctrl.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/trackers/sizers.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/_pyxreloader.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/charting/lookinglass.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/charting/mpl_helpers.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/charting/orderbook.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/collections.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/hft/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/hft/numba_utils.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/hft/orderbook.pyi +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/hft/orderbook.pyx +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/marketdata/binance.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/marketdata/ccxt.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/marketdata/dukas.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/misc.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/nonce.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/ntp.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/numbers_utils.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/orderbook.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/plotting/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/plotting/dashboard.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/plotting/data.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/plotting/interfaces.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/plotting/renderers/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/plotting/renderers/plotly.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/questdb.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/rate_limiter.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/results.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/ringbuffer.pxd +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/ringbuffer.pyi +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/ringbuffer.pyx +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/runner/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/runner/_jupyter_runner.pyt +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/runner/accounts.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/runner/configs.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/runner/factory.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/runner/kernel_service.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/runner/textual/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/runner/textual/app.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/runner/textual/handlers.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/runner/textual/init_code.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/runner/textual/kernel.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/runner/textual/styles.tcss +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/runner/textual/widgets/__init__.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/runner/textual/widgets/account_summary.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/runner/textual/widgets/command_input.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/runner/textual/widgets/debug_log.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/runner/textual/widgets/orders_table.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/runner/textual/widgets/positions_table.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/runner/textual/widgets/quotes_table.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/runner/textual/widgets/repl_output.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/s3.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/slack.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/throttler.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/time.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/src/qubx/utils/websocket_manager.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/tests/strategies/macd_crossover/src/macd_crossover/indicators/macd.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/tests/strategies/macd_crossover/src/macd_crossover/models/macd_crossover.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/tests/strategies/macd_crossover/src/macd_crossover/models/utils.py +0 -0
- {qubx-1.1.3.dev5 → qubx-1.1.3.dev7}/tests/strategies/obi_trader/src/obi_trader/models/obi_trader.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: Qubx
|
|
3
|
-
Version: 1.1.3.
|
|
3
|
+
Version: 1.1.3.dev7
|
|
4
4
|
Summary: Qubx - Quantitative Trading Framework
|
|
5
5
|
Project-URL: homepage, https://xlydian.com
|
|
6
6
|
Project-URL: repository, https://github.com/xLydianSoftware/Qubx
|
|
@@ -12,6 +12,7 @@ Requires-Dist: aiohttp<3.11,>=3.10.11
|
|
|
12
12
|
Requires-Dist: click<9,>=8.1.7
|
|
13
13
|
Requires-Dist: croniter<3,>=2.0.5
|
|
14
14
|
Requires-Dist: duckdb>=1.0.0
|
|
15
|
+
Requires-Dist: fastapi<1,>=0.115.0
|
|
15
16
|
Requires-Dist: gitpython<4,>=3.1.44
|
|
16
17
|
Requires-Dist: importlib-metadata
|
|
17
18
|
Requires-Dist: ipykernel<7,>=6.29.0
|
|
@@ -49,6 +50,7 @@ Requires-Dist: textual-serve<2,>=1.0.0
|
|
|
49
50
|
Requires-Dist: textual[syntax]<7,>=6.0.0
|
|
50
51
|
Requires-Dist: toml<1,>=0.10.2
|
|
51
52
|
Requires-Dist: tqdm<5,>=4.66.0
|
|
53
|
+
Requires-Dist: uvicorn<1,>=0.34.0
|
|
52
54
|
Requires-Dist: uvloop<1,>=0.22.1; sys_platform != 'win32'
|
|
53
55
|
Requires-Dist: websockets==15.0.1
|
|
54
56
|
Provides-Extra: binance
|
|
@@ -36,6 +36,9 @@ dependencies = [
|
|
|
36
36
|
"aiohttp>=3.10.11,<3.11",
|
|
37
37
|
"websockets==15.0.1",
|
|
38
38
|
"uvloop>=0.22.1,<1; sys_platform != 'win32'",
|
|
39
|
+
# Control server
|
|
40
|
+
"fastapi>=0.115.0,<1",
|
|
41
|
+
"uvicorn>=0.34.0,<1",
|
|
39
42
|
# Utilities
|
|
40
43
|
"importlib-metadata",
|
|
41
44
|
"croniter>=2.0.5,<3",
|
|
@@ -145,6 +148,7 @@ dev = [
|
|
|
145
148
|
# Testing
|
|
146
149
|
"pytest>=8.2.0,<9",
|
|
147
150
|
"pytest-asyncio>=0.24.0,<1",
|
|
151
|
+
"httpx>=0.27.0,<1",
|
|
148
152
|
"pytest-mock>=3.12.0,<4",
|
|
149
153
|
"pytest-lazy-fixture>=0.6.3,<1",
|
|
150
154
|
"pytest-cov>=4.1.0,<5",
|
|
@@ -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.dev7'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 1, 3, 'dev7')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -91,7 +91,8 @@ class QubxSettings(BaseSettings):
|
|
|
91
91
|
bot_id: str | None = None
|
|
92
92
|
instance_id: str | None = None
|
|
93
93
|
metrics_port: int | None = None
|
|
94
|
-
|
|
94
|
+
control_port: int | None = None
|
|
95
|
+
health_port: int | None = None # deprecated: use control_port
|
|
95
96
|
log_format: str = "text" # "text" or "json"
|
|
96
97
|
default_browse_path: str | None = None
|
|
97
98
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from .decorator import action, collect_actions, collect_state, execute_decorated_action, state
|
|
2
|
+
from .interfaces import IControllable
|
|
3
|
+
from .server import ControlServer
|
|
4
|
+
from .types import ActionDef, ActionParam, ActionResult
|
|
5
|
+
|
|
6
|
+
__all__ = [
|
|
7
|
+
"IControllable",
|
|
8
|
+
"ActionDef",
|
|
9
|
+
"ActionParam",
|
|
10
|
+
"ActionResult",
|
|
11
|
+
"ControlServer",
|
|
12
|
+
"action",
|
|
13
|
+
"state",
|
|
14
|
+
"collect_actions",
|
|
15
|
+
"collect_state",
|
|
16
|
+
"execute_decorated_action",
|
|
17
|
+
]
|