reportify-sdk 0.3.4__py3-none-any.whl → 0.3.5__py3-none-any.whl
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_sdk/client.py +1 -1
- reportify_sdk/stock.py +1 -84
- {reportify_sdk-0.3.4.dist-info → reportify_sdk-0.3.5.dist-info}/METADATA +2 -3
- {reportify_sdk-0.3.4.dist-info → reportify_sdk-0.3.5.dist-info}/RECORD +7 -7
- {reportify_sdk-0.3.4.dist-info → reportify_sdk-0.3.5.dist-info}/WHEEL +0 -0
- {reportify_sdk-0.3.4.dist-info → reportify_sdk-0.3.5.dist-info}/licenses/LICENSE +0 -0
- {reportify_sdk-0.3.4.dist-info → reportify_sdk-0.3.5.dist-info}/top_level.txt +0 -0
reportify_sdk/client.py
CHANGED
reportify_sdk/stock.py
CHANGED
|
@@ -369,92 +369,9 @@ class StockModule:
|
|
|
369
369
|
return self._to_dataframe(response)
|
|
370
370
|
|
|
371
371
|
# -------------------------------------------------------------------------
|
|
372
|
-
#
|
|
372
|
+
# Calendar
|
|
373
373
|
# -------------------------------------------------------------------------
|
|
374
374
|
|
|
375
|
-
def screener(
|
|
376
|
-
self,
|
|
377
|
-
*,
|
|
378
|
-
market_cap_more_than: float | None = None,
|
|
379
|
-
market_cap_lower_than: float | None = None,
|
|
380
|
-
price_more_than: float | None = None,
|
|
381
|
-
price_lower_than: float | None = None,
|
|
382
|
-
change_percentage_more_than: float | None = None,
|
|
383
|
-
change_percentage_lower_than: float | None = None,
|
|
384
|
-
volume_more_than: int | None = None,
|
|
385
|
-
volume_lower_than: int | None = None,
|
|
386
|
-
country: str | None = None,
|
|
387
|
-
exchange: str | None = None,
|
|
388
|
-
dividend_yield_more_than: float | None = None,
|
|
389
|
-
dividend_yield_lower_than: float | None = None,
|
|
390
|
-
pe_ttm_more_than: float | None = None,
|
|
391
|
-
pe_ttm_lower_than: float | None = None,
|
|
392
|
-
limit: int = 100,
|
|
393
|
-
) -> pd.DataFrame:
|
|
394
|
-
"""
|
|
395
|
-
Screen stocks based on various criteria
|
|
396
|
-
|
|
397
|
-
Args:
|
|
398
|
-
market_cap_more_than: Market cap greater than
|
|
399
|
-
market_cap_lower_than: Market cap less than
|
|
400
|
-
price_more_than: Stock price greater than
|
|
401
|
-
price_lower_than: Stock price less than
|
|
402
|
-
change_percentage_more_than: Change percentage greater than (e.g., 0.02 for 2%)
|
|
403
|
-
change_percentage_lower_than: Change percentage less than (e.g., 0.04 for 4%)
|
|
404
|
-
volume_more_than: Trading volume greater than
|
|
405
|
-
volume_lower_than: Trading volume less than
|
|
406
|
-
country: Country code (e.g., "US", "CN", "HK")
|
|
407
|
-
exchange: Exchange code (e.g., "NASDAQ", "NYSE", "HKEX")
|
|
408
|
-
dividend_yield_more_than: Dividend yield greater than
|
|
409
|
-
dividend_yield_lower_than: Dividend yield less than
|
|
410
|
-
pe_ttm_more_than: PE TTM greater than
|
|
411
|
-
pe_ttm_lower_than: PE TTM less than
|
|
412
|
-
limit: Maximum number of results (default: 100)
|
|
413
|
-
|
|
414
|
-
Returns:
|
|
415
|
-
DataFrame with screened stocks
|
|
416
|
-
|
|
417
|
-
Example:
|
|
418
|
-
>>> # Find US stocks with PE < 15 and market cap > 1B
|
|
419
|
-
>>> stocks = client.stock.screener(
|
|
420
|
-
... country="US",
|
|
421
|
-
... pe_ttm_lower_than=15,
|
|
422
|
-
... market_cap_more_than=1000000000
|
|
423
|
-
... )
|
|
424
|
-
"""
|
|
425
|
-
data: dict[str, Any] = {"limit": limit}
|
|
426
|
-
if market_cap_more_than is not None:
|
|
427
|
-
data["market_cap_more_than"] = market_cap_more_than
|
|
428
|
-
if market_cap_lower_than is not None:
|
|
429
|
-
data["market_cap_lower_than"] = market_cap_lower_than
|
|
430
|
-
if price_more_than is not None:
|
|
431
|
-
data["price_more_than"] = price_more_than
|
|
432
|
-
if price_lower_than is not None:
|
|
433
|
-
data["price_lower_than"] = price_lower_than
|
|
434
|
-
if change_percentage_more_than is not None:
|
|
435
|
-
data["change_percentage_more_than"] = change_percentage_more_than
|
|
436
|
-
if change_percentage_lower_than is not None:
|
|
437
|
-
data["change_percentage_lower_than"] = change_percentage_lower_than
|
|
438
|
-
if volume_more_than is not None:
|
|
439
|
-
data["volume_more_than"] = volume_more_than
|
|
440
|
-
if volume_lower_than is not None:
|
|
441
|
-
data["volume_lower_than"] = volume_lower_than
|
|
442
|
-
if country:
|
|
443
|
-
data["country"] = country
|
|
444
|
-
if exchange:
|
|
445
|
-
data["exchange"] = exchange
|
|
446
|
-
if dividend_yield_more_than is not None:
|
|
447
|
-
data["dividend_yield_more_than"] = dividend_yield_more_than
|
|
448
|
-
if dividend_yield_lower_than is not None:
|
|
449
|
-
data["dividend_yield_lower_than"] = dividend_yield_lower_than
|
|
450
|
-
if pe_ttm_more_than is not None:
|
|
451
|
-
data["pe_ttm_more_than"] = pe_ttm_more_than
|
|
452
|
-
if pe_ttm_lower_than is not None:
|
|
453
|
-
data["pe_ttm_lower_than"] = pe_ttm_lower_than
|
|
454
|
-
|
|
455
|
-
response = self._post("/v1/stock/screener", json=data)
|
|
456
|
-
return self._to_dataframe(response)
|
|
457
|
-
|
|
458
375
|
def earnings_calendar(
|
|
459
376
|
self,
|
|
460
377
|
*,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: reportify-sdk
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.5
|
|
4
4
|
Summary: Python SDK for Reportify API - Financial data and document search
|
|
5
5
|
Author-email: Reportify <support@reportify.cn>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -84,8 +84,7 @@ quote = client.stock.quote("US:AAPL")
|
|
|
84
84
|
overview = client.stock.overview("US:AAPL")
|
|
85
85
|
shareholders = client.stock.shareholders("US:AAPL")
|
|
86
86
|
|
|
87
|
-
#
|
|
88
|
-
stocks = client.stock.screener(country="US", market_cap_more_than=1e10)
|
|
87
|
+
# Earnings calendar
|
|
89
88
|
earnings = client.stock.earnings_calendar(market="us", start_date="2024-01-01", end_date="2024-01-31")
|
|
90
89
|
```
|
|
91
90
|
|
|
@@ -2,18 +2,18 @@ reportify_sdk/__init__.py,sha256=l7E4ELvxQ8qSEpgDK3-I3JfhBBKmLS8RP4hpbxieVac,662
|
|
|
2
2
|
reportify_sdk/agent.py,sha256=y1iP4Jq7-ESMxeCWB_vxkAvwCjUCWT8K-ZSeJswU6nQ,6358
|
|
3
3
|
reportify_sdk/channels.py,sha256=VbBCispCiP2Mzqn5lmBWVNWog4ElVni46mK2zg7KKzg,3518
|
|
4
4
|
reportify_sdk/chat.py,sha256=GQVfre4p2H9Kb0imX1-LvGqMrtnsuGhjQskBNUqUI_I,3613
|
|
5
|
-
reportify_sdk/client.py,sha256=
|
|
5
|
+
reportify_sdk/client.py,sha256=yXFIrS-fvgRRM6pDHZ3GKFcFHvKfH_YkKMSTHNyHf9c,8206
|
|
6
6
|
reportify_sdk/concepts.py,sha256=XlHPuuZacFFUccMthyeb5R2OTayFYxXgIODKNfJLa_c,1891
|
|
7
7
|
reportify_sdk/docs.py,sha256=T5RO_FQe7ARRlav8eZQrgggDNmbCb8Cgiaq8YtEoaFA,16850
|
|
8
8
|
reportify_sdk/exceptions.py,sha256=r2_C_kTh6tCrQnfA3UozSqMMA-2OBnoP3pGpgYeqcdU,1049
|
|
9
9
|
reportify_sdk/kb.py,sha256=3e82_56hvnGQ2fI404g3DAem9javPY7OpE5B8goYOB8,2895
|
|
10
10
|
reportify_sdk/quant.py,sha256=X3ZJsexslUsyz1tiXT481BpzLBLJ1_vipcChKxZll-k,17672
|
|
11
11
|
reportify_sdk/search.py,sha256=rzleME8_DwdiJ-__0qPjXkQZmaJ6JXH-ycJ_mUlkkNw,11866
|
|
12
|
-
reportify_sdk/stock.py,sha256=
|
|
12
|
+
reportify_sdk/stock.py,sha256=t-2KOqiZ5DpOYKHjSncY33YBjQu92hjRNbtbhrdr3Zs,18259
|
|
13
13
|
reportify_sdk/timeline.py,sha256=7ZbF5-0eGoF_N5h9swEyYgZSaMb54PMwLDXlaqFS4ns,5396
|
|
14
14
|
reportify_sdk/user.py,sha256=lsdhvaovllEwYiz4fhhSwl8PMX8tKswzABAvZbB0iJw,1261
|
|
15
|
-
reportify_sdk-0.3.
|
|
16
|
-
reportify_sdk-0.3.
|
|
17
|
-
reportify_sdk-0.3.
|
|
18
|
-
reportify_sdk-0.3.
|
|
19
|
-
reportify_sdk-0.3.
|
|
15
|
+
reportify_sdk-0.3.5.dist-info/licenses/LICENSE,sha256=zBUq4DL4lE-fZU_PMkr0gnxkYS1LhdRHFw8_LmCb-ek,1066
|
|
16
|
+
reportify_sdk-0.3.5.dist-info/METADATA,sha256=od5BzK93KU7BeNNxKVmKentnvpbj5eneJ3OI0trUwDY,6416
|
|
17
|
+
reportify_sdk-0.3.5.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
18
|
+
reportify_sdk-0.3.5.dist-info/top_level.txt,sha256=tc_dzCSWIDsNbHSi-FlyEEX8xwinhN9gl-CwyLRE4B0,14
|
|
19
|
+
reportify_sdk-0.3.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|