hyper-sentinel 2.0.0__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.
- hyper_sentinel-2.0.0/PKG-INFO +163 -0
- hyper_sentinel-2.0.0/README.md +129 -0
- hyper_sentinel-2.0.0/pyproject.toml +61 -0
- hyper_sentinel-2.0.0/setup.cfg +4 -0
- hyper_sentinel-2.0.0/src/hyper_sentinel.egg-info/PKG-INFO +163 -0
- hyper_sentinel-2.0.0/src/hyper_sentinel.egg-info/SOURCES.txt +13 -0
- hyper_sentinel-2.0.0/src/hyper_sentinel.egg-info/dependency_links.txt +1 -0
- hyper_sentinel-2.0.0/src/hyper_sentinel.egg-info/requires.txt +11 -0
- hyper_sentinel-2.0.0/src/hyper_sentinel.egg-info/top_level.txt +1 -0
- hyper_sentinel-2.0.0/src/sentinel/__init__.py +32 -0
- hyper_sentinel-2.0.0/src/sentinel/client.py +954 -0
- hyper_sentinel-2.0.0/src/sentinel/exceptions.py +40 -0
- hyper_sentinel-2.0.0/src/sentinel/py.typed +0 -0
- hyper_sentinel-2.0.0/tests/test_client.py +213 -0
- hyper_sentinel-2.0.0/tests/test_integration.py +119 -0
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: hyper-sentinel
|
|
3
|
+
Version: 2.0.0
|
|
4
|
+
Summary: Python SDK for Sentinel — 80+ crypto trading, AI, and market intelligence tools. Free access, usage-based fees.
|
|
5
|
+
Author-email: Sentinel Labs <dev@hyper-sentinel.com>
|
|
6
|
+
License-Expression: AGPL-3.0-only
|
|
7
|
+
Project-URL: Homepage, https://hyper-sentinel.com
|
|
8
|
+
Project-URL: Documentation, https://hyper-sentinel.com/docs
|
|
9
|
+
Project-URL: Repository, https://github.com/hyper-sentinel/sentinel-sdk
|
|
10
|
+
Project-URL: Issues, https://github.com/hyper-sentinel/sentinel-sdk/issues
|
|
11
|
+
Keywords: crypto,trading,ai,defi,hyperliquid,aster,polymarket,sentinel
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: Intended Audience :: Financial and Insurance Industry
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
+
Classifier: Topic :: Office/Business :: Financial :: Investment
|
|
21
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
22
|
+
Classifier: Typing :: Typed
|
|
23
|
+
Requires-Python: >=3.10
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
Requires-Dist: httpx>=0.27.0
|
|
26
|
+
Provides-Extra: async
|
|
27
|
+
Requires-Dist: httpx[http2]; extra == "async"
|
|
28
|
+
Provides-Extra: dev
|
|
29
|
+
Requires-Dist: pytest>=8.0; extra == "dev"
|
|
30
|
+
Requires-Dist: pytest-asyncio>=0.23; extra == "dev"
|
|
31
|
+
Requires-Dist: ruff>=0.4; extra == "dev"
|
|
32
|
+
Requires-Dist: build; extra == "dev"
|
|
33
|
+
Requires-Dist: twine; extra == "dev"
|
|
34
|
+
|
|
35
|
+
# Hyper-Sentinel SDK
|
|
36
|
+
|
|
37
|
+
Python SDK for the Sentinel API — 80+ tools for crypto trading, market intelligence, and AI analysis.
|
|
38
|
+
|
|
39
|
+
> **Install:** `pip install hyper-sentinel` or `uv add hyper-sentinel`
|
|
40
|
+
|
|
41
|
+
## Key Points
|
|
42
|
+
|
|
43
|
+
- **Full access on free tier** — trading, LLM, data, wallets, everything
|
|
44
|
+
- **Revenue from fees, not paywalls** — upgrade to Pro/Enterprise for lower rates
|
|
45
|
+
- **4 trading venues** — HyperLiquid, Aster DEX, Polymarket, Jupiter
|
|
46
|
+
- **17 AI models** — Claude, GPT-4o, Gemini, Grok (bring your own key)
|
|
47
|
+
|
|
48
|
+
## Install
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# pip (Mac / Windows PowerShell / Linux)
|
|
52
|
+
pip install hyper-sentinel
|
|
53
|
+
|
|
54
|
+
# uv (recommended)
|
|
55
|
+
uv add hyper-sentinel
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Quick Start
|
|
59
|
+
|
|
60
|
+
```python
|
|
61
|
+
from sentinel import SentinelClient
|
|
62
|
+
|
|
63
|
+
client = SentinelClient()
|
|
64
|
+
|
|
65
|
+
# Register (first time)
|
|
66
|
+
client.register(email="you@example.com", password="pass123", name="Your Name")
|
|
67
|
+
|
|
68
|
+
# Generate an API key (save this!)
|
|
69
|
+
key = client.generate_key(name="my-key")
|
|
70
|
+
print(f"API Key: {key['api_key']}")
|
|
71
|
+
|
|
72
|
+
# Market data
|
|
73
|
+
btc = client.get_crypto_price("bitcoin")
|
|
74
|
+
print(f"BTC: ${btc['price']:,.2f}")
|
|
75
|
+
|
|
76
|
+
# AI chat (bring your own key)
|
|
77
|
+
resp = client.chat(
|
|
78
|
+
"Analyze BTC market structure",
|
|
79
|
+
ai_key="sk-ant-your-anthropic-key",
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
# Trading (all tiers — fees apply)
|
|
83
|
+
client.place_hl_order(coin="ETH", side="buy", size=0.1)
|
|
84
|
+
|
|
85
|
+
# DEX Trading — on-chain swaps
|
|
86
|
+
client.dex_buy_sol(contract_address="CA_ADDRESS", amount_sol=0.5)
|
|
87
|
+
|
|
88
|
+
# Check billing
|
|
89
|
+
print(client.billing_status())
|
|
90
|
+
|
|
91
|
+
# Upgrade to lower your fees
|
|
92
|
+
url = client.upgrade("pro") # $100/mo
|
|
93
|
+
url = client.upgrade("enterprise") # $1,000/mo
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Returning Users
|
|
97
|
+
|
|
98
|
+
```python
|
|
99
|
+
client = SentinelClient()
|
|
100
|
+
client.login(email="you@example.com", password="pass123")
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Tiers (Fee-Discount Model)
|
|
104
|
+
|
|
105
|
+
| | **Free** | **Pro** ($100/mo) | **Enterprise** ($1K/mo) |
|
|
106
|
+
|---|---|---|---|
|
|
107
|
+
| Access | Everything | Everything | Everything |
|
|
108
|
+
| LLM markup | 40% | 20% | 10% |
|
|
109
|
+
| Trade maker fee | 0.10% | 0.06% | 0.02% |
|
|
110
|
+
| Trade taker fee | 0.07% | 0.04% | 0.01% |
|
|
111
|
+
| Rate limit | 300/min | 1,000/min | Unlimited |
|
|
112
|
+
| Monthly limit | None | None | None |
|
|
113
|
+
|
|
114
|
+
Pro pays for itself at ~$10K/day trading volume.
|
|
115
|
+
|
|
116
|
+
## Available Tools (80+)
|
|
117
|
+
|
|
118
|
+
| Category | Examples | Tier |
|
|
119
|
+
|----------|---------|------|
|
|
120
|
+
| Crypto | `get_crypto_price`, `get_crypto_top_n`, `search_crypto` | All |
|
|
121
|
+
| Macro | `get_fred_series`, `get_economic_dashboard` | All |
|
|
122
|
+
| News | `get_news_sentiment`, `get_intelligence_reports` | All |
|
|
123
|
+
| Social | `get_trending_tokens`, `get_top_mentions`, `get_trending_narratives` | All |
|
|
124
|
+
| X / Twitter | `search_x` | All |
|
|
125
|
+
| DexScreener | `dexscreener_search`, `dexscreener_trending`, `dexscreener_token` | All |
|
|
126
|
+
| Stocks | `get_stock_price`, `get_stock_info`, `get_analyst_recs` | All |
|
|
127
|
+
| Hyperliquid | `get_hl_orderbook`, `place_hl_order`, `get_hl_positions` | All |
|
|
128
|
+
| Aster DEX | `aster_ticker`, `aster_place_order`, `aster_positions` | All |
|
|
129
|
+
| Polymarket | `search_polymarket`, `buy_polymarket`, `get_polymarket_positions` | All |
|
|
130
|
+
| DEX Swaps | `dex_buy_sol`, `dex_buy_eth`, `dex_sell_sol`, `dex_sell_eth` | All |
|
|
131
|
+
| Wallets | `generate_wallet`, `import_wallet`, `get_wallet_balance`, `send_crypto` | All |
|
|
132
|
+
| Telegram | `tg_read_channel`, `tg_send_message` | All |
|
|
133
|
+
| Discord | `discord_read_channel`, `discord_send_message` | All |
|
|
134
|
+
| AI Chat | `chat` (Anthropic, OpenAI, Google, xAI) | All |
|
|
135
|
+
| Algos | `list_algos`, `set_strategy`, `start_strategy` | All |
|
|
136
|
+
| Trade Journal | `get_trade_journal`, `get_trade_stats` | All |
|
|
137
|
+
| TradingView | `get_tv_alerts` | All |
|
|
138
|
+
|
|
139
|
+
## Error Handling
|
|
140
|
+
|
|
141
|
+
```python
|
|
142
|
+
from sentinel import SentinelClient, AuthError, RateLimitError
|
|
143
|
+
|
|
144
|
+
try:
|
|
145
|
+
client.place_hl_order(coin="ETH", side="buy", size=0.1)
|
|
146
|
+
except RateLimitError as e:
|
|
147
|
+
print(f"Rate limited — {e.remaining} left of {e.limit_per_min}/min ({e.tier} tier)")
|
|
148
|
+
print(f"Retry after {e.retry_after}s")
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Architecture
|
|
152
|
+
|
|
153
|
+
```
|
|
154
|
+
Your App -> sentinel-sdk (Python)
|
|
155
|
+
| HTTPS
|
|
156
|
+
Sentinel Go Gateway (Cloud Run)
|
|
157
|
+
| gRPC/HTTP
|
|
158
|
+
Python Engine (FastAPI) — tools, LLM, algo execution
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## License
|
|
162
|
+
|
|
163
|
+
AGPL-3.0 — Sentinel Labs
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Hyper-Sentinel SDK
|
|
2
|
+
|
|
3
|
+
Python SDK for the Sentinel API — 80+ tools for crypto trading, market intelligence, and AI analysis.
|
|
4
|
+
|
|
5
|
+
> **Install:** `pip install hyper-sentinel` or `uv add hyper-sentinel`
|
|
6
|
+
|
|
7
|
+
## Key Points
|
|
8
|
+
|
|
9
|
+
- **Full access on free tier** — trading, LLM, data, wallets, everything
|
|
10
|
+
- **Revenue from fees, not paywalls** — upgrade to Pro/Enterprise for lower rates
|
|
11
|
+
- **4 trading venues** — HyperLiquid, Aster DEX, Polymarket, Jupiter
|
|
12
|
+
- **17 AI models** — Claude, GPT-4o, Gemini, Grok (bring your own key)
|
|
13
|
+
|
|
14
|
+
## Install
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# pip (Mac / Windows PowerShell / Linux)
|
|
18
|
+
pip install hyper-sentinel
|
|
19
|
+
|
|
20
|
+
# uv (recommended)
|
|
21
|
+
uv add hyper-sentinel
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Quick Start
|
|
25
|
+
|
|
26
|
+
```python
|
|
27
|
+
from sentinel import SentinelClient
|
|
28
|
+
|
|
29
|
+
client = SentinelClient()
|
|
30
|
+
|
|
31
|
+
# Register (first time)
|
|
32
|
+
client.register(email="you@example.com", password="pass123", name="Your Name")
|
|
33
|
+
|
|
34
|
+
# Generate an API key (save this!)
|
|
35
|
+
key = client.generate_key(name="my-key")
|
|
36
|
+
print(f"API Key: {key['api_key']}")
|
|
37
|
+
|
|
38
|
+
# Market data
|
|
39
|
+
btc = client.get_crypto_price("bitcoin")
|
|
40
|
+
print(f"BTC: ${btc['price']:,.2f}")
|
|
41
|
+
|
|
42
|
+
# AI chat (bring your own key)
|
|
43
|
+
resp = client.chat(
|
|
44
|
+
"Analyze BTC market structure",
|
|
45
|
+
ai_key="sk-ant-your-anthropic-key",
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
# Trading (all tiers — fees apply)
|
|
49
|
+
client.place_hl_order(coin="ETH", side="buy", size=0.1)
|
|
50
|
+
|
|
51
|
+
# DEX Trading — on-chain swaps
|
|
52
|
+
client.dex_buy_sol(contract_address="CA_ADDRESS", amount_sol=0.5)
|
|
53
|
+
|
|
54
|
+
# Check billing
|
|
55
|
+
print(client.billing_status())
|
|
56
|
+
|
|
57
|
+
# Upgrade to lower your fees
|
|
58
|
+
url = client.upgrade("pro") # $100/mo
|
|
59
|
+
url = client.upgrade("enterprise") # $1,000/mo
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Returning Users
|
|
63
|
+
|
|
64
|
+
```python
|
|
65
|
+
client = SentinelClient()
|
|
66
|
+
client.login(email="you@example.com", password="pass123")
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Tiers (Fee-Discount Model)
|
|
70
|
+
|
|
71
|
+
| | **Free** | **Pro** ($100/mo) | **Enterprise** ($1K/mo) |
|
|
72
|
+
|---|---|---|---|
|
|
73
|
+
| Access | Everything | Everything | Everything |
|
|
74
|
+
| LLM markup | 40% | 20% | 10% |
|
|
75
|
+
| Trade maker fee | 0.10% | 0.06% | 0.02% |
|
|
76
|
+
| Trade taker fee | 0.07% | 0.04% | 0.01% |
|
|
77
|
+
| Rate limit | 300/min | 1,000/min | Unlimited |
|
|
78
|
+
| Monthly limit | None | None | None |
|
|
79
|
+
|
|
80
|
+
Pro pays for itself at ~$10K/day trading volume.
|
|
81
|
+
|
|
82
|
+
## Available Tools (80+)
|
|
83
|
+
|
|
84
|
+
| Category | Examples | Tier |
|
|
85
|
+
|----------|---------|------|
|
|
86
|
+
| Crypto | `get_crypto_price`, `get_crypto_top_n`, `search_crypto` | All |
|
|
87
|
+
| Macro | `get_fred_series`, `get_economic_dashboard` | All |
|
|
88
|
+
| News | `get_news_sentiment`, `get_intelligence_reports` | All |
|
|
89
|
+
| Social | `get_trending_tokens`, `get_top_mentions`, `get_trending_narratives` | All |
|
|
90
|
+
| X / Twitter | `search_x` | All |
|
|
91
|
+
| DexScreener | `dexscreener_search`, `dexscreener_trending`, `dexscreener_token` | All |
|
|
92
|
+
| Stocks | `get_stock_price`, `get_stock_info`, `get_analyst_recs` | All |
|
|
93
|
+
| Hyperliquid | `get_hl_orderbook`, `place_hl_order`, `get_hl_positions` | All |
|
|
94
|
+
| Aster DEX | `aster_ticker`, `aster_place_order`, `aster_positions` | All |
|
|
95
|
+
| Polymarket | `search_polymarket`, `buy_polymarket`, `get_polymarket_positions` | All |
|
|
96
|
+
| DEX Swaps | `dex_buy_sol`, `dex_buy_eth`, `dex_sell_sol`, `dex_sell_eth` | All |
|
|
97
|
+
| Wallets | `generate_wallet`, `import_wallet`, `get_wallet_balance`, `send_crypto` | All |
|
|
98
|
+
| Telegram | `tg_read_channel`, `tg_send_message` | All |
|
|
99
|
+
| Discord | `discord_read_channel`, `discord_send_message` | All |
|
|
100
|
+
| AI Chat | `chat` (Anthropic, OpenAI, Google, xAI) | All |
|
|
101
|
+
| Algos | `list_algos`, `set_strategy`, `start_strategy` | All |
|
|
102
|
+
| Trade Journal | `get_trade_journal`, `get_trade_stats` | All |
|
|
103
|
+
| TradingView | `get_tv_alerts` | All |
|
|
104
|
+
|
|
105
|
+
## Error Handling
|
|
106
|
+
|
|
107
|
+
```python
|
|
108
|
+
from sentinel import SentinelClient, AuthError, RateLimitError
|
|
109
|
+
|
|
110
|
+
try:
|
|
111
|
+
client.place_hl_order(coin="ETH", side="buy", size=0.1)
|
|
112
|
+
except RateLimitError as e:
|
|
113
|
+
print(f"Rate limited — {e.remaining} left of {e.limit_per_min}/min ({e.tier} tier)")
|
|
114
|
+
print(f"Retry after {e.retry_after}s")
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Architecture
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
Your App -> sentinel-sdk (Python)
|
|
121
|
+
| HTTPS
|
|
122
|
+
Sentinel Go Gateway (Cloud Run)
|
|
123
|
+
| gRPC/HTTP
|
|
124
|
+
Python Engine (FastAPI) — tools, LLM, algo execution
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## License
|
|
128
|
+
|
|
129
|
+
AGPL-3.0 — Sentinel Labs
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68.0", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "hyper-sentinel"
|
|
7
|
+
version = "2.0.0"
|
|
8
|
+
description = "Python SDK for Sentinel — 80+ crypto trading, AI, and market intelligence tools. Free access, usage-based fees."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
license = "AGPL-3.0-only"
|
|
11
|
+
requires-python = ">=3.10"
|
|
12
|
+
authors = [
|
|
13
|
+
{name = "Sentinel Labs", email = "dev@hyper-sentinel.com"},
|
|
14
|
+
]
|
|
15
|
+
keywords = ["crypto", "trading", "ai", "defi", "hyperliquid", "aster", "polymarket", "sentinel"]
|
|
16
|
+
classifiers = [
|
|
17
|
+
"Development Status :: 4 - Beta",
|
|
18
|
+
"Intended Audience :: Developers",
|
|
19
|
+
"Intended Audience :: Financial and Insurance Industry",
|
|
20
|
+
"Programming Language :: Python :: 3",
|
|
21
|
+
"Programming Language :: Python :: 3.10",
|
|
22
|
+
"Programming Language :: Python :: 3.11",
|
|
23
|
+
"Programming Language :: Python :: 3.12",
|
|
24
|
+
"Programming Language :: Python :: 3.13",
|
|
25
|
+
"Topic :: Office/Business :: Financial :: Investment",
|
|
26
|
+
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
27
|
+
"Typing :: Typed",
|
|
28
|
+
]
|
|
29
|
+
dependencies = [
|
|
30
|
+
"httpx>=0.27.0",
|
|
31
|
+
]
|
|
32
|
+
|
|
33
|
+
[project.optional-dependencies]
|
|
34
|
+
async = ["httpx[http2]"]
|
|
35
|
+
dev = ["pytest>=8.0", "pytest-asyncio>=0.23", "ruff>=0.4", "build", "twine"]
|
|
36
|
+
|
|
37
|
+
[project.urls]
|
|
38
|
+
Homepage = "https://hyper-sentinel.com"
|
|
39
|
+
Documentation = "https://hyper-sentinel.com/docs"
|
|
40
|
+
Repository = "https://github.com/hyper-sentinel/sentinel-sdk"
|
|
41
|
+
Issues = "https://github.com/hyper-sentinel/sentinel-sdk/issues"
|
|
42
|
+
|
|
43
|
+
[tool.setuptools.packages.find]
|
|
44
|
+
where = ["src"]
|
|
45
|
+
|
|
46
|
+
[tool.pytest.ini_options]
|
|
47
|
+
markers = [
|
|
48
|
+
"integration: hits live Cloud Run API (deselect with '-m not integration')",
|
|
49
|
+
]
|
|
50
|
+
|
|
51
|
+
[tool.ruff]
|
|
52
|
+
target-version = "py310"
|
|
53
|
+
line-length = 120
|
|
54
|
+
|
|
55
|
+
[tool.ruff.lint]
|
|
56
|
+
select = ["E", "F", "I", "UP"]
|
|
57
|
+
|
|
58
|
+
[dependency-groups]
|
|
59
|
+
dev = [
|
|
60
|
+
"build>=1.4.2",
|
|
61
|
+
]
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: hyper-sentinel
|
|
3
|
+
Version: 2.0.0
|
|
4
|
+
Summary: Python SDK for Sentinel — 80+ crypto trading, AI, and market intelligence tools. Free access, usage-based fees.
|
|
5
|
+
Author-email: Sentinel Labs <dev@hyper-sentinel.com>
|
|
6
|
+
License-Expression: AGPL-3.0-only
|
|
7
|
+
Project-URL: Homepage, https://hyper-sentinel.com
|
|
8
|
+
Project-URL: Documentation, https://hyper-sentinel.com/docs
|
|
9
|
+
Project-URL: Repository, https://github.com/hyper-sentinel/sentinel-sdk
|
|
10
|
+
Project-URL: Issues, https://github.com/hyper-sentinel/sentinel-sdk/issues
|
|
11
|
+
Keywords: crypto,trading,ai,defi,hyperliquid,aster,polymarket,sentinel
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: Intended Audience :: Financial and Insurance Industry
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
+
Classifier: Topic :: Office/Business :: Financial :: Investment
|
|
21
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
22
|
+
Classifier: Typing :: Typed
|
|
23
|
+
Requires-Python: >=3.10
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
Requires-Dist: httpx>=0.27.0
|
|
26
|
+
Provides-Extra: async
|
|
27
|
+
Requires-Dist: httpx[http2]; extra == "async"
|
|
28
|
+
Provides-Extra: dev
|
|
29
|
+
Requires-Dist: pytest>=8.0; extra == "dev"
|
|
30
|
+
Requires-Dist: pytest-asyncio>=0.23; extra == "dev"
|
|
31
|
+
Requires-Dist: ruff>=0.4; extra == "dev"
|
|
32
|
+
Requires-Dist: build; extra == "dev"
|
|
33
|
+
Requires-Dist: twine; extra == "dev"
|
|
34
|
+
|
|
35
|
+
# Hyper-Sentinel SDK
|
|
36
|
+
|
|
37
|
+
Python SDK for the Sentinel API — 80+ tools for crypto trading, market intelligence, and AI analysis.
|
|
38
|
+
|
|
39
|
+
> **Install:** `pip install hyper-sentinel` or `uv add hyper-sentinel`
|
|
40
|
+
|
|
41
|
+
## Key Points
|
|
42
|
+
|
|
43
|
+
- **Full access on free tier** — trading, LLM, data, wallets, everything
|
|
44
|
+
- **Revenue from fees, not paywalls** — upgrade to Pro/Enterprise for lower rates
|
|
45
|
+
- **4 trading venues** — HyperLiquid, Aster DEX, Polymarket, Jupiter
|
|
46
|
+
- **17 AI models** — Claude, GPT-4o, Gemini, Grok (bring your own key)
|
|
47
|
+
|
|
48
|
+
## Install
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# pip (Mac / Windows PowerShell / Linux)
|
|
52
|
+
pip install hyper-sentinel
|
|
53
|
+
|
|
54
|
+
# uv (recommended)
|
|
55
|
+
uv add hyper-sentinel
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Quick Start
|
|
59
|
+
|
|
60
|
+
```python
|
|
61
|
+
from sentinel import SentinelClient
|
|
62
|
+
|
|
63
|
+
client = SentinelClient()
|
|
64
|
+
|
|
65
|
+
# Register (first time)
|
|
66
|
+
client.register(email="you@example.com", password="pass123", name="Your Name")
|
|
67
|
+
|
|
68
|
+
# Generate an API key (save this!)
|
|
69
|
+
key = client.generate_key(name="my-key")
|
|
70
|
+
print(f"API Key: {key['api_key']}")
|
|
71
|
+
|
|
72
|
+
# Market data
|
|
73
|
+
btc = client.get_crypto_price("bitcoin")
|
|
74
|
+
print(f"BTC: ${btc['price']:,.2f}")
|
|
75
|
+
|
|
76
|
+
# AI chat (bring your own key)
|
|
77
|
+
resp = client.chat(
|
|
78
|
+
"Analyze BTC market structure",
|
|
79
|
+
ai_key="sk-ant-your-anthropic-key",
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
# Trading (all tiers — fees apply)
|
|
83
|
+
client.place_hl_order(coin="ETH", side="buy", size=0.1)
|
|
84
|
+
|
|
85
|
+
# DEX Trading — on-chain swaps
|
|
86
|
+
client.dex_buy_sol(contract_address="CA_ADDRESS", amount_sol=0.5)
|
|
87
|
+
|
|
88
|
+
# Check billing
|
|
89
|
+
print(client.billing_status())
|
|
90
|
+
|
|
91
|
+
# Upgrade to lower your fees
|
|
92
|
+
url = client.upgrade("pro") # $100/mo
|
|
93
|
+
url = client.upgrade("enterprise") # $1,000/mo
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Returning Users
|
|
97
|
+
|
|
98
|
+
```python
|
|
99
|
+
client = SentinelClient()
|
|
100
|
+
client.login(email="you@example.com", password="pass123")
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Tiers (Fee-Discount Model)
|
|
104
|
+
|
|
105
|
+
| | **Free** | **Pro** ($100/mo) | **Enterprise** ($1K/mo) |
|
|
106
|
+
|---|---|---|---|
|
|
107
|
+
| Access | Everything | Everything | Everything |
|
|
108
|
+
| LLM markup | 40% | 20% | 10% |
|
|
109
|
+
| Trade maker fee | 0.10% | 0.06% | 0.02% |
|
|
110
|
+
| Trade taker fee | 0.07% | 0.04% | 0.01% |
|
|
111
|
+
| Rate limit | 300/min | 1,000/min | Unlimited |
|
|
112
|
+
| Monthly limit | None | None | None |
|
|
113
|
+
|
|
114
|
+
Pro pays for itself at ~$10K/day trading volume.
|
|
115
|
+
|
|
116
|
+
## Available Tools (80+)
|
|
117
|
+
|
|
118
|
+
| Category | Examples | Tier |
|
|
119
|
+
|----------|---------|------|
|
|
120
|
+
| Crypto | `get_crypto_price`, `get_crypto_top_n`, `search_crypto` | All |
|
|
121
|
+
| Macro | `get_fred_series`, `get_economic_dashboard` | All |
|
|
122
|
+
| News | `get_news_sentiment`, `get_intelligence_reports` | All |
|
|
123
|
+
| Social | `get_trending_tokens`, `get_top_mentions`, `get_trending_narratives` | All |
|
|
124
|
+
| X / Twitter | `search_x` | All |
|
|
125
|
+
| DexScreener | `dexscreener_search`, `dexscreener_trending`, `dexscreener_token` | All |
|
|
126
|
+
| Stocks | `get_stock_price`, `get_stock_info`, `get_analyst_recs` | All |
|
|
127
|
+
| Hyperliquid | `get_hl_orderbook`, `place_hl_order`, `get_hl_positions` | All |
|
|
128
|
+
| Aster DEX | `aster_ticker`, `aster_place_order`, `aster_positions` | All |
|
|
129
|
+
| Polymarket | `search_polymarket`, `buy_polymarket`, `get_polymarket_positions` | All |
|
|
130
|
+
| DEX Swaps | `dex_buy_sol`, `dex_buy_eth`, `dex_sell_sol`, `dex_sell_eth` | All |
|
|
131
|
+
| Wallets | `generate_wallet`, `import_wallet`, `get_wallet_balance`, `send_crypto` | All |
|
|
132
|
+
| Telegram | `tg_read_channel`, `tg_send_message` | All |
|
|
133
|
+
| Discord | `discord_read_channel`, `discord_send_message` | All |
|
|
134
|
+
| AI Chat | `chat` (Anthropic, OpenAI, Google, xAI) | All |
|
|
135
|
+
| Algos | `list_algos`, `set_strategy`, `start_strategy` | All |
|
|
136
|
+
| Trade Journal | `get_trade_journal`, `get_trade_stats` | All |
|
|
137
|
+
| TradingView | `get_tv_alerts` | All |
|
|
138
|
+
|
|
139
|
+
## Error Handling
|
|
140
|
+
|
|
141
|
+
```python
|
|
142
|
+
from sentinel import SentinelClient, AuthError, RateLimitError
|
|
143
|
+
|
|
144
|
+
try:
|
|
145
|
+
client.place_hl_order(coin="ETH", side="buy", size=0.1)
|
|
146
|
+
except RateLimitError as e:
|
|
147
|
+
print(f"Rate limited — {e.remaining} left of {e.limit_per_min}/min ({e.tier} tier)")
|
|
148
|
+
print(f"Retry after {e.retry_after}s")
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Architecture
|
|
152
|
+
|
|
153
|
+
```
|
|
154
|
+
Your App -> sentinel-sdk (Python)
|
|
155
|
+
| HTTPS
|
|
156
|
+
Sentinel Go Gateway (Cloud Run)
|
|
157
|
+
| gRPC/HTTP
|
|
158
|
+
Python Engine (FastAPI) — tools, LLM, algo execution
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## License
|
|
162
|
+
|
|
163
|
+
AGPL-3.0 — Sentinel Labs
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
README.md
|
|
2
|
+
pyproject.toml
|
|
3
|
+
src/hyper_sentinel.egg-info/PKG-INFO
|
|
4
|
+
src/hyper_sentinel.egg-info/SOURCES.txt
|
|
5
|
+
src/hyper_sentinel.egg-info/dependency_links.txt
|
|
6
|
+
src/hyper_sentinel.egg-info/requires.txt
|
|
7
|
+
src/hyper_sentinel.egg-info/top_level.txt
|
|
8
|
+
src/sentinel/__init__.py
|
|
9
|
+
src/sentinel/client.py
|
|
10
|
+
src/sentinel/exceptions.py
|
|
11
|
+
src/sentinel/py.typed
|
|
12
|
+
tests/test_client.py
|
|
13
|
+
tests/test_integration.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
sentinel
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Sentinel SDK v2.0 — Python client for the Sentinel API.
|
|
3
|
+
|
|
4
|
+
© Sentinel Labs — https://hyper-sentinel.com
|
|
5
|
+
|
|
6
|
+
Full access on every tier — upgrade for lower fees.
|
|
7
|
+
|
|
8
|
+
Usage:
|
|
9
|
+
from sentinel import SentinelClient
|
|
10
|
+
|
|
11
|
+
client = SentinelClient(api_key="sk-sent-xxx")
|
|
12
|
+
btc = client.get_crypto_price("bitcoin")
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
from sentinel.client import SentinelClient
|
|
16
|
+
from sentinel.exceptions import (
|
|
17
|
+
SentinelError,
|
|
18
|
+
AuthError,
|
|
19
|
+
ForbiddenError,
|
|
20
|
+
RateLimitError,
|
|
21
|
+
ToolNotFoundError,
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
__version__ = "2.0.0"
|
|
25
|
+
__all__ = [
|
|
26
|
+
"SentinelClient",
|
|
27
|
+
"SentinelError",
|
|
28
|
+
"AuthError",
|
|
29
|
+
"ForbiddenError",
|
|
30
|
+
"RateLimitError",
|
|
31
|
+
"ToolNotFoundError",
|
|
32
|
+
]
|