ta-lib 0.5.1__tar.gz → 0.5.3__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. {ta_lib-0.5.1 → ta_lib-0.5.3}/PKG-INFO +14 -3
  2. {ta_lib-0.5.1 → ta_lib-0.5.3}/README.md +12 -2
  3. ta_lib-0.5.3/pyproject.toml +8 -0
  4. {ta_lib-0.5.1 → ta_lib-0.5.3}/setup.py +4 -3
  5. {ta_lib-0.5.1 → ta_lib-0.5.3}/ta_lib.egg-info/PKG-INFO +14 -3
  6. {ta_lib-0.5.1 → ta_lib-0.5.3}/ta_lib.egg-info/SOURCES.txt +2 -0
  7. ta_lib-0.5.3/ta_lib.egg-info/requires.txt +2 -0
  8. {ta_lib-0.5.1 → ta_lib-0.5.3}/talib/__init__.py +1 -1
  9. ta_lib-0.5.3/talib/_ta_lib.pyi +981 -0
  10. ta_lib-0.5.3/talib/py.typed +0 -0
  11. ta_lib-0.5.1/pyproject.toml +0 -8
  12. ta_lib-0.5.1/ta_lib.egg-info/requires.txt +0 -1
  13. {ta_lib-0.5.1 → ta_lib-0.5.3}/AUTHORS +0 -0
  14. {ta_lib-0.5.1 → ta_lib-0.5.3}/COPYRIGHT +0 -0
  15. {ta_lib-0.5.1 → ta_lib-0.5.3}/LICENSE +0 -0
  16. {ta_lib-0.5.1 → ta_lib-0.5.3}/MANIFEST.in +0 -0
  17. {ta_lib-0.5.1 → ta_lib-0.5.3}/setup.cfg +0 -0
  18. {ta_lib-0.5.1 → ta_lib-0.5.3}/ta_lib.egg-info/dependency_links.txt +0 -0
  19. {ta_lib-0.5.1 → ta_lib-0.5.3}/ta_lib.egg-info/top_level.txt +0 -0
  20. {ta_lib-0.5.1 → ta_lib-0.5.3}/talib/_abstract.pxi +0 -0
  21. {ta_lib-0.5.1 → ta_lib-0.5.3}/talib/_common.pxi +0 -0
  22. {ta_lib-0.5.1 → ta_lib-0.5.3}/talib/_func.pxi +0 -0
  23. {ta_lib-0.5.1 → ta_lib-0.5.3}/talib/_stream.pxi +0 -0
  24. {ta_lib-0.5.1 → ta_lib-0.5.3}/talib/_ta_lib.c +0 -0
  25. {ta_lib-0.5.1 → ta_lib-0.5.3}/talib/_ta_lib.pyx +0 -0
  26. {ta_lib-0.5.1 → ta_lib-0.5.3}/talib/abstract.py +0 -0
  27. {ta_lib-0.5.1 → ta_lib-0.5.3}/talib/deprecated.py +0 -0
  28. {ta_lib-0.5.1 → ta_lib-0.5.3}/talib/stream.py +0 -0
  29. {ta_lib-0.5.1 → ta_lib-0.5.3}/tests/conftest.py +0 -0
  30. {ta_lib-0.5.1 → ta_lib-0.5.3}/tests/test_abstract.py +0 -0
  31. {ta_lib-0.5.1 → ta_lib-0.5.3}/tests/test_func.py +0 -0
  32. {ta_lib-0.5.1 → ta_lib-0.5.3}/tests/test_pandas.py +0 -0
  33. {ta_lib-0.5.1 → ta_lib-0.5.3}/tests/test_polars.py +0 -0
  34. {ta_lib-0.5.1 → ta_lib-0.5.3}/tests/test_stream.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ta-lib
3
- Version: 0.5.1
3
+ Version: 0.5.3
4
4
  Summary: Python wrapper for TA-Lib
5
5
  Home-page: http://github.com/ta-lib/ta-lib-python
6
6
  Download-URL: https://github.com/ta-lib/ta-lib-python/releases
@@ -37,6 +37,7 @@ Classifier: Intended Audience :: Financial and Insurance Industry
37
37
  Description-Content-Type: text/markdown
38
38
  License-File: LICENSE
39
39
  License-File: AUTHORS
40
+ Requires-Dist: setuptools
40
41
  Requires-Dist: numpy
41
42
 
42
43
  # TA-Lib
@@ -142,8 +143,7 @@ and unzip to ``C:\ta-lib``.
142
143
  > 3. Download and Install Visual Studio Community (2015 or later)
143
144
  > * Remember to Select ``[Visual C++]`` Feature
144
145
  > 4. Build TA-Lib Library
145
- > * From Windows Start Menu, Start ``[VS2015 x64 Native Tools Command
146
- > Prompt]``
146
+ > * From Windows Start Menu, Start ``[x64 Native Tools Command Prompt]``
147
147
  > * Move to ``C:\ta-lib\c\make\cdr\win32\msvc``
148
148
  > * Build the Library ``nmake``
149
149
 
@@ -376,6 +376,17 @@ If you want to use ``numpy<2``, then you should use ``ta-lib<0.5``.
376
376
 
377
377
  If you want to use ``numpy>=2``, then you should use ``ta-lib>=0.5``.
378
378
 
379
+ ---
380
+
381
+ If you have trouble getting the code autocompletions to work in Visual
382
+ Studio Code, a suggestion was made to look for the ``Python`` extension
383
+ settings, and an option for ``Language Server``, and change it from
384
+ ``Default`` (which means ``Pylance if it is installed, Jedi otherwise``, to
385
+ manually set ``Jedi`` and the completions should work. It is possible that
386
+ you might need to [install it
387
+ manually](https://github.com/pappasam/jedi-language-server) for this to
388
+ work.
389
+
379
390
  ## Function API
380
391
 
381
392
  Similar to TA-Lib, the Function API provides a lightweight wrapper of the
@@ -101,8 +101,7 @@ and unzip to ``C:\ta-lib``.
101
101
  > 3. Download and Install Visual Studio Community (2015 or later)
102
102
  > * Remember to Select ``[Visual C++]`` Feature
103
103
  > 4. Build TA-Lib Library
104
- > * From Windows Start Menu, Start ``[VS2015 x64 Native Tools Command
105
- > Prompt]``
104
+ > * From Windows Start Menu, Start ``[x64 Native Tools Command Prompt]``
106
105
  > * Move to ``C:\ta-lib\c\make\cdr\win32\msvc``
107
106
  > * Build the Library ``nmake``
108
107
 
@@ -335,6 +334,17 @@ If you want to use ``numpy<2``, then you should use ``ta-lib<0.5``.
335
334
 
336
335
  If you want to use ``numpy>=2``, then you should use ``ta-lib>=0.5``.
337
336
 
337
+ ---
338
+
339
+ If you have trouble getting the code autocompletions to work in Visual
340
+ Studio Code, a suggestion was made to look for the ``Python`` extension
341
+ settings, and an option for ``Language Server``, and change it from
342
+ ``Default`` (which means ``Pylance if it is installed, Jedi otherwise``, to
343
+ manually set ``Jedi`` and the completions should work. It is possible that
344
+ you might need to [install it
345
+ manually](https://github.com/pappasam/jedi-language-server) for this to
346
+ work.
347
+
338
348
  ## Function API
339
349
 
340
350
  Similar to TA-Lib, the Function API provides a lightweight wrapper of the
@@ -0,0 +1,8 @@
1
+ [project]
2
+ name = "ta-lib"
3
+ version = "0.5.3"
4
+ dynamic = ["authors", "classifiers", "description", "license", "readme"]
5
+ dependencies = [
6
+ "setuptools",
7
+ "numpy",
8
+ ]
@@ -18,8 +18,6 @@ except ImportError:
18
18
  from distutils.extension import Extension
19
19
  requires = {"requires": ["numpy"]}
20
20
 
21
- lib_talib_name = 'ta_lib' # the underlying C library's name
22
-
23
21
  platform_supported = False
24
22
 
25
23
  if any(s in sys.platform for s in ['darwin', 'linux', 'bsd', 'sunos']):
@@ -64,6 +62,8 @@ try:
64
62
  except ImportError:
65
63
  has_cython = False
66
64
 
65
+ lib_talib_name = 'ta_lib' # the name as of TA-Lib 0.4.0
66
+
67
67
  for path in library_dirs:
68
68
  try:
69
69
  files = os.listdir(path)
@@ -143,7 +143,7 @@ with open(path.join(this_directory, 'README.md'), encoding='utf-8') as f:
143
143
 
144
144
  setup(
145
145
  name='TA-Lib',
146
- version='0.5.1',
146
+ version='0.5.3',
147
147
  description='Python wrapper for TA-Lib',
148
148
  long_description=long_description,
149
149
  long_description_content_type='text/markdown',
@@ -183,5 +183,6 @@ setup(
183
183
  ],
184
184
  packages=['talib'],
185
185
  ext_modules=ext_modules,
186
+ package_data={ 'talib': ['_ta_lib.pyi', 'py.typed'], },
186
187
  cmdclass=cmdclass,
187
188
  **requires)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ta-lib
3
- Version: 0.5.1
3
+ Version: 0.5.3
4
4
  Summary: Python wrapper for TA-Lib
5
5
  Home-page: http://github.com/ta-lib/ta-lib-python
6
6
  Download-URL: https://github.com/ta-lib/ta-lib-python/releases
@@ -37,6 +37,7 @@ Classifier: Intended Audience :: Financial and Insurance Industry
37
37
  Description-Content-Type: text/markdown
38
38
  License-File: LICENSE
39
39
  License-File: AUTHORS
40
+ Requires-Dist: setuptools
40
41
  Requires-Dist: numpy
41
42
 
42
43
  # TA-Lib
@@ -142,8 +143,7 @@ and unzip to ``C:\ta-lib``.
142
143
  > 3. Download and Install Visual Studio Community (2015 or later)
143
144
  > * Remember to Select ``[Visual C++]`` Feature
144
145
  > 4. Build TA-Lib Library
145
- > * From Windows Start Menu, Start ``[VS2015 x64 Native Tools Command
146
- > Prompt]``
146
+ > * From Windows Start Menu, Start ``[x64 Native Tools Command Prompt]``
147
147
  > * Move to ``C:\ta-lib\c\make\cdr\win32\msvc``
148
148
  > * Build the Library ``nmake``
149
149
 
@@ -376,6 +376,17 @@ If you want to use ``numpy<2``, then you should use ``ta-lib<0.5``.
376
376
 
377
377
  If you want to use ``numpy>=2``, then you should use ``ta-lib>=0.5``.
378
378
 
379
+ ---
380
+
381
+ If you have trouble getting the code autocompletions to work in Visual
382
+ Studio Code, a suggestion was made to look for the ``Python`` extension
383
+ settings, and an option for ``Language Server``, and change it from
384
+ ``Default`` (which means ``Pylance if it is installed, Jedi otherwise``, to
385
+ manually set ``Jedi`` and the completions should work. It is possible that
386
+ you might need to [install it
387
+ manually](https://github.com/pappasam/jedi-language-server) for this to
388
+ work.
389
+
379
390
  ## Function API
380
391
 
381
392
  Similar to TA-Lib, the Function API provides a lightweight wrapper of the
@@ -16,9 +16,11 @@ talib/_common.pxi
16
16
  talib/_func.pxi
17
17
  talib/_stream.pxi
18
18
  talib/_ta_lib.c
19
+ talib/_ta_lib.pyi
19
20
  talib/_ta_lib.pyx
20
21
  talib/abstract.py
21
22
  talib/deprecated.py
23
+ talib/py.typed
22
24
  talib/stream.py
23
25
  tests/conftest.py
24
26
  tests/test_abstract.py
@@ -0,0 +1,2 @@
1
+ setuptools
2
+ numpy
@@ -132,7 +132,7 @@ for func_name, stream_func_name in zip(__TA_FUNCTION_NAMES__, stream_func_names)
132
132
  setattr(stream, func_name, wrapped_func)
133
133
  globals()[stream_func_name] = wrapped_func
134
134
 
135
- __version__ = '0.5.1'
135
+ __version__ = '0.5.3'
136
136
 
137
137
  # In order to use this python library, talib (i.e. this __file__) will be
138
138
  # imported at some point, either explicitly or indirectly via talib.func
@@ -0,0 +1,981 @@
1
+ import numpy as np
2
+ from enum import Enum
3
+ from typing import Tuple
4
+ from numpy.typing import NDArray
5
+
6
+ class MA_Type(Enum):
7
+ SMA = 0
8
+ EMA = 1
9
+ WMA = 2
10
+ DEMA = 3
11
+ TEMA = 4
12
+ TRIMA = 5
13
+ KAMA = 6
14
+ MAMA = 7
15
+ T3 = 8
16
+
17
+ #Overlap Studies Functions
18
+
19
+ def BBANDS(
20
+ real: NDArray[np.float64],
21
+ timeperiod: int= 5,
22
+ nbdevup: float= 2,
23
+ nbdevdn: float= 2,
24
+ matype: MA_Type = MA_Type.SMA
25
+ )-> Tuple[NDArray[np.float64], NDArray[np.float64], NDArray[np.float64]]: ...
26
+
27
+ def DEMA(
28
+ real: NDArray[np.float64],
29
+ timeperiod: int= 30
30
+ )-> NDArray[np.float64]: ...
31
+
32
+ def EMA(
33
+ real: NDArray[np.float64],
34
+ timeperiod: int= 30
35
+ )-> NDArray[np.float64]: ...
36
+
37
+ def HT_TRENDLINE(real: NDArray[np.float64])-> NDArray[np.float64]: ...
38
+
39
+ def KAMA(
40
+ real: NDArray[np.float64],
41
+ timeperiod: int= 30
42
+ )-> NDArray[np.float64]: ...
43
+
44
+ def MA(
45
+ real: NDArray[np.float64],
46
+ timeperiod: int= 30,
47
+ matype: MA_Type = MA_Type.SMA
48
+ )-> NDArray[np.float64]: ...
49
+
50
+ def MAMA(
51
+ real: NDArray[np.float64],
52
+ fastlimit: float= 0,
53
+ slowlimit: float= 0
54
+ )-> Tuple[NDArray[np.float64], NDArray[np.float64]]: ...
55
+
56
+ def MAVP(
57
+ real: NDArray[np.float64],
58
+ periods: float,
59
+ minperiod: int= 2,
60
+ maxperiod: int= 30,
61
+ matype: MA_Type = MA_Type.SMA
62
+ )-> NDArray[np.float64]: ...
63
+
64
+ def MIDPOINT(
65
+ real: NDArray[np.float64],
66
+ timeperiod: int= 14
67
+ )-> NDArray[np.float64]: ...
68
+
69
+ def MIDPRICE(
70
+ high: NDArray[np.float64],
71
+ low: NDArray[np.float64],
72
+ timeperiod: int= 14
73
+ )-> NDArray[np.float64]: ...
74
+
75
+ def SAR(
76
+ high: NDArray[np.float64],
77
+ low: NDArray[np.float64],
78
+ acceleration: float= 0,
79
+ maximum: float= 0
80
+ )-> NDArray[np.float64]: ...
81
+
82
+ def SAREXT(
83
+ high: NDArray[np.float64],
84
+ low: NDArray[np.float64],
85
+ startvalue: float= 0,
86
+ offsetonreverse: float= 0,
87
+ accelerationinitlong: float= 0,
88
+ accelerationlong: float= 0,
89
+ accelerationmaxlong: float= 0,
90
+ accelerationinitshort: float= 0,
91
+ accelerationshort: float= 0,
92
+ accelerationmaxshort: float= 0
93
+ )-> NDArray[np.float64]: ...
94
+
95
+ def SMA(
96
+ real: NDArray[np.float64],
97
+ timeperiod: int= 30
98
+ )-> NDArray[np.float64]: ...
99
+
100
+ def T3(
101
+ real: NDArray[np.float64],
102
+ timeperiod: int= 5,
103
+ vfactor: float= 0
104
+ )-> NDArray[np.float64]: ...
105
+
106
+ def TEMA(
107
+ real: NDArray[np.float64],
108
+ timeperiod: int= 30
109
+ )-> NDArray[np.float64]: ...
110
+
111
+ def TRIMA(
112
+ real: NDArray[np.float64],
113
+ timeperiod: int= 30
114
+ )-> NDArray[np.float64]: ...
115
+
116
+ def WMA(
117
+ real: NDArray[np.float64],
118
+ timeperiod: int= 30
119
+ )-> NDArray[np.float64]: ...
120
+
121
+ #Momentum Indicator Functions
122
+
123
+ def ADX(
124
+ high: NDArray[np.float64],
125
+ low: NDArray[np.float64],
126
+ close: NDArray[np.float64],
127
+ timeperiod: int= 14
128
+ )-> NDArray[np.float64]: ...
129
+
130
+ def ADXR(
131
+ high: NDArray[np.float64],
132
+ low: NDArray[np.float64],
133
+ close: NDArray[np.float64],
134
+ timeperiod: int= 14
135
+ )-> NDArray[np.float64]: ...
136
+
137
+ def APO(
138
+ real: NDArray[np.float64],
139
+ fastperiod: int= 12,
140
+ slowperiod: int= 26,
141
+ matype: MA_Type = MA_Type.SMA
142
+ )-> NDArray[np.float64]: ...
143
+
144
+ def AROON(
145
+ high: NDArray[np.float64],
146
+ low: NDArray[np.float64],
147
+ timeperiod: int= 14
148
+ )-> Tuple[NDArray[np.float64], NDArray[np.float64]]: ...
149
+
150
+ def AROONOSC(
151
+ high: NDArray[np.float64],
152
+ low: NDArray[np.float64],
153
+ timeperiod: int= 14
154
+ )-> NDArray[np.float64]: ...
155
+
156
+ def BOP(
157
+ open: NDArray[np.float64],
158
+ high: NDArray[np.float64],
159
+ low: NDArray[np.float64],
160
+ close: NDArray[np.float64]
161
+ )-> NDArray[np.float64]: ...
162
+
163
+ def CCI(
164
+ high: NDArray[np.float64],
165
+ low: NDArray[np.float64],
166
+ close: NDArray[np.float64],
167
+ timeperiod: int= 14
168
+ )-> NDArray[np.float64]: ...
169
+
170
+ def CMO(
171
+ real: NDArray[np.float64],
172
+ timeperiod: int= 14
173
+ )-> NDArray[np.float64]: ...
174
+
175
+ def DX(
176
+ high: NDArray[np.float64],
177
+ low: NDArray[np.float64],
178
+ close: NDArray[np.float64],
179
+ timeperiod: int= 14
180
+ )-> NDArray[np.float64]: ...
181
+
182
+ def MACD(
183
+ real: NDArray[np.float64],
184
+ fastperiod: int= 12,
185
+ slowperiod: int= 26,
186
+ signalperiod: int= 9
187
+ )-> Tuple[NDArray[np.float64], NDArray[np.float64], NDArray[np.float64]]: ...
188
+
189
+ def MACDEXT(
190
+ real: NDArray[np.float64],
191
+ fastperiod: int= 12,
192
+ fastmatype: MA_Type = MA_Type.SMA,
193
+ slowperiod: int= 26,
194
+ slowmatype: MA_Type = MA_Type.SMA,
195
+ signalperiod: int= 9,
196
+ signalmatype: MA_Type = MA_Type.SMA
197
+ )-> Tuple[NDArray[np.float64], NDArray[np.float64], NDArray[np.float64]]: ...
198
+
199
+ def MACDFIX(
200
+ real: NDArray[np.float64],
201
+ signalperiod: int= 9
202
+ )-> Tuple[NDArray[np.float64], NDArray[np.float64], NDArray[np.float64]]: ...
203
+
204
+ def MFI(
205
+ high: NDArray[np.float64],
206
+ low: NDArray[np.float64],
207
+ close: NDArray[np.float64],
208
+ volume: NDArray[np.float64],
209
+ timeperiod: int= 14
210
+ )-> NDArray[np.float64]: ...
211
+
212
+ def MINUS_DI(
213
+ high: NDArray[np.float64],
214
+ low: NDArray[np.float64],
215
+ close: NDArray[np.float64],
216
+ timeperiod: int= 14
217
+ )-> NDArray[np.float64]: ...
218
+
219
+ def MINUS_DM(
220
+ high: NDArray[np.float64],
221
+ low: NDArray[np.float64],
222
+ timeperiod: int= 14
223
+ )-> NDArray[np.float64]: ...
224
+
225
+ def MOM(
226
+ real: NDArray[np.float64],
227
+ timeperiod: int= 10
228
+ )-> NDArray[np.float64]: ...
229
+
230
+ def PLUS_DI(
231
+ high: NDArray[np.float64],
232
+ low: NDArray[np.float64],
233
+ close: NDArray[np.float64],
234
+ timeperiod: int= 14
235
+ )-> NDArray[np.float64]: ...
236
+
237
+ def PLUS_DM(
238
+ high: NDArray[np.float64],
239
+ low: NDArray[np.float64],
240
+ timeperiod: int= 14
241
+ )-> NDArray[np.float64]: ...
242
+
243
+ def PPO(
244
+ real: NDArray[np.float64],
245
+ fastperiod: int= 12,
246
+ slowperiod: int= 26,
247
+ matype: MA_Type = MA_Type.SMA
248
+ )-> NDArray[np.float64]: ...
249
+
250
+ def ROC(
251
+ real: NDArray[np.float64],
252
+ timeperiod: int= 10
253
+ )-> NDArray[np.float64]: ...
254
+
255
+ def ROCP(
256
+ real: NDArray[np.float64],
257
+ timeperiod: int= 10
258
+ )-> NDArray[np.float64]: ...
259
+
260
+ def ROCR(
261
+ real: NDArray[np.float64],
262
+ timeperiod: int= 10
263
+ )-> NDArray[np.float64]: ...
264
+
265
+ def ROCR100(
266
+ real: NDArray[np.float64],
267
+ timeperiod: int= 10
268
+ )-> NDArray[np.float64]: ...
269
+
270
+ def RSI(
271
+ real: NDArray[np.float64],
272
+ timeperiod: int= 14
273
+ )-> NDArray[np.float64]: ...
274
+
275
+ def STOCH(
276
+ high: NDArray[np.float64],
277
+ low: NDArray[np.float64],
278
+ close: NDArray[np.float64],
279
+ fastk_period: int= 5,
280
+ slowk_period: int= 3,
281
+ slowk_matype: MA_Type = MA_Type.SMA,
282
+ slowd_period: int= 3,
283
+ slowd_matype: MA_Type = MA_Type.SMA
284
+ )-> Tuple[NDArray[np.float64], NDArray[np.float64]]: ...
285
+
286
+ def STOCHF(
287
+ high: NDArray[np.float64],
288
+ low: NDArray[np.float64],
289
+ close: NDArray[np.float64],
290
+ fastk_period: int= 5,
291
+ fastd_period: int= 3,
292
+ fastd_matype: MA_Type = MA_Type.SMA
293
+ )-> Tuple[NDArray[np.float64], NDArray[np.float64]]: ...
294
+
295
+ def STOCHRSI(
296
+ real: NDArray[np.float64],
297
+ timeperiod: int= 14,
298
+ fastk_period: int= 5,
299
+ fastd_period: int= 3,
300
+ fastd_matype: MA_Type = MA_Type.SMA
301
+ )-> Tuple[NDArray[np.float64], NDArray[np.float64]]: ...
302
+
303
+ def TRIX(
304
+ real: NDArray[np.float64],
305
+ timeperiod: int= 30
306
+ )-> NDArray[np.float64]: ...
307
+
308
+ def ULTOSC(
309
+ high: NDArray[np.float64],
310
+ low: NDArray[np.float64],
311
+ close: NDArray[np.float64],
312
+ timeperiod1: int= 7,
313
+ timeperiod2: int= 14,
314
+ timeperiod3: int= 28
315
+ )-> NDArray[np.float64]: ...
316
+
317
+ def WILLR(
318
+ high: NDArray[np.float64],
319
+ low: NDArray[np.float64],
320
+ close: NDArray[np.float64],
321
+ timeperiod: int= 14
322
+ )-> NDArray[np.float64]: ...
323
+
324
+ #Volume Indicator Functions
325
+
326
+ def AD(
327
+ high: NDArray[np.float64],
328
+ low: NDArray[np.float64],
329
+ close: NDArray[np.float64],
330
+ volume: NDArray[np.float64]
331
+ )-> NDArray[np.float64]: ...
332
+
333
+ def ADOSC(
334
+ high: NDArray[np.float64],
335
+ low: NDArray[np.float64],
336
+ close: NDArray[np.float64],
337
+ volume: NDArray[np.float64],
338
+ fastperiod: int= 3,
339
+ slowperiod: int= 10
340
+ )-> NDArray[np.float64]: ...
341
+
342
+ def OBV(
343
+ close: NDArray[np.float64],
344
+ volume: NDArray[np.float64]
345
+ )-> NDArray[np.float64]: ...
346
+
347
+ #Volatility Indicator Functions
348
+
349
+ def ATR(
350
+ high: NDArray[np.float64],
351
+ low: NDArray[np.float64],
352
+ close: NDArray[np.float64],
353
+ timeperiod: int= 14
354
+ )-> NDArray[np.float64]: ...
355
+
356
+ def NATR(
357
+ high: NDArray[np.float64],
358
+ low: NDArray[np.float64],
359
+ close: NDArray[np.float64],
360
+ timeperiod: int= 14
361
+ )-> NDArray[np.float64]: ...
362
+
363
+ def TRANGE(
364
+ high: NDArray[np.float64],
365
+ low: NDArray[np.float64],
366
+ close: NDArray[np.float64]
367
+ )-> NDArray[np.float64]: ...
368
+
369
+ # Price Transform Functions
370
+
371
+ def AVGPRICE(
372
+ open: NDArray[np.float64],
373
+ high: NDArray[np.float64],
374
+ low: NDArray[np.float64],
375
+ close: NDArray[np.float64]
376
+ )-> NDArray[np.float64]: ...
377
+
378
+ def MEDPRICE(
379
+ high: NDArray[np.float64],
380
+ low: NDArray[np.float64]
381
+ )-> NDArray[np.float64]: ...
382
+
383
+ def TYPPRICE(
384
+ high: NDArray[np.float64],
385
+ low: NDArray[np.float64],
386
+ close: NDArray[np.float64]
387
+ )-> NDArray[np.float64]: ...
388
+
389
+ def WCLPRICE(
390
+ high: NDArray[np.float64],
391
+ low: NDArray[np.float64],
392
+ close: NDArray[np.float64]
393
+ )-> NDArray[np.float64]: ...
394
+
395
+ # Cycle Indicator Functions
396
+
397
+ def HT_DCPERIOD(real: NDArray[np.float64])-> NDArray[np.float64]: ...
398
+
399
+ def HT_DCPHASE(real: NDArray[np.float64])-> NDArray[np.float64]: ...
400
+
401
+ def HT_PHASOR(real: NDArray[np.float64])-> Tuple[NDArray[np.float64], NDArray[np.float64]]: ...
402
+
403
+ def HT_SINE(real: NDArray[np.float64])-> Tuple[NDArray[np.float64], NDArray[np.float64]]: ...
404
+
405
+ def HT_TRENDMODE(real: NDArray[np.float64])-> Tuple[NDArray[np.float64], NDArray[np.int32]]: ...
406
+
407
+ #Pattern Recognition Functions
408
+
409
+ def CDL2CROWS(
410
+ open: NDArray[np.float64],
411
+ high: NDArray[np.float64],
412
+ low: NDArray[np.float64],
413
+ close: NDArray[np.float64]
414
+ )-> NDArray[np.int32]: ...
415
+
416
+ def CDL3BLACKCROWS(
417
+ open: NDArray[np.float64],
418
+ high: NDArray[np.float64],
419
+ low: NDArray[np.float64],
420
+ close: NDArray[np.float64]
421
+ )-> NDArray[np.int32]: ...
422
+
423
+ def CDL3INSIDE(
424
+ open: NDArray[np.float64],
425
+ high: NDArray[np.float64],
426
+ low: NDArray[np.float64],
427
+ close: NDArray[np.float64]
428
+ )-> NDArray[np.int32]: ...
429
+
430
+ def CDL3LINESTRIKE(
431
+ open: NDArray[np.float64],
432
+ high: NDArray[np.float64],
433
+ low: NDArray[np.float64],
434
+ close: NDArray[np.float64]
435
+ )-> NDArray[np.int32]: ...
436
+
437
+ def CDL3OUTSIDE(
438
+ open: NDArray[np.float64],
439
+ high: NDArray[np.float64],
440
+ low: NDArray[np.float64],
441
+ close: NDArray[np.float64]
442
+ )-> NDArray[np.int32]: ...
443
+
444
+ def CDL3STARSINSOUTH(
445
+ open: NDArray[np.float64],
446
+ high: NDArray[np.float64],
447
+ low: NDArray[np.float64],
448
+ close: NDArray[np.float64]
449
+ )-> NDArray[np.int32]: ...
450
+
451
+ def CDL3WHITESOLDIERS(
452
+ open: NDArray[np.float64],
453
+ high: NDArray[np.float64],
454
+ low: NDArray[np.float64],
455
+ close: NDArray[np.float64]
456
+ )-> NDArray[np.int32]: ...
457
+
458
+ def CDLABANDONEDBABY(
459
+ open: NDArray[np.float64],
460
+ high: NDArray[np.float64],
461
+ low: NDArray[np.float64],
462
+ close: NDArray[np.float64],
463
+ penetration: float= 0
464
+ )-> NDArray[np.int32]: ...
465
+
466
+ def CDLADVANCEBLOCK(
467
+ open: NDArray[np.float64],
468
+ high: NDArray[np.float64],
469
+ low: NDArray[np.float64],
470
+ close: NDArray[np.float64]
471
+ )-> NDArray[np.int32]: ...
472
+
473
+ def CDLBELTHOLD(
474
+ open: NDArray[np.float64],
475
+ high: NDArray[np.float64],
476
+ low: NDArray[np.float64],
477
+ close: NDArray[np.float64]
478
+ )-> NDArray[np.int32]: ...
479
+
480
+ def CDLBREAKAWAY(
481
+ open: NDArray[np.float64],
482
+ high: NDArray[np.float64],
483
+ low: NDArray[np.float64],
484
+ close: NDArray[np.float64]
485
+ )-> NDArray[np.int32]: ...
486
+
487
+ def CDLCLOSINGMARUBOZU(
488
+ open: NDArray[np.float64],
489
+ high: NDArray[np.float64],
490
+ low: NDArray[np.float64],
491
+ close: NDArray[np.float64]
492
+ )-> NDArray[np.int32]: ...
493
+
494
+ def CDLCONCEALBABYSWALL(
495
+ open: NDArray[np.float64],
496
+ high: NDArray[np.float64],
497
+ low: NDArray[np.float64],
498
+ close: NDArray[np.float64]
499
+ )-> NDArray[np.int32]: ...
500
+
501
+ def CDLCOUNTERATTACK(
502
+ open: NDArray[np.float64],
503
+ high: NDArray[np.float64],
504
+ low: NDArray[np.float64],
505
+ close: NDArray[np.float64]
506
+ )-> NDArray[np.int32]: ...
507
+
508
+ def CDLDARKCLOUDCOVER(
509
+ open: NDArray[np.float64],
510
+ high: NDArray[np.float64],
511
+ low: NDArray[np.float64],
512
+ close: NDArray[np.float64],
513
+ penetration: float= 0
514
+ )-> NDArray[np.int32]: ...
515
+
516
+ def CDLDOJI(
517
+ open: NDArray[np.float64],
518
+ high: NDArray[np.float64],
519
+ low: NDArray[np.float64],
520
+ close: NDArray[np.float64]
521
+ )-> NDArray[np.int32]: ...
522
+
523
+ def CDLDOJISTAR(
524
+ open: NDArray[np.float64],
525
+ high: NDArray[np.float64],
526
+ low: NDArray[np.float64],
527
+ close: NDArray[np.float64]
528
+ )-> NDArray[np.int32]: ...
529
+
530
+ def CDLDRAGONFLYDOJI(
531
+ open: NDArray[np.float64],
532
+ high: NDArray[np.float64],
533
+ low: NDArray[np.float64],
534
+ close: NDArray[np.float64]
535
+ )-> NDArray[np.int32]: ...
536
+
537
+ def CDLENGULFING(
538
+ open: NDArray[np.float64],
539
+ high: NDArray[np.float64],
540
+ low: NDArray[np.float64],
541
+ close: NDArray[np.float64]
542
+ )-> NDArray[np.int32]: ...
543
+
544
+ def CDLEVENINGDOJISTAR(
545
+ open: NDArray[np.float64],
546
+ high: NDArray[np.float64],
547
+ low: NDArray[np.float64],
548
+ close: NDArray[np.float64],
549
+ penetration: float= 0
550
+ )-> NDArray[np.int32]: ...
551
+
552
+ def CDLEVENINGSTAR(
553
+ open: NDArray[np.float64],
554
+ high: NDArray[np.float64],
555
+ low: NDArray[np.float64],
556
+ close: NDArray[np.float64],
557
+ penetration: float= 0
558
+ )-> NDArray[np.int32]: ...
559
+
560
+ def CDLGAPSIDESIDEWHITE(
561
+ open: NDArray[np.float64],
562
+ high: NDArray[np.float64],
563
+ low: NDArray[np.float64],
564
+ close: NDArray[np.float64]
565
+ )-> NDArray[np.int32]: ...
566
+
567
+ def CDLGRAVESTONEDOJI(
568
+ open: NDArray[np.float64],
569
+ high: NDArray[np.float64],
570
+ low: NDArray[np.float64],
571
+ close: NDArray[np.float64]
572
+ )-> NDArray[np.int32]: ...
573
+
574
+ def CDLHAMMER(
575
+ open: NDArray[np.float64],
576
+ high: NDArray[np.float64],
577
+ low: NDArray[np.float64],
578
+ close: NDArray[np.float64]
579
+ )-> NDArray[np.int32]: ...
580
+
581
+ def CDLHANGINGMAN(
582
+ open: NDArray[np.float64],
583
+ high: NDArray[np.float64],
584
+ low: NDArray[np.float64],
585
+ close: NDArray[np.float64]
586
+ )-> NDArray[np.int32]: ...
587
+
588
+ def CDLHARAMI(
589
+ open: NDArray[np.float64],
590
+ high: NDArray[np.float64],
591
+ low: NDArray[np.float64],
592
+ close: NDArray[np.float64]
593
+ )-> NDArray[np.int32]: ...
594
+
595
+ def CDLHARAMICROSS(
596
+ open: NDArray[np.float64],
597
+ high: NDArray[np.float64],
598
+ low: NDArray[np.float64],
599
+ close: NDArray[np.float64]
600
+ )-> NDArray[np.int32]: ...
601
+
602
+ def CDLHIGHWAVE(
603
+ open: NDArray[np.float64],
604
+ high: NDArray[np.float64],
605
+ low: NDArray[np.float64],
606
+ close: NDArray[np.float64]
607
+ )-> NDArray[np.int32]: ...
608
+
609
+ def CDLHIKKAKE(
610
+ open: NDArray[np.float64],
611
+ high: NDArray[np.float64],
612
+ low: NDArray[np.float64],
613
+ close: NDArray[np.float64]
614
+ )-> NDArray[np.int32]: ...
615
+
616
+ def CDLHIKKAKEMOD(
617
+ open: NDArray[np.float64],
618
+ high: NDArray[np.float64],
619
+ low: NDArray[np.float64],
620
+ close: NDArray[np.float64]
621
+ )-> NDArray[np.int32]: ...
622
+
623
+ def CDLHOMINGPIGEON(
624
+ open: NDArray[np.float64],
625
+ high: NDArray[np.float64],
626
+ low: NDArray[np.float64],
627
+ close: NDArray[np.float64]
628
+ )-> NDArray[np.int32]: ...
629
+
630
+ def CDLIDENTICAL3CROWS(
631
+ open: NDArray[np.float64],
632
+ high: NDArray[np.float64],
633
+ low: NDArray[np.float64],
634
+ close: NDArray[np.float64]
635
+ )-> NDArray[np.int32]: ...
636
+
637
+ def CDLINNECK(
638
+ open: NDArray[np.float64],
639
+ high: NDArray[np.float64],
640
+ low: NDArray[np.float64],
641
+ close: NDArray[np.float64]
642
+ )-> NDArray[np.int32]: ...
643
+
644
+ def CDLINVERTEDHAMMER(
645
+ open: NDArray[np.float64],
646
+ high: NDArray[np.float64],
647
+ low: NDArray[np.float64],
648
+ close: NDArray[np.float64]
649
+ )-> NDArray[np.int32]: ...
650
+
651
+ def CDLKICKING(
652
+ open: NDArray[np.float64],
653
+ high: NDArray[np.float64],
654
+ low: NDArray[np.float64],
655
+ close: NDArray[np.float64]
656
+ )-> NDArray[np.int32]: ...
657
+
658
+ def CDLKICKINGBYLENGTH(
659
+ open: NDArray[np.float64],
660
+ high: NDArray[np.float64],
661
+ low: NDArray[np.float64],
662
+ close: NDArray[np.float64]
663
+ )-> NDArray[np.int32]: ...
664
+
665
+ def CDLLADDERBOTTOM(
666
+ open: NDArray[np.float64],
667
+ high: NDArray[np.float64],
668
+ low: NDArray[np.float64],
669
+ close: NDArray[np.float64]
670
+ )-> NDArray[np.int32]: ...
671
+
672
+ def CDLLONGLEGGEDDOJI(
673
+ open: NDArray[np.float64],
674
+ high: NDArray[np.float64],
675
+ low: NDArray[np.float64],
676
+ close: NDArray[np.float64]
677
+ )-> NDArray[np.int32]: ...
678
+
679
+ def CDLLONGLINE(
680
+ open: NDArray[np.float64],
681
+ high: NDArray[np.float64],
682
+ low: NDArray[np.float64],
683
+ close: NDArray[np.float64]
684
+ )-> NDArray[np.int32]: ...
685
+
686
+ def CDLMARUBOZU(
687
+ open: NDArray[np.float64],
688
+ high: NDArray[np.float64],
689
+ low: NDArray[np.float64],
690
+ close: NDArray[np.float64]
691
+ )-> NDArray[np.int32]: ...
692
+
693
+ def CDLMATCHINGLOW(
694
+ open: NDArray[np.float64],
695
+ high: NDArray[np.float64],
696
+ low: NDArray[np.float64],
697
+ close: NDArray[np.float64]
698
+ )-> NDArray[np.int32]: ...
699
+
700
+ def CDLMATHOLD(
701
+ open: NDArray[np.float64],
702
+ high: NDArray[np.float64],
703
+ low: NDArray[np.float64],
704
+ close: NDArray[np.float64],
705
+ penetration: float= 0
706
+ )-> NDArray[np.int32]: ...
707
+
708
+ def CDLMORNINGDOJISTAR(
709
+ open: NDArray[np.float64],
710
+ high: NDArray[np.float64],
711
+ low: NDArray[np.float64],
712
+ close: NDArray[np.float64],
713
+ penetration: float= 0
714
+ )-> NDArray[np.int32]: ...
715
+
716
+ def CDLMORNINGSTAR(
717
+ open: NDArray[np.float64],
718
+ high: NDArray[np.float64],
719
+ low: NDArray[np.float64],
720
+ close: NDArray[np.float64],
721
+ penetration: float= 0
722
+ )-> NDArray[np.int32]: ...
723
+
724
+ def CDLONNECK(
725
+ open: NDArray[np.float64],
726
+ high: NDArray[np.float64],
727
+ low: NDArray[np.float64],
728
+ close: NDArray[np.float64]
729
+ )-> NDArray[np.int32]: ...
730
+
731
+ def CDLPIERCING(
732
+ open: NDArray[np.float64],
733
+ high: NDArray[np.float64],
734
+ low: NDArray[np.float64],
735
+ close: NDArray[np.float64]
736
+ )-> NDArray[np.int32]: ...
737
+
738
+ def CDLRICKSHAWMAN(
739
+ open: NDArray[np.float64],
740
+ high: NDArray[np.float64],
741
+ low: NDArray[np.float64],
742
+ close: NDArray[np.float64]
743
+ )-> NDArray[np.int32]: ...
744
+
745
+ def CDLRISEFALL3METHODS(
746
+ open: NDArray[np.float64],
747
+ high: NDArray[np.float64],
748
+ low: NDArray[np.float64],
749
+ close: NDArray[np.float64]
750
+ )-> NDArray[np.int32]: ...
751
+
752
+ def CDLSEPARATINGLINES(
753
+ open: NDArray[np.float64],
754
+ high: NDArray[np.float64],
755
+ low: NDArray[np.float64],
756
+ close: NDArray[np.float64]
757
+ )-> NDArray[np.int32]: ...
758
+
759
+ def CDLSHOOTINGSTAR(
760
+ open: NDArray[np.float64],
761
+ high: NDArray[np.float64],
762
+ low: NDArray[np.float64],
763
+ close: NDArray[np.float64]
764
+ )-> NDArray[np.int32]: ...
765
+
766
+ def CDLSHORTLINE(
767
+ open: NDArray[np.float64],
768
+ high: NDArray[np.float64],
769
+ low: NDArray[np.float64],
770
+ close: NDArray[np.float64]
771
+ )-> NDArray[np.int32]: ...
772
+
773
+ def CDLSPINNINGTOP(
774
+ open: NDArray[np.float64],
775
+ high: NDArray[np.float64],
776
+ low: NDArray[np.float64],
777
+ close: NDArray[np.float64]
778
+ )-> NDArray[np.int32]: ...
779
+
780
+ def CDLSTALLEDPATTERN(
781
+ open: NDArray[np.float64],
782
+ high: NDArray[np.float64],
783
+ low: NDArray[np.float64],
784
+ close: NDArray[np.float64]
785
+ )-> NDArray[np.int32]: ...
786
+
787
+ def CDLSTICKSANDWICH(
788
+ open: NDArray[np.float64],
789
+ high: NDArray[np.float64],
790
+ low: NDArray[np.float64],
791
+ close: NDArray[np.float64]
792
+ )-> NDArray[np.int32]: ...
793
+
794
+ def CDLTAKURI(
795
+ open: NDArray[np.float64],
796
+ high: NDArray[np.float64],
797
+ low: NDArray[np.float64],
798
+ close: NDArray[np.float64]
799
+ )-> NDArray[np.int32]: ...
800
+
801
+ def CDLTASUKIGAP(
802
+ open: NDArray[np.float64],
803
+ high: NDArray[np.float64],
804
+ low: NDArray[np.float64],
805
+ close: NDArray[np.float64]
806
+ )-> NDArray[np.int32]: ...
807
+
808
+ def CDLTHRUSTING(
809
+ open: NDArray[np.float64],
810
+ high: NDArray[np.float64],
811
+ low: NDArray[np.float64],
812
+ close: NDArray[np.float64]
813
+ )-> NDArray[np.int32]: ...
814
+
815
+ def CDLTRISTAR(
816
+ open: NDArray[np.float64],
817
+ high: NDArray[np.float64],
818
+ low: NDArray[np.float64],
819
+ close: NDArray[np.float64]
820
+ )-> NDArray[np.int32]: ...
821
+
822
+ def CDLUNIQUE3RIVER(
823
+ open: NDArray[np.float64],
824
+ high: NDArray[np.float64],
825
+ low: NDArray[np.float64],
826
+ close: NDArray[np.float64]
827
+ )-> NDArray[np.int32]: ...
828
+
829
+ def CDLUPSIDEGAP2CROWS(
830
+ open: NDArray[np.float64],
831
+ high: NDArray[np.float64],
832
+ low: NDArray[np.float64],
833
+ close: NDArray[np.float64]
834
+ )-> NDArray[np.int32]: ...
835
+
836
+ def CDLXSIDEGAP3METHODS(
837
+ open: NDArray[np.float64],
838
+ high: NDArray[np.float64],
839
+ low: NDArray[np.float64],
840
+ close: NDArray[np.float64]
841
+ )-> NDArray[np.int32]: ...
842
+
843
+ # Statistic Functions
844
+
845
+ def BETA(
846
+ real0: NDArray[np.float64],
847
+ real1: NDArray[np.float64],
848
+ timeperiod: int= 5
849
+ )-> NDArray[np.float64]: ...
850
+
851
+ def CORREL(
852
+ real0: NDArray[np.float64],
853
+ real1: NDArray[np.float64],
854
+ timeperiod: int= 30
855
+ )-> NDArray[np.float64]: ...
856
+
857
+ def LINEARREG(
858
+ real: NDArray[np.float64],
859
+ timeperiod: int= 14
860
+ )-> NDArray[np.float64]: ...
861
+
862
+ def LINEARREG_ANGLE(
863
+ real: NDArray[np.float64],
864
+ timeperiod: int= 14
865
+ )-> NDArray[np.float64]: ...
866
+
867
+ def LINEARREG_INTERCEPT(
868
+ real: NDArray[np.float64],
869
+ timeperiod: int= 14
870
+ )-> NDArray[np.float64]: ...
871
+
872
+ def LINEARREG_SLOPE(
873
+ real: NDArray[np.float64],
874
+ timeperiod: int= 14
875
+ )-> NDArray[np.float64]: ...
876
+
877
+ def STDDEV(
878
+ real: NDArray[np.float64],
879
+ timeperiod: int= 5,
880
+ nbdev: float= 1
881
+ )-> NDArray[np.float64]: ...
882
+
883
+ def TSF(
884
+ real: NDArray[np.float64],
885
+ timeperiod: int= 14
886
+ )-> NDArray[np.float64]: ...
887
+
888
+ def VAR(
889
+ real: NDArray[np.float64],
890
+ timeperiod: int= 5,
891
+ nbdev: float= 1
892
+ )-> NDArray[np.float64]: ...
893
+
894
+ # Math Transform Functions
895
+
896
+ def ACOS(real: NDArray[np.float64])-> NDArray[np.float64]: ...
897
+
898
+ def ASIN(real: NDArray[np.float64])-> NDArray[np.float64]: ...
899
+
900
+ def ATAN(real: NDArray[np.float64])-> NDArray[np.float64]: ...
901
+
902
+ def CEIL(real: NDArray[np.float64])-> NDArray[np.float64]: ...
903
+
904
+ def COS(real: NDArray[np.float64])-> NDArray[np.float64]: ...
905
+
906
+ def COSH(real: NDArray[np.float64])-> NDArray[np.float64]: ...
907
+
908
+ def EXP(real: NDArray[np.float64])-> NDArray[np.float64]: ...
909
+
910
+ def FLOOR(real: NDArray[np.float64])-> NDArray[np.float64]: ...
911
+
912
+ def LN(real: NDArray[np.float64])-> NDArray[np.float64]: ...
913
+
914
+ def LOG10(real: NDArray[np.float64])-> NDArray[np.float64]: ...
915
+
916
+ def SIN(real: NDArray[np.float64])-> NDArray[np.float64]: ...
917
+
918
+ def SINH(real: NDArray[np.float64])-> NDArray[np.float64]: ...
919
+
920
+ def SQRT(real: NDArray[np.float64])-> NDArray[np.float64]: ...
921
+
922
+ def TAN(real: NDArray[np.float64])-> NDArray[np.float64]: ...
923
+
924
+ def TANH(real: NDArray[np.float64])-> NDArray[np.float64]: ...
925
+
926
+ #Math Operator Functions
927
+
928
+ def ADD(
929
+ real0: NDArray[np.float64],
930
+ real1: NDArray[np.float64]
931
+ )-> NDArray[np.float64]: ...
932
+
933
+ def DIV(
934
+ real0: NDArray[np.float64],
935
+ real1: NDArray[np.float64]
936
+ )-> NDArray[np.float64]: ...
937
+
938
+ def MAX(
939
+ real: NDArray[np.float64],
940
+ timeperiod: int= 30
941
+ )-> NDArray[np.float64]: ...
942
+
943
+ def MAXINDEX(
944
+ real: NDArray[np.float64],
945
+ timeperiod: int= 30
946
+ )-> NDArray[np.int32]: ...
947
+
948
+ def MIN(
949
+ real: NDArray[np.float64],
950
+ timeperiod: int= 30
951
+ )-> NDArray[np.float64]: ...
952
+
953
+ def MININDEX(
954
+ real: NDArray[np.float64],
955
+ timeperiod: int= 30
956
+ )-> NDArray[np.int32]: ...
957
+
958
+ def MINMAX(
959
+ real: NDArray[np.float64],
960
+ timeperiod: int= 30
961
+ )-> Tuple[NDArray[np.float64], NDArray[np.float64]]: ...
962
+
963
+ def MINMAXINDEX(
964
+ real: NDArray[np.float64],
965
+ timeperiod: int= 30
966
+ )-> Tuple[NDArray[np.float64], NDArray[np.float64]]: ...
967
+
968
+ def MULT(
969
+ real0: NDArray[np.float64],
970
+ real1: NDArray[np.float64]
971
+ )-> NDArray[np.float64]: ...
972
+
973
+ def SUB(
974
+ real0: NDArray[np.float64],
975
+ real1: NDArray[np.float64]
976
+ )-> NDArray[np.float64]: ...
977
+
978
+ def SUM(
979
+ real: NDArray[np.float64],
980
+ timeperiod: int= 30
981
+ )-> NDArray[np.float64]: ...
File without changes
@@ -1,8 +0,0 @@
1
- [project]
2
- name = "ta-lib"
3
- version = "0.5.1"
4
- dynamic = ["authors", "classifiers", "dependencies", "description", "license", "readme"]
5
-
6
- [build-system]
7
- requires = ["setuptools >= 51.0.0", "wheel", "numpy"]
8
- build-backend = "setuptools.build_meta:__legacy__"
@@ -1 +0,0 @@
1
- numpy
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