Skip to content

Commit 3e55199

Browse files
Pigbibigithub-actions[bot]
authored andcommitted
chore: auto-update QPK_PIN and constraints.txt
1 parent 81b0bd5 commit 3e55199

4 files changed

Lines changed: 111 additions & 7 deletions

File tree

QPK_PIN

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
e895300a8a378d740f4222f162e1e4b0901142f6
1+
81b0bd57bfd8d861546579be6ab4be6d1f74f4be

constraints.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# QSL Dependency Constraints — SINGLE SOURCE OF TRUTH
22
# Auto-updated by update-qpk-pin.yml on every push to QPK main.
33

4-
quant-platform-kit @ git+https://github.com/QuantStrategyLab/QuantPlatformKit.git@d786c1140967f0e96e35599d057f0655e5a9ba25
4+
quant-platform-kit @ git+https://github.com/QuantStrategyLab/QuantPlatformKit.git@81b0bd57bfd8d861546579be6ab4be6d1f74f4be
55
us-equity-strategies @ git+https://github.com/QuantStrategyLab/UsEquityStrategies.git@c8df5f9659340965bd7f53998892ed1018ed4254
66
hk-equity-strategies @ git+https://github.com/QuantStrategyLab/HkEquityStrategies.git@700c8b19c46336d3d8fcba687e58553afcf0235f
7-
cn-equity-strategies @ git+https://github.com/QuantStrategyLab/CnEquityStrategies.git@2e5a8da3af5fa25c1a5e7de6fa00bda488f50440
8-
crypto-strategies @ git+https://github.com/QuantStrategyLab/CryptoStrategies.git@6e0037b625c98ccdb97f225b9772e3c6fff4afd2
7+
cn-equity-strategies @ git+https://github.com/QuantStrategyLab/CnEquityStrategies.git@8326066861ba516d3710bbe74ac2cdc02f82b24c
8+
crypto-strategies @ git+https://github.com/QuantStrategyLab/CryptoStrategies.git@f78399c1def30c695a8f06e5eee15c2077440959

src/quant_platform_kit.egg-info/PKG-INFO

Lines changed: 52 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
Metadata-Version: 2.4
22
Name: quant-platform-kit
3-
Version: 0.7.41
4-
Summary: Shared broker adapters, domain models, execution ports, and notification utilities for QuantStrategyLab strategies.
3+
Version: 0.10.0
4+
Summary: QuantStrategyLab shared runtime: broker adapters, domain models, execution ports, cloud provider abstraction, and notification utilities.
55
Author: QuantStrategyLab
66
License: MIT
7-
Requires-Python: >=3.9
7+
Requires-Python: >=3.10
88
Description-Content-Type: text/markdown
99
License-File: LICENSE
1010
Dynamic: license-file
@@ -42,6 +42,55 @@ python -m pip install -e .
4242
python -m pytest -q
4343
```
4444

45+
## Cloud provider abstraction
46+
47+
QuantPlatformKit includes a cloud provider abstraction layer at `quant_platform_kit.cloud`. It defines protocol interfaces for common cloud services — secret management, object storage, document databases, compute discovery, and deployment context — so that platform code can be written without hard-wiring to a specific cloud provider.
48+
49+
**Supported providers:**
50+
51+
| Provider | Env var | Description |
52+
|----------|---------|-------------|
53+
| **Google Cloud** (default) | `QSL_CLOUD_PROVIDER=gcp` | Uses GCP Secret Manager, Cloud Storage, Firestore — original behavior, no config change needed. |
54+
| **AWS** | `QSL_CLOUD_PROVIDER=aws` | Uses AWS Secrets Manager, S3, DynamoDB — requires boto3 and valid AWS credentials. |
55+
| **Azure** | `QSL_CLOUD_PROVIDER=azure` | Uses Azure Key Vault, Blob Storage, Cosmos DB — requires azure-identity and Azure SDK packages. |
56+
| **Local filesystem** | `QSL_CLOUD_PROVIDER=local` | Reads secrets and stores data under `~/.qsl/`. No cloud credentials required — ideal for development and testing. |
57+
| **Environment variables** | `QSL_CLOUD_PROVIDER=env` | Reads secrets from environment variables; uses local filesystem for object/document storage. Suitable for CI. |
58+
59+
**Usage:**
60+
61+
```python
62+
from quant_platform_kit.cloud import (
63+
get_secret_store, # SecretStore (read-only)
64+
get_secret_store_rw, # SecretStoreReadWrite (for token rotation)
65+
get_object_store, # ObjectStore (GCS, S3, or local)
66+
get_document_store, # DocumentStore (Firestore or JSON files)
67+
get_compute_discovery, # ComputeDiscovery (GCE or env var)
68+
get_deployment_context,# DeploymentContext (Cloud Run or local mock)
69+
)
70+
71+
# Read a secret — works identically with GCP, env var, or ~/.qsl/secrets/
72+
secret = get_secret_store().get_secret("my-api-key")
73+
74+
# Read/write objects — URI format is provider-neutral
75+
data = get_object_store().read_text("gs://bucket/path/to/data.json")
76+
get_object_store().write_text("gs://bucket/path/to/output.json", '{"key": "value"}')
77+
```
78+
79+
To switch provider, set `QSL_CLOUD_PROVIDER` before importing the library:
80+
81+
```bash
82+
export QSL_CLOUD_PROVIDER=local # use ~/.qsl/ for all cloud operations
83+
python your_script.py
84+
```
85+
86+
For token-rotation scenarios (e.g. LongPort or Schwab OAuth refresh), use the read-write store:
87+
88+
```python
89+
from quant_platform_kit.cloud import get_secret_store_rw
90+
rw = get_secret_store_rw()
91+
rw.update_secret("my-token", "new-token-value")
92+
```
93+
4594
## Useful docs
4695

4796
- [`docs/platform_notification_outcomes.md`](docs/platform_notification_outcomes.md)

src/quant_platform_kit.egg-info/SOURCES.txt

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,36 @@ src/quant_platform_kit.egg-info/PKG-INFO
88
src/quant_platform_kit.egg-info/SOURCES.txt
99
src/quant_platform_kit.egg-info/dependency_links.txt
1010
src/quant_platform_kit.egg-info/top_level.txt
11+
src/quant_platform_kit/backtest/__init__.py
12+
src/quant_platform_kit/backtest/config.py
13+
src/quant_platform_kit/backtest/runner.py
1114
src/quant_platform_kit/binance/__init__.py
1215
src/quant_platform_kit/binance/account.py
1316
src/quant_platform_kit/binance/client.py
1417
src/quant_platform_kit/binance/execution.py
1518
src/quant_platform_kit/binance/market_data.py
1619
src/quant_platform_kit/cloud/__init__.py
20+
src/quant_platform_kit/cloud/aws_provider.py
21+
src/quant_platform_kit/cloud/azure_provider.py
1722
src/quant_platform_kit/cloud/env_provider.py
1823
src/quant_platform_kit/cloud/gcp_provider.py
1924
src/quant_platform_kit/cloud/local_provider.py
2025
src/quant_platform_kit/cloud/ports.py
2126
src/quant_platform_kit/common/__init__.py
27+
src/quant_platform_kit/common/artifacts.py
2228
src/quant_platform_kit/common/broker_costs.py
2329
src/quant_platform_kit/common/cash_sweep.py
2430
src/quant_platform_kit/common/cn_equity_calendar.py
31+
src/quant_platform_kit/common/contracts.py
2532
src/quant_platform_kit/common/execution_capabilities.py
2633
src/quant_platform_kit/common/execution_outcomes.py
2734
src/quant_platform_kit/common/execution_state.py
2835
src/quant_platform_kit/common/execution_translation.py
2936
src/quant_platform_kit/common/feature_snapshot.py
3037
src/quant_platform_kit/common/feature_snapshot_runtime.py
38+
src/quant_platform_kit/common/health.py
3139
src/quant_platform_kit/common/history.py
40+
src/quant_platform_kit/common/indicators.py
3241
src/quant_platform_kit/common/market_signal_artifacts.py
3342
src/quant_platform_kit/common/models.py
3443
src/quant_platform_kit/common/notification_localization.py
@@ -46,6 +55,14 @@ src/quant_platform_kit/common/strategies.py
4655
src/quant_platform_kit/common/strategy_contracts.py
4756
src/quant_platform_kit/common/strategy_plugin_artifacts.py
4857
src/quant_platform_kit/common/strategy_plugins.py
58+
src/quant_platform_kit/common/platform_runner/__init__.py
59+
src/quant_platform_kit/common/platform_runner/app.py
60+
src/quant_platform_kit/common/platform_runner/contracts.py
61+
src/quant_platform_kit/common/platform_runner/loader.py
62+
src/quant_platform_kit/common/platform_runner/monitor.py
63+
src/quant_platform_kit/data/__init__.py
64+
src/quant_platform_kit/data/manifest.py
65+
src/quant_platform_kit/data/version.py
4966
src/quant_platform_kit/ibkr/__init__.py
5067
src/quant_platform_kit/ibkr/connection.py
5168
src/quant_platform_kit/ibkr/execution.py
@@ -58,6 +75,10 @@ src/quant_platform_kit/longbridge/execution.py
5875
src/quant_platform_kit/longbridge/market_data.py
5976
src/quant_platform_kit/longbridge/portfolio.py
6077
src/quant_platform_kit/notifications/__init__.py
78+
src/quant_platform_kit/notifications/_email.py
79+
src/quant_platform_kit/notifications/alert_marker.py
80+
src/quant_platform_kit/notifications/channel.py
81+
src/quant_platform_kit/notifications/cycle_channel.py
6182
src/quant_platform_kit/notifications/email.py
6283
src/quant_platform_kit/notifications/events.py
6384
src/quant_platform_kit/notifications/push.py
@@ -67,15 +88,45 @@ src/quant_platform_kit/notifications/strategy_plugin_email.py
6788
src/quant_platform_kit/notifications/strategy_plugin_push.py
6889
src/quant_platform_kit/notifications/strategy_plugin_sms.py
6990
src/quant_platform_kit/notifications/strategy_plugin_telegram.py
91+
src/quant_platform_kit/notifications/strategy_plugin_webhook.py
7092
src/quant_platform_kit/notifications/telegram.py
93+
src/quant_platform_kit/notifications/webhook.py
7194
src/quant_platform_kit/quantconnect/__init__.py
7295
src/quant_platform_kit/quantconnect/client.py
7396
src/quant_platform_kit/quantconnect/models.py
97+
src/quant_platform_kit/risk/__init__.py
98+
src/quant_platform_kit/risk/contracts.py
99+
src/quant_platform_kit/risk/engine.py
74100
src/quant_platform_kit/schwab/__init__.py
75101
src/quant_platform_kit/schwab/auth.py
76102
src/quant_platform_kit/schwab/execution.py
77103
src/quant_platform_kit/schwab/market_data.py
78104
src/quant_platform_kit/schwab/portfolio.py
105+
src/quant_platform_kit/strategy_lifecycle/__init__.py
106+
src/quant_platform_kit/strategy_lifecycle/ai_provider.py
107+
src/quant_platform_kit/strategy_lifecycle/ai_reviewer.py
108+
src/quant_platform_kit/strategy_lifecycle/audit_log.py
109+
src/quant_platform_kit/strategy_lifecycle/backtest_orchestrator.py
110+
src/quant_platform_kit/strategy_lifecycle/backtest_scheduler.py
111+
src/quant_platform_kit/strategy_lifecycle/codex_integration.py
112+
src/quant_platform_kit/strategy_lifecycle/config_writer.py
113+
src/quant_platform_kit/strategy_lifecycle/contracts.py
114+
src/quant_platform_kit/strategy_lifecycle/drift_alerts.py
115+
src/quant_platform_kit/strategy_lifecycle/drift_detector.py
116+
src/quant_platform_kit/strategy_lifecycle/drift_policy.py
117+
src/quant_platform_kit/strategy_lifecycle/health_dashboard.py
118+
src/quant_platform_kit/strategy_lifecycle/market_regime.py
119+
src/quant_platform_kit/strategy_lifecycle/param_optimizer.py
120+
src/quant_platform_kit/strategy_lifecycle/param_search_space.py
121+
src/quant_platform_kit/strategy_lifecycle/performance_metrics.py
122+
src/quant_platform_kit/strategy_lifecycle/performance_monitor.py
123+
src/quant_platform_kit/strategy_lifecycle/performance_store.py
124+
src/quant_platform_kit/strategy_lifecycle/return_collector.py
125+
src/quant_platform_kit/strategy_lifecycle/rollback_manager.py
126+
src/quant_platform_kit/strategy_lifecycle/shadow_validator.py
127+
src/quant_platform_kit/strategy_lifecycle/strategy_health_score.py
128+
src/quant_platform_kit/strategy_lifecycle/update_orchestrator.py
129+
src/quant_platform_kit/strategy_lifecycle/update_policy.py
79130
tests/test_binance_account.py
80131
tests/test_binance_client.py
81132
tests/test_binance_execution.py
@@ -96,6 +147,10 @@ tests/test_ibkr_execution.py
96147
tests/test_ibkr_market_data.py
97148
tests/test_ibkr_portfolio.py
98149
tests/test_ibkr_runtime_inputs.py
150+
tests/test_lifecycle_contracts.py
151+
tests/test_lifecycle_drift.py
152+
tests/test_lifecycle_metrics.py
153+
tests/test_lifecycle_reviewer.py
99154
tests/test_longbridge_auth.py
100155
tests/test_longbridge_execution.py
101156
tests/test_longbridge_market_data.py

0 commit comments

Comments
 (0)