trigerr 0.1.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.
Files changed (206) hide show
  1. trigerr-0.1.0/LICENSE +21 -0
  2. trigerr-0.1.0/PKG-INFO +82 -0
  3. trigerr-0.1.0/README.md +54 -0
  4. trigerr-0.1.0/pyproject.toml +50 -0
  5. trigerr-0.1.0/setup.cfg +4 -0
  6. trigerr-0.1.0/tests/test_package.py +18 -0
  7. trigerr-0.1.0/trigerr/__init__.py +18 -0
  8. trigerr-0.1.0/trigerr/config.py +7 -0
  9. trigerr-0.1.0/trigerr/custom_indicators.py +1166 -0
  10. trigerr-0.1.0/trigerr/data/__init__.py +2 -0
  11. trigerr-0.1.0/trigerr/data/historical.py +124 -0
  12. trigerr-0.1.0/trigerr/data/live.py +158 -0
  13. trigerr-0.1.0/trigerr/orders/__init__.py +4 -0
  14. trigerr-0.1.0/trigerr/orders/backtest.py +56 -0
  15. trigerr-0.1.0/trigerr/orders/live.py +272 -0
  16. trigerr-0.1.0/trigerr/orders/orders_utils.py +287 -0
  17. trigerr-0.1.0/trigerr/orders/virtual.py +103 -0
  18. trigerr-0.1.0/trigerr/ta/__init__.py +64 -0
  19. trigerr-0.1.0/trigerr/ta/__main__.py +7 -0
  20. trigerr-0.1.0/trigerr/ta/_typing.py +71 -0
  21. trigerr-0.1.0/trigerr/ta/candle/__init__.py +16 -0
  22. trigerr-0.1.0/trigerr/ta/candle/cdl_doji.py +90 -0
  23. trigerr-0.1.0/trigerr/ta/candle/cdl_inside.py +84 -0
  24. trigerr-0.1.0/trigerr/ta/candle/cdl_pattern.py +126 -0
  25. trigerr-0.1.0/trigerr/ta/candle/cdl_z.py +93 -0
  26. trigerr-0.1.0/trigerr/ta/candle/ha.py +86 -0
  27. trigerr-0.1.0/trigerr/ta/core.py +1834 -0
  28. trigerr-0.1.0/trigerr/ta/custom.py +177 -0
  29. trigerr-0.1.0/trigerr/ta/cycle/__init__.py +8 -0
  30. trigerr-0.1.0/trigerr/ta/cycle/ebsw.py +142 -0
  31. trigerr-0.1.0/trigerr/ta/cycle/reflex.py +115 -0
  32. trigerr-0.1.0/trigerr/ta/ma.py +75 -0
  33. trigerr-0.1.0/trigerr/ta/maps.py +90 -0
  34. trigerr-0.1.0/trigerr/ta/momentum/__init__.py +93 -0
  35. trigerr-0.1.0/trigerr/ta/momentum/ao.py +66 -0
  36. trigerr-0.1.0/trigerr/ta/momentum/apo.py +75 -0
  37. trigerr-0.1.0/trigerr/ta/momentum/bias.py +59 -0
  38. trigerr-0.1.0/trigerr/ta/momentum/bop.py +73 -0
  39. trigerr-0.1.0/trigerr/ta/momentum/brar.py +93 -0
  40. trigerr-0.1.0/trigerr/ta/momentum/cci.py +75 -0
  41. trigerr-0.1.0/trigerr/ta/momentum/cfo.py +69 -0
  42. trigerr-0.1.0/trigerr/ta/momentum/cg.py +57 -0
  43. trigerr-0.1.0/trigerr/ta/momentum/cmo.py +90 -0
  44. trigerr-0.1.0/trigerr/ta/momentum/coppock.py +70 -0
  45. trigerr-0.1.0/trigerr/ta/momentum/crsi.py +106 -0
  46. trigerr-0.1.0/trigerr/ta/momentum/cti.py +56 -0
  47. trigerr-0.1.0/trigerr/ta/momentum/dm.py +94 -0
  48. trigerr-0.1.0/trigerr/ta/momentum/er.py +93 -0
  49. trigerr-0.1.0/trigerr/ta/momentum/eri.py +75 -0
  50. trigerr-0.1.0/trigerr/ta/momentum/exhc.py +110 -0
  51. trigerr-0.1.0/trigerr/ta/momentum/fisher.py +95 -0
  52. trigerr-0.1.0/trigerr/ta/momentum/inertia.py +118 -0
  53. trigerr-0.1.0/trigerr/ta/momentum/kdj.py +94 -0
  54. trigerr-0.1.0/trigerr/ta/momentum/kst.py +97 -0
  55. trigerr-0.1.0/trigerr/ta/momentum/macd.py +141 -0
  56. trigerr-0.1.0/trigerr/ta/momentum/mom.py +76 -0
  57. trigerr-0.1.0/trigerr/ta/momentum/pgo.py +68 -0
  58. trigerr-0.1.0/trigerr/ta/momentum/ppo.py +107 -0
  59. trigerr-0.1.0/trigerr/ta/momentum/psl.py +79 -0
  60. trigerr-0.1.0/trigerr/ta/momentum/qqe.py +174 -0
  61. trigerr-0.1.0/trigerr/ta/momentum/roc.py +84 -0
  62. trigerr-0.1.0/trigerr/ta/momentum/rsi.py +115 -0
  63. trigerr-0.1.0/trigerr/ta/momentum/rsx.py +148 -0
  64. trigerr-0.1.0/trigerr/ta/momentum/rvgi.py +87 -0
  65. trigerr-0.1.0/trigerr/ta/momentum/slope.py +71 -0
  66. trigerr-0.1.0/trigerr/ta/momentum/smc.py +118 -0
  67. trigerr-0.1.0/trigerr/ta/momentum/smi.py +92 -0
  68. trigerr-0.1.0/trigerr/ta/momentum/squeeze.py +205 -0
  69. trigerr-0.1.0/trigerr/ta/momentum/squeeze_pro.py +222 -0
  70. trigerr-0.1.0/trigerr/ta/momentum/stc.py +175 -0
  71. trigerr-0.1.0/trigerr/ta/momentum/stoch.py +121 -0
  72. trigerr-0.1.0/trigerr/ta/momentum/stochf.py +100 -0
  73. trigerr-0.1.0/trigerr/ta/momentum/stochrsi.py +104 -0
  74. trigerr-0.1.0/trigerr/ta/momentum/tmo.py +129 -0
  75. trigerr-0.1.0/trigerr/ta/momentum/trix.py +93 -0
  76. trigerr-0.1.0/trigerr/ta/momentum/tsi.py +106 -0
  77. trigerr-0.1.0/trigerr/ta/momentum/uo.py +105 -0
  78. trigerr-0.1.0/trigerr/ta/momentum/willr.py +75 -0
  79. trigerr-0.1.0/trigerr/ta/overlap/__init__.py +77 -0
  80. trigerr-0.1.0/trigerr/ta/overlap/alligator.py +86 -0
  81. trigerr-0.1.0/trigerr/ta/overlap/alma.py +81 -0
  82. trigerr-0.1.0/trigerr/ta/overlap/dema.py +75 -0
  83. trigerr-0.1.0/trigerr/ta/overlap/ema.py +80 -0
  84. trigerr-0.1.0/trigerr/ta/overlap/fwma.py +66 -0
  85. trigerr-0.1.0/trigerr/ta/overlap/hilo.py +100 -0
  86. trigerr-0.1.0/trigerr/ta/overlap/hl2.py +52 -0
  87. trigerr-0.1.0/trigerr/ta/overlap/hlc3.py +60 -0
  88. trigerr-0.1.0/trigerr/ta/overlap/hma.py +73 -0
  89. trigerr-0.1.0/trigerr/ta/overlap/hwma.py +73 -0
  90. trigerr-0.1.0/trigerr/ta/overlap/ichimoku.py +131 -0
  91. trigerr-0.1.0/trigerr/ta/overlap/jma.py +117 -0
  92. trigerr-0.1.0/trigerr/ta/overlap/kama.py +94 -0
  93. trigerr-0.1.0/trigerr/ta/overlap/linreg.py +164 -0
  94. trigerr-0.1.0/trigerr/ta/overlap/mama.py +167 -0
  95. trigerr-0.1.0/trigerr/ta/overlap/mcgd.py +72 -0
  96. trigerr-0.1.0/trigerr/ta/overlap/midpoint.py +64 -0
  97. trigerr-0.1.0/trigerr/ta/overlap/midprice.py +67 -0
  98. trigerr-0.1.0/trigerr/ta/overlap/ohlc4.py +53 -0
  99. trigerr-0.1.0/trigerr/ta/overlap/pivots.py +264 -0
  100. trigerr-0.1.0/trigerr/ta/overlap/pwma.py +66 -0
  101. trigerr-0.1.0/trigerr/ta/overlap/rma.py +56 -0
  102. trigerr-0.1.0/trigerr/ta/overlap/sinwma.py +63 -0
  103. trigerr-0.1.0/trigerr/ta/overlap/sma.py +85 -0
  104. trigerr-0.1.0/trigerr/ta/overlap/smma.py +82 -0
  105. trigerr-0.1.0/trigerr/ta/overlap/ssf.py +115 -0
  106. trigerr-0.1.0/trigerr/ta/overlap/ssf3.py +94 -0
  107. trigerr-0.1.0/trigerr/ta/overlap/supertrend.py +108 -0
  108. trigerr-0.1.0/trigerr/ta/overlap/swma.py +68 -0
  109. trigerr-0.1.0/trigerr/ta/overlap/t3.py +84 -0
  110. trigerr-0.1.0/trigerr/ta/overlap/tema.py +73 -0
  111. trigerr-0.1.0/trigerr/ta/overlap/trima.py +77 -0
  112. trigerr-0.1.0/trigerr/ta/overlap/vidya.py +113 -0
  113. trigerr-0.1.0/trigerr/ta/overlap/wcp.py +65 -0
  114. trigerr-0.1.0/trigerr/ta/overlap/wma.py +94 -0
  115. trigerr-0.1.0/trigerr/ta/overlap/zlma.py +99 -0
  116. trigerr-0.1.0/trigerr/ta/performance/__init__.py +10 -0
  117. trigerr-0.1.0/trigerr/ta/performance/drawdown.py +68 -0
  118. trigerr-0.1.0/trigerr/ta/performance/log_return.py +64 -0
  119. trigerr-0.1.0/trigerr/ta/performance/percent_return.py +64 -0
  120. trigerr-0.1.0/trigerr/ta/py.typed +0 -0
  121. trigerr-0.1.0/trigerr/ta/statistics/__init__.py +24 -0
  122. trigerr-0.1.0/trigerr/ta/statistics/entropy.py +60 -0
  123. trigerr-0.1.0/trigerr/ta/statistics/kurtosis.py +58 -0
  124. trigerr-0.1.0/trigerr/ta/statistics/mad.py +61 -0
  125. trigerr-0.1.0/trigerr/ta/statistics/median.py +58 -0
  126. trigerr-0.1.0/trigerr/ta/statistics/quantile.py +57 -0
  127. trigerr-0.1.0/trigerr/ta/statistics/skew.py +58 -0
  128. trigerr-0.1.0/trigerr/ta/statistics/stdev.py +70 -0
  129. trigerr-0.1.0/trigerr/ta/statistics/tos_stdevall.py +96 -0
  130. trigerr-0.1.0/trigerr/ta/statistics/variance.py +70 -0
  131. trigerr-0.1.0/trigerr/ta/statistics/zscore.py +57 -0
  132. trigerr-0.1.0/trigerr/ta/trend/__init__.py +46 -0
  133. trigerr-0.1.0/trigerr/ta/trend/adx.py +168 -0
  134. trigerr-0.1.0/trigerr/ta/trend/alphatrend.py +161 -0
  135. trigerr-0.1.0/trigerr/ta/trend/amat.py +87 -0
  136. trigerr-0.1.0/trigerr/ta/trend/aroon.py +100 -0
  137. trigerr-0.1.0/trigerr/ta/trend/chop.py +92 -0
  138. trigerr-0.1.0/trigerr/ta/trend/cksp.py +101 -0
  139. trigerr-0.1.0/trigerr/ta/trend/decay.py +95 -0
  140. trigerr-0.1.0/trigerr/ta/trend/decreasing.py +85 -0
  141. trigerr-0.1.0/trigerr/ta/trend/dpo.py +69 -0
  142. trigerr-0.1.0/trigerr/ta/trend/ht_trendline.py +148 -0
  143. trigerr-0.1.0/trigerr/ta/trend/increasing.py +85 -0
  144. trigerr-0.1.0/trigerr/ta/trend/long_run.py +66 -0
  145. trigerr-0.1.0/trigerr/ta/trend/psar.py +154 -0
  146. trigerr-0.1.0/trigerr/ta/trend/qstick.py +67 -0
  147. trigerr-0.1.0/trigerr/ta/trend/rwi.py +94 -0
  148. trigerr-0.1.0/trigerr/ta/trend/short_run.py +66 -0
  149. trigerr-0.1.0/trigerr/ta/trend/trendflex.py +111 -0
  150. trigerr-0.1.0/trigerr/ta/trend/ttm_trend.py +76 -0
  151. trigerr-0.1.0/trigerr/ta/trend/vhf.py +68 -0
  152. trigerr-0.1.0/trigerr/ta/trend/vortex.py +83 -0
  153. trigerr-0.1.0/trigerr/ta/trend/zigzag.py +335 -0
  154. trigerr-0.1.0/trigerr/ta/utils/__init__.py +28 -0
  155. trigerr-0.1.0/trigerr/ta/utils/_candles.py +54 -0
  156. trigerr-0.1.0/trigerr/ta/utils/_core.py +454 -0
  157. trigerr-0.1.0/trigerr/ta/utils/_math.py +811 -0
  158. trigerr-0.1.0/trigerr/ta/utils/_numba.py +140 -0
  159. trigerr-0.1.0/trigerr/ta/utils/_signals.py +623 -0
  160. trigerr-0.1.0/trigerr/ta/utils/_study.py +144 -0
  161. trigerr-0.1.0/trigerr/ta/utils/_time.py +152 -0
  162. trigerr-0.1.0/trigerr/ta/utils/_validate.py +202 -0
  163. trigerr-0.1.0/trigerr/ta/volatility/__init__.py +36 -0
  164. trigerr-0.1.0/trigerr/ta/volatility/aberration.py +85 -0
  165. trigerr-0.1.0/trigerr/ta/volatility/accbands.py +93 -0
  166. trigerr-0.1.0/trigerr/ta/volatility/atr.py +107 -0
  167. trigerr-0.1.0/trigerr/ta/volatility/atrts.py +140 -0
  168. trigerr-0.1.0/trigerr/ta/volatility/bbands.py +124 -0
  169. trigerr-0.1.0/trigerr/ta/volatility/chandelier_exit.py +127 -0
  170. trigerr-0.1.0/trigerr/ta/volatility/donchian.py +77 -0
  171. trigerr-0.1.0/trigerr/ta/volatility/hwc.py +142 -0
  172. trigerr-0.1.0/trigerr/ta/volatility/kc.py +95 -0
  173. trigerr-0.1.0/trigerr/ta/volatility/massi.py +77 -0
  174. trigerr-0.1.0/trigerr/ta/volatility/natr.py +97 -0
  175. trigerr-0.1.0/trigerr/ta/volatility/pdist.py +67 -0
  176. trigerr-0.1.0/trigerr/ta/volatility/rvi.py +117 -0
  177. trigerr-0.1.0/trigerr/ta/volatility/thermo.py +111 -0
  178. trigerr-0.1.0/trigerr/ta/volatility/true_range.py +94 -0
  179. trigerr-0.1.0/trigerr/ta/volatility/ui.py +73 -0
  180. trigerr-0.1.0/trigerr/ta/volume/__init__.py +44 -0
  181. trigerr-0.1.0/trigerr/ta/volume/ad.py +72 -0
  182. trigerr-0.1.0/trigerr/ta/volume/adosc.py +95 -0
  183. trigerr-0.1.0/trigerr/ta/volume/aobv.py +113 -0
  184. trigerr-0.1.0/trigerr/ta/volume/cmf.py +79 -0
  185. trigerr-0.1.0/trigerr/ta/volume/efi.py +71 -0
  186. trigerr-0.1.0/trigerr/ta/volume/eom.py +82 -0
  187. trigerr-0.1.0/trigerr/ta/volume/kvo.py +100 -0
  188. trigerr-0.1.0/trigerr/ta/volume/mfi.py +97 -0
  189. trigerr-0.1.0/trigerr/ta/volume/nvi.py +68 -0
  190. trigerr-0.1.0/trigerr/ta/volume/obv.py +65 -0
  191. trigerr-0.1.0/trigerr/ta/volume/pvi.py +111 -0
  192. trigerr-0.1.0/trigerr/ta/volume/pvo.py +81 -0
  193. trigerr-0.1.0/trigerr/ta/volume/pvol.py +51 -0
  194. trigerr-0.1.0/trigerr/ta/volume/pvr.py +58 -0
  195. trigerr-0.1.0/trigerr/ta/volume/pvt.py +59 -0
  196. trigerr-0.1.0/trigerr/ta/volume/tsv.py +104 -0
  197. trigerr-0.1.0/trigerr/ta/volume/vhm.py +76 -0
  198. trigerr-0.1.0/trigerr/ta/volume/vp.py +128 -0
  199. trigerr-0.1.0/trigerr/ta/volume/vwap.py +120 -0
  200. trigerr-0.1.0/trigerr/ta/volume/vwma.py +58 -0
  201. trigerr-0.1.0/trigerr/utils.py +2141 -0
  202. trigerr-0.1.0/trigerr.egg-info/PKG-INFO +82 -0
  203. trigerr-0.1.0/trigerr.egg-info/SOURCES.txt +204 -0
  204. trigerr-0.1.0/trigerr.egg-info/dependency_links.txt +1 -0
  205. trigerr-0.1.0/trigerr.egg-info/requires.txt +11 -0
  206. trigerr-0.1.0/trigerr.egg-info/top_level.txt +1 -0
trigerr-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Anurag Singh Kushwah
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
trigerr-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,82 @@
1
+ Metadata-Version: 2.4
2
+ Name: trigerr
3
+ Version: 0.1.0
4
+ Summary: Python tools for quantitative trading research and analysis.
5
+ Author: Anurag Singh Kushwah
6
+ License-Expression: MIT
7
+ Classifier: Development Status :: 2 - Pre-Alpha
8
+ Classifier: Intended Audience :: Financial and Insurance Industry
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Programming Language :: Python :: 3 :: Only
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Requires-Python: >=3.10
15
+ Description-Content-Type: text/markdown
16
+ License-File: LICENSE
17
+ Requires-Dist: requests
18
+ Requires-Dist: numpy>=1.26.0
19
+ Requires-Dist: pandas>=2.0.0
20
+ Requires-Dist: redis==5.0.8
21
+ Requires-Dist: pymongo>=4.0
22
+ Requires-Dist: numba>=0.57
23
+ Requires-Dist: tqdm>=4.0
24
+ Provides-Extra: dev
25
+ Requires-Dist: build>=1.2; extra == "dev"
26
+ Requires-Dist: pytest>=7.0; extra == "dev"
27
+ Dynamic: license-file
28
+
29
+ # Trigerr
30
+
31
+ Trigerr is a Python package for quantitative trading research and analysis.
32
+ It is being developed as an open-source successor to an earlier internal
33
+ package, with an initial focus on dependable offline tools: technical
34
+ indicators, OHLCV utilities, market-structure analysis, P&L calculations,
35
+ reports, and in-memory backtesting.
36
+
37
+ ## Status
38
+
39
+ Trigerr is in its initial migration phase. The import namespace and packaging
40
+ are ready; the public API is not yet stable. Network-connected data and order
41
+ integrations will be redesigned as optional adapters rather than treated as
42
+ part of the core package.
43
+
44
+ Trigerr supports Python 3.10 and newer.
45
+
46
+ ## Installation
47
+
48
+ ```bash
49
+ pip install trigerr
50
+ ```
51
+
52
+ For local development from a checkout:
53
+
54
+ ```bash
55
+ pip install -e ".[dev]"
56
+ python -m pytest
57
+ ```
58
+
59
+ ## Current configuration API
60
+
61
+ The existing configuration helpers remain available while the integration
62
+ layer is migrated:
63
+
64
+ ```python
65
+ import trigerr
66
+
67
+ trigerr.set_api_key("your-api-key")
68
+ trigerr.set_data_url("https://data.example.com/")
69
+ trigerr.set_orders_url("https://orders.example.com/")
70
+ ```
71
+
72
+ Do not use real trading credentials in examples, tests, or committed files.
73
+
74
+ ## Roadmap
75
+
76
+ The near-term focus is stabilizing the offline analysis core (indicators,
77
+ utilities, backtesting) and reshaping the network-connected data and order
78
+ integrations into optional adapters.
79
+
80
+ ## License
81
+
82
+ Trigerr is released under the [MIT License](LICENSE).
@@ -0,0 +1,54 @@
1
+ # Trigerr
2
+
3
+ Trigerr is a Python package for quantitative trading research and analysis.
4
+ It is being developed as an open-source successor to an earlier internal
5
+ package, with an initial focus on dependable offline tools: technical
6
+ indicators, OHLCV utilities, market-structure analysis, P&L calculations,
7
+ reports, and in-memory backtesting.
8
+
9
+ ## Status
10
+
11
+ Trigerr is in its initial migration phase. The import namespace and packaging
12
+ are ready; the public API is not yet stable. Network-connected data and order
13
+ integrations will be redesigned as optional adapters rather than treated as
14
+ part of the core package.
15
+
16
+ Trigerr supports Python 3.10 and newer.
17
+
18
+ ## Installation
19
+
20
+ ```bash
21
+ pip install trigerr
22
+ ```
23
+
24
+ For local development from a checkout:
25
+
26
+ ```bash
27
+ pip install -e ".[dev]"
28
+ python -m pytest
29
+ ```
30
+
31
+ ## Current configuration API
32
+
33
+ The existing configuration helpers remain available while the integration
34
+ layer is migrated:
35
+
36
+ ```python
37
+ import trigerr
38
+
39
+ trigerr.set_api_key("your-api-key")
40
+ trigerr.set_data_url("https://data.example.com/")
41
+ trigerr.set_orders_url("https://orders.example.com/")
42
+ ```
43
+
44
+ Do not use real trading credentials in examples, tests, or committed files.
45
+
46
+ ## Roadmap
47
+
48
+ The near-term focus is stabilizing the offline analysis core (indicators,
49
+ utilities, backtesting) and reshaping the network-connected data and order
50
+ integrations into optional adapters.
51
+
52
+ ## License
53
+
54
+ Trigerr is released under the [MIT License](LICENSE).
@@ -0,0 +1,50 @@
1
+ [build-system]
2
+ requires = ["setuptools>=68"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "trigerr"
7
+ # Version is single-sourced from trigerr/__init__.py's __version__ —
8
+ # bump it there only; the build reads it via the dynamic attr below.
9
+ dynamic = ["version"]
10
+ description = "Python tools for quantitative trading research and analysis."
11
+ readme = "README.md"
12
+ requires-python = ">=3.10"
13
+ license = "MIT"
14
+ license-files = ["LICENSE"]
15
+ authors = [
16
+ { name = "Anurag Singh Kushwah" },
17
+ ]
18
+ classifiers = [
19
+ "Development Status :: 2 - Pre-Alpha",
20
+ "Intended Audience :: Financial and Insurance Industry",
21
+ "Programming Language :: Python :: 3",
22
+ "Programming Language :: Python :: 3 :: Only",
23
+ "Programming Language :: Python :: 3.10",
24
+ "Programming Language :: Python :: 3.11",
25
+ "Programming Language :: Python :: 3.12",
26
+ ]
27
+ dependencies = [
28
+ "requests",
29
+ "numpy>=1.26.0",
30
+ "pandas>=2.0.0",
31
+ "redis==5.0.8",
32
+ "pymongo>=4.0",
33
+ "numba>=0.57",
34
+ "tqdm>=4.0",
35
+ ]
36
+
37
+ [project.optional-dependencies]
38
+ dev = [
39
+ "build>=1.2",
40
+ "pytest>=7.0",
41
+ ]
42
+
43
+ [tool.setuptools.dynamic]
44
+ version = {attr = "trigerr.__version__"}
45
+
46
+ [tool.setuptools.packages.find]
47
+ include = ["trigerr*"]
48
+
49
+ [tool.pytest.ini_options]
50
+ testpaths = ["tests"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,18 @@
1
+ import trigerr
2
+
3
+
4
+ def test_package_exposes_configuration_helpers():
5
+ assert callable(trigerr.set_api_key)
6
+ assert callable(trigerr.set_data_url)
7
+ assert callable(trigerr.set_orders_url)
8
+
9
+
10
+ def test_configuration_helpers_update_package_config():
11
+ trigerr.set_api_key("test-key")
12
+ trigerr.set_data_url("https://data.example.test/")
13
+ trigerr.set_orders_url("https://orders.example.test/")
14
+
15
+ assert trigerr.config["api_key"] == "test-key"
16
+ assert trigerr.config["data_url"] == "https://data.example.test/"
17
+ assert trigerr.config["orders_url"] == "https://orders.example.test/"
18
+
@@ -0,0 +1,18 @@
1
+ from .config import config
2
+
3
+ __version__ = "0.1.0"
4
+
5
+
6
+ def set_api_key(key):
7
+ """ Function to set api key """
8
+ config["api_key"] = key
9
+
10
+
11
+ def set_data_url(url):
12
+ """ Function to set data url """
13
+ config["data_url"] = url
14
+
15
+
16
+ def set_orders_url(url):
17
+ """ Function to set Orders URL """
18
+ config["orders_url"] = url
@@ -0,0 +1,7 @@
1
+ config = {
2
+ "api_key": None,
3
+ "orders_url": None,
4
+ "data_url": None,
5
+ # "orders_url": "http://127.0.0.1:5001/",
6
+ # "data_url": "http://127.0.0.1:5001/"
7
+ }