reportify-cli 0.1.32__tar.gz → 0.1.34__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.
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/PKG-INFO +2 -2
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/pyproject.toml +2 -2
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/src/commands/quant.py +4 -45
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/src/params.py +0 -15
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/.gitignore +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/Makefile +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/README.md +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/scripts/README.md +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/scripts/bump_version.sh +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/scripts/publish.sh +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/skills/reportify-agent/SKILL.md +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/skills/reportify-ai/SKILL.md +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/skills/reportify-ai/references/API_REFERENCE.md +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/skills/reportify-ai/references/COMMANDS.md +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/src/__init__.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/src/client.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/src/commands/__init__.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/src/commands/agent.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/src/commands/channels.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/src/commands/concepts.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/src/commands/docs.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/src/commands/following.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/src/commands/kb.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/src/commands/macro.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/src/commands/search.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/src/commands/stock.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/src/commands/timeline.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/src/commands/user.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/src/main.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/src/output.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/src/settings.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/src/utils.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/tests/__init__.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/tests/integration/test_docs_integration.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/tests/integration/test_stock_integration.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/tests/test_commands/__init__.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/tests/test_commands/test_docs.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/tests/test_commands/test_quant.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/tests/test_commands/test_search.py +0 -0
- {reportify_cli-0.1.32 → reportify_cli-0.1.34}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: reportify-cli
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.34
|
|
4
4
|
Summary: CLI wrapper for Reportify SDK - Access Reportify API through command line
|
|
5
5
|
Project-URL: Homepage, https://reportify.ai
|
|
6
6
|
Project-URL: Documentation, https://docs.reportify.ai
|
|
@@ -23,7 +23,7 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
|
23
23
|
Requires-Python: >=3.10
|
|
24
24
|
Requires-Dist: pandas>=2.0.0
|
|
25
25
|
Requires-Dist: python-dotenv>=1.2.1
|
|
26
|
-
Requires-Dist: reportify-sdk>=0.3.
|
|
26
|
+
Requires-Dist: reportify-sdk>=0.3.37
|
|
27
27
|
Requires-Dist: tabulate>=0.9.0
|
|
28
28
|
Requires-Dist: typer>=0.21.1
|
|
29
29
|
Description-Content-Type: text/markdown
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "reportify-cli"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.34"
|
|
4
4
|
description = "CLI wrapper for Reportify SDK - Access Reportify API through command line"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.10"
|
|
@@ -30,7 +30,7 @@ classifiers = [
|
|
|
30
30
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
31
31
|
]
|
|
32
32
|
dependencies = [
|
|
33
|
-
"reportify-sdk>=0.3.
|
|
33
|
+
"reportify-sdk>=0.3.37",
|
|
34
34
|
"typer>=0.21.1",
|
|
35
35
|
"pandas>=2.0.0",
|
|
36
36
|
"python-dotenv>=1.2.1",
|
|
@@ -12,49 +12,6 @@ from src.utils import generate_epilog, parse_json_input
|
|
|
12
12
|
app = typer.Typer(help="Quantitative analysis", rich_markup_mode="rich")
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
@app.command(
|
|
16
|
-
name="indicators",
|
|
17
|
-
epilog=generate_epilog(params.QUANT_LIST_INDICATORS_PARAMS, ["reportify-cli quant indicators"]),
|
|
18
|
-
)
|
|
19
|
-
def indicators(
|
|
20
|
-
input: Annotated[str, typer.Option(help="JSON input parameters")] = "{}",
|
|
21
|
-
format: Annotated[str, typer.Option(help="Output format: json, table, csv")] = "json",
|
|
22
|
-
):
|
|
23
|
-
"""List available technical indicators"""
|
|
24
|
-
try:
|
|
25
|
-
params_dict = parse_json_input(input)
|
|
26
|
-
client = get_client()
|
|
27
|
-
result = client.quant.indicators(**params_dict)
|
|
28
|
-
format_output(result, format)
|
|
29
|
-
except Exception as e:
|
|
30
|
-
typer.echo(f"Error: {e}", err=True)
|
|
31
|
-
raise typer.Exit(1)
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
@app.command(
|
|
35
|
-
name="indicators_compute",
|
|
36
|
-
epilog=generate_epilog(
|
|
37
|
-
params.QUANT_COMPUTE_INDICATORS_PARAMS,
|
|
38
|
-
[
|
|
39
|
-
'reportify-cli quant indicators_compute --input \'{"symbols": ["000001"], "formula": "MA(CLOSE, 5)"}\'',
|
|
40
|
-
],
|
|
41
|
-
),
|
|
42
|
-
)
|
|
43
|
-
def indicators_compute(
|
|
44
|
-
input: Annotated[str, typer.Option(help="JSON input parameters")] = "{}",
|
|
45
|
-
format: Annotated[str, typer.Option(help="Output format: json, table, csv")] = "json",
|
|
46
|
-
):
|
|
47
|
-
"""Compute technical indicators"""
|
|
48
|
-
try:
|
|
49
|
-
params_dict = parse_json_input(input)
|
|
50
|
-
client = get_client()
|
|
51
|
-
result = client.quant.indicators_compute(**params_dict)
|
|
52
|
-
format_output(result, format)
|
|
53
|
-
except Exception as e:
|
|
54
|
-
typer.echo(f"Error: {e}", err=True)
|
|
55
|
-
raise typer.Exit(1)
|
|
56
|
-
|
|
57
|
-
|
|
58
15
|
@app.command(
|
|
59
16
|
name="factors",
|
|
60
17
|
epilog=generate_epilog(params.QUANT_LIST_FACTORS_PARAMS, ["reportify-cli quant factors"]),
|
|
@@ -63,7 +20,7 @@ def factors(
|
|
|
63
20
|
input: Annotated[str, typer.Option(help="JSON input parameters")] = "{}",
|
|
64
21
|
format: Annotated[str, typer.Option(help="Output format: json, table, csv")] = "json",
|
|
65
22
|
):
|
|
66
|
-
"""List available factors"""
|
|
23
|
+
"""List available factors (including technical indicators and fundamental factors)"""
|
|
67
24
|
try:
|
|
68
25
|
params_dict = parse_json_input(input)
|
|
69
26
|
client = get_client()
|
|
@@ -79,6 +36,7 @@ def factors(
|
|
|
79
36
|
epilog=generate_epilog(
|
|
80
37
|
params.QUANT_COMPUTE_FACTORS_PARAMS,
|
|
81
38
|
[
|
|
39
|
+
'reportify-cli quant factors_compute --input \'{"symbols": ["000001"], "formula": "RSI(14)"}\'',
|
|
82
40
|
'reportify-cli quant factors_compute --input \'{"symbols": ["000001"], "formula": "PE_TTM()"}\'',
|
|
83
41
|
],
|
|
84
42
|
),
|
|
@@ -87,7 +45,7 @@ def factors_compute(
|
|
|
87
45
|
input: Annotated[str, typer.Option(help="JSON input parameters")] = "{}",
|
|
88
46
|
format: Annotated[str, typer.Option(help="Output format: json, table, csv")] = "json",
|
|
89
47
|
):
|
|
90
|
-
"""Compute factor values"""
|
|
48
|
+
"""Compute factor values (technical indicators and fundamental factors)"""
|
|
91
49
|
try:
|
|
92
50
|
params_dict = parse_json_input(input)
|
|
93
51
|
client = get_client()
|
|
@@ -103,6 +61,7 @@ def factors_compute(
|
|
|
103
61
|
params.QUANT_SCREEN_PARAMS,
|
|
104
62
|
[
|
|
105
63
|
'reportify-cli quant factors_screen --input \'{"formula": "(PE_TTM() < 20) & (ROE() > 0.15)"}\'',
|
|
64
|
+
'reportify-cli quant factors_screen --input \'{"formula": "RSI(14) < 30"}\'',
|
|
106
65
|
],
|
|
107
66
|
)
|
|
108
67
|
)
|
|
@@ -413,21 +413,6 @@ SEARCH_CRAWL_PARAMS = [
|
|
|
413
413
|
]
|
|
414
414
|
|
|
415
415
|
# Quant module parameters
|
|
416
|
-
QUANT_LIST_INDICATORS_PARAMS = []
|
|
417
|
-
|
|
418
|
-
QUANT_COMPUTE_INDICATORS_PARAMS = [
|
|
419
|
-
ParamDef("symbols", "list[str]", "Stock symbol list", required=True),
|
|
420
|
-
ParamDef(
|
|
421
|
-
"formula",
|
|
422
|
-
"str",
|
|
423
|
-
"Indicator formula, expressions on both sides of logical operators (&/|/AND/OR) must be wrapped in ()",
|
|
424
|
-
required=True,
|
|
425
|
-
),
|
|
426
|
-
ParamDef("market", "str", "Market (cn/hk/us)", default="cn"),
|
|
427
|
-
ParamDef("start_date", "str", "Start date, defaults to 3 months ago"),
|
|
428
|
-
ParamDef("end_date", "str", "End date, defaults to today"),
|
|
429
|
-
]
|
|
430
|
-
|
|
431
416
|
QUANT_LIST_FACTORS_PARAMS = []
|
|
432
417
|
|
|
433
418
|
QUANT_COMPUTE_FACTORS_PARAMS = [
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reportify_cli-0.1.32 → reportify_cli-0.1.34}/skills/reportify-ai/references/API_REFERENCE.md
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
|