fere-cli 0.4.0.dev39__tar.gz → 0.4.0.dev41__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.
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/.gitignore +5 -0
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/PKG-INFO +2 -2
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/pyproject.toml +2 -2
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/src/fere_cli/commands/earn.py +3 -5
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/src/fere_cli/commands/limit_order.py +1 -1
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/src/fere_cli/commands/perp.py +6 -6
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/src/fere_cli/commands/spot_hl.py +4 -4
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/README.md +0 -0
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/install.sh +0 -0
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/src/fere_cli/__init__.py +0 -0
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/src/fere_cli/async_util.py +0 -0
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/src/fere_cli/banner.py +0 -0
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/src/fere_cli/commands/__init__.py +0 -0
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/src/fere_cli/commands/auth.py +0 -0
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/src/fere_cli/commands/chat.py +0 -0
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/src/fere_cli/commands/hooks.py +0 -0
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/src/fere_cli/commands/portfolio.py +0 -0
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/src/fere_cli/commands/swap.py +0 -0
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/src/fere_cli/commands/utility.py +0 -0
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/src/fere_cli/config.py +0 -0
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/src/fere_cli/main.py +0 -0
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/src/fere_cli/output.py +0 -0
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/src/fere_cli/update.py +0 -0
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/tests/test_install_sh.py +0 -0
- {fere_cli-0.4.0.dev39 → fere_cli-0.4.0.dev41}/tests/test_update.py +0 -0
|
@@ -15,6 +15,11 @@ __pycache__
|
|
|
15
15
|
# Bruno gateway collection (GATEWAY_AGENT_ID / GATEWAY_PRIVATE_KEY_B64)
|
|
16
16
|
bruno_specs/gateway-service/.env
|
|
17
17
|
|
|
18
|
+
# Gateway k6 load tests (secrets + local output from make setup)
|
|
19
|
+
devops/loadtests/k6/.env.local
|
|
20
|
+
devops/loadtests/k6/users.csv
|
|
21
|
+
devops/loadtests/k6/results/
|
|
22
|
+
|
|
18
23
|
# Git worktrees
|
|
19
24
|
.worktrees/
|
|
20
25
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fere-cli
|
|
3
|
-
Version: 0.4.0.
|
|
3
|
+
Version: 0.4.0.dev41
|
|
4
4
|
Summary: Terminal CLI for FereAI crypto trading and research
|
|
5
5
|
Author-email: Fere AI <info@fere.ai>
|
|
6
6
|
License-Expression: MIT
|
|
7
7
|
Requires-Python: >=3.10
|
|
8
8
|
Requires-Dist: click>=8.1
|
|
9
|
-
Requires-Dist: fere-sdk>=0.4.0.
|
|
9
|
+
Requires-Dist: fere-sdk>=0.4.0.dev41
|
|
10
10
|
Requires-Dist: httpx>=0.27
|
|
11
11
|
Requires-Dist: rich>=13.0
|
|
12
12
|
Provides-Extra: dev
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "fere-cli"
|
|
3
|
-
version = "0.4.0.
|
|
3
|
+
version = "0.4.0.dev41"
|
|
4
4
|
description = "Terminal CLI for FereAI crypto trading and research"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.10"
|
|
7
7
|
license = "MIT"
|
|
8
8
|
authors = [{ name = "Fere AI", email = "info@fere.ai" }]
|
|
9
9
|
dependencies = [
|
|
10
|
-
"fere-sdk>=0.4.0.
|
|
10
|
+
"fere-sdk>=0.4.0.dev41",
|
|
11
11
|
"httpx>=0.27",
|
|
12
12
|
"click>=8.1",
|
|
13
13
|
"rich>=13.0",
|
|
@@ -48,7 +48,7 @@ async def info(ctx):
|
|
|
48
48
|
help="Existing position ID to add to.",
|
|
49
49
|
)
|
|
50
50
|
@click.option(
|
|
51
|
-
"--timeout", default=
|
|
51
|
+
"--timeout", default=100, type=int, help="Wait timeout (seconds)."
|
|
52
52
|
)
|
|
53
53
|
@click.option("-y", "--yes", is_flag=True, help="Skip confirmation.")
|
|
54
54
|
@click.pass_context
|
|
@@ -92,7 +92,7 @@ async def deposit(ctx, amount, position_id, timeout, yes):
|
|
|
92
92
|
help="USDC amount to withdraw.",
|
|
93
93
|
)
|
|
94
94
|
@click.option(
|
|
95
|
-
"--timeout", default=
|
|
95
|
+
"--timeout", default=100, type=int, help="Wait timeout (seconds)."
|
|
96
96
|
)
|
|
97
97
|
@click.option("-y", "--yes", is_flag=True, help="Skip confirmation.")
|
|
98
98
|
@click.pass_context
|
|
@@ -100,9 +100,7 @@ async def deposit(ctx, amount, position_id, timeout, yes):
|
|
|
100
100
|
async def withdraw(ctx, position_id, amount, timeout, yes):
|
|
101
101
|
"""Withdraw USDC from a yield position."""
|
|
102
102
|
if not yes and is_tty():
|
|
103
|
-
click.echo(
|
|
104
|
-
f"Withdraw {amount} USDC from position {position_id}"
|
|
105
|
-
)
|
|
103
|
+
click.echo(f"Withdraw {amount} USDC from position {position_id}")
|
|
106
104
|
if not click.confirm("Proceed?"):
|
|
107
105
|
raise SystemExit(0)
|
|
108
106
|
|
|
@@ -57,7 +57,7 @@ def limit_order():
|
|
|
57
57
|
)
|
|
58
58
|
@click.option("--slippage-bps", default=50, type=int, help="Slippage (bps).")
|
|
59
59
|
@click.option(
|
|
60
|
-
"--timeout", default=
|
|
60
|
+
"--timeout", default=100, type=int, help="Wait timeout (seconds)."
|
|
61
61
|
)
|
|
62
62
|
@click.option("-y", "--yes", is_flag=True, help="Skip confirmation.")
|
|
63
63
|
@click.pass_context
|
|
@@ -59,7 +59,7 @@ async def status(ctx):
|
|
|
59
59
|
@perp.command()
|
|
60
60
|
@click.option("--force", is_flag=True, help="Re-run setup even if complete.")
|
|
61
61
|
@click.option(
|
|
62
|
-
"--timeout", default=
|
|
62
|
+
"--timeout", default=100, type=int, help="Wait timeout (seconds)."
|
|
63
63
|
)
|
|
64
64
|
@click.pass_context
|
|
65
65
|
@async_command
|
|
@@ -115,7 +115,7 @@ async def orders(ctx):
|
|
|
115
115
|
@click.option("--tp-price", default=None, type=float, help="Take-profit.")
|
|
116
116
|
@click.option("--sl-price", default=None, type=float, help="Stop-loss.")
|
|
117
117
|
@click.option(
|
|
118
|
-
"--timeout", default=
|
|
118
|
+
"--timeout", default=100, type=int, help="Wait timeout (seconds)."
|
|
119
119
|
)
|
|
120
120
|
@click.option("-y", "--yes", is_flag=True, help="Skip confirmation.")
|
|
121
121
|
@click.pass_context
|
|
@@ -173,7 +173,7 @@ async def open(
|
|
|
173
173
|
)
|
|
174
174
|
@click.option("--slippage-pct", default=0.5, type=float)
|
|
175
175
|
@click.option(
|
|
176
|
-
"--timeout", default=
|
|
176
|
+
"--timeout", default=100, type=int, help="Wait timeout (seconds)."
|
|
177
177
|
)
|
|
178
178
|
@click.option("-y", "--yes", is_flag=True, help="Skip confirmation.")
|
|
179
179
|
@click.pass_context
|
|
@@ -209,7 +209,7 @@ async def close(ctx, asset, size, slippage_pct, timeout, yes):
|
|
|
209
209
|
"--order-id", required=True, type=int, help="Venue order id (oid)."
|
|
210
210
|
)
|
|
211
211
|
@click.option(
|
|
212
|
-
"--timeout", default=
|
|
212
|
+
"--timeout", default=100, type=int, help="Wait timeout (seconds)."
|
|
213
213
|
)
|
|
214
214
|
@click.pass_context
|
|
215
215
|
@async_command
|
|
@@ -252,7 +252,7 @@ async def cancel(ctx, asset, order_id, timeout):
|
|
|
252
252
|
help="USD amount the user entered.",
|
|
253
253
|
)
|
|
254
254
|
@click.option(
|
|
255
|
-
"--timeout", default=
|
|
255
|
+
"--timeout", default=100, type=int, help="Wait timeout (seconds)."
|
|
256
256
|
)
|
|
257
257
|
@click.option("-y", "--yes", is_flag=True, help="Skip confirmation.")
|
|
258
258
|
@click.pass_context
|
|
@@ -306,7 +306,7 @@ async def fund(
|
|
|
306
306
|
help="ERC-20/mint; omit for native token.",
|
|
307
307
|
)
|
|
308
308
|
@click.option(
|
|
309
|
-
"--timeout", default=
|
|
309
|
+
"--timeout", default=100, type=int, help="Wait timeout (seconds)."
|
|
310
310
|
)
|
|
311
311
|
@click.option("-y", "--yes", is_flag=True, help="Skip confirmation.")
|
|
312
312
|
@click.pass_context
|
|
@@ -69,7 +69,7 @@ async def orders(ctx):
|
|
|
69
69
|
@click.option("--tp-price", default=None, type=float, help="Take-profit.")
|
|
70
70
|
@click.option("--sl-price", default=None, type=float, help="Stop-loss.")
|
|
71
71
|
@click.option(
|
|
72
|
-
"--timeout", default=
|
|
72
|
+
"--timeout", default=100, type=int, help="Wait timeout (seconds)."
|
|
73
73
|
)
|
|
74
74
|
@click.option("-y", "--yes", is_flag=True, help="Skip confirmation.")
|
|
75
75
|
@click.pass_context
|
|
@@ -129,7 +129,7 @@ async def buy(
|
|
|
129
129
|
@click.option("--limit-price", default=None, type=float)
|
|
130
130
|
@click.option("--slippage-pct", default=0.5, type=float)
|
|
131
131
|
@click.option(
|
|
132
|
-
"--timeout", default=
|
|
132
|
+
"--timeout", default=100, type=int, help="Wait timeout (seconds)."
|
|
133
133
|
)
|
|
134
134
|
@click.option("-y", "--yes", is_flag=True, help="Skip confirmation.")
|
|
135
135
|
@click.pass_context
|
|
@@ -174,7 +174,7 @@ async def sell(
|
|
|
174
174
|
help="Base amount; omit for the full held balance.",
|
|
175
175
|
)
|
|
176
176
|
@click.option(
|
|
177
|
-
"--timeout", default=
|
|
177
|
+
"--timeout", default=100, type=int, help="Wait timeout (seconds)."
|
|
178
178
|
)
|
|
179
179
|
@click.pass_context
|
|
180
180
|
@async_command
|
|
@@ -208,7 +208,7 @@ async def tp_sl(ctx, asset, tp_price, sl_price, size, timeout):
|
|
|
208
208
|
"--order-id", required=True, type=int, help="Venue order id (oid)."
|
|
209
209
|
)
|
|
210
210
|
@click.option(
|
|
211
|
-
"--timeout", default=
|
|
211
|
+
"--timeout", default=100, type=int, help="Wait timeout (seconds)."
|
|
212
212
|
)
|
|
213
213
|
@click.pass_context
|
|
214
214
|
@async_command
|
|
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
|