opencode-pyneruntime 6.6.4__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.
Files changed (261) hide show
  1. opencode_pyneruntime-6.6.4.dist-info/METADATA +281 -0
  2. opencode_pyneruntime-6.6.4.dist-info/RECORD +261 -0
  3. opencode_pyneruntime-6.6.4.dist-info/WHEEL +5 -0
  4. opencode_pyneruntime-6.6.4.dist-info/entry_points.txt +6 -0
  5. opencode_pyneruntime-6.6.4.dist-info/licenses/LICENSE +201 -0
  6. opencode_pyneruntime-6.6.4.dist-info/licenses/NOTICE +21 -0
  7. opencode_pyneruntime-6.6.4.dist-info/top_level.txt +1 -0
  8. pynecore/__init__.py +6 -0
  9. pynecore/cli/__init__.py +2 -0
  10. pynecore/cli/app.py +238 -0
  11. pynecore/cli/commands/__init__.py +343 -0
  12. pynecore/cli/commands/benchmark.py +186 -0
  13. pynecore/cli/commands/compile.py +198 -0
  14. pynecore/cli/commands/data.py +857 -0
  15. pynecore/cli/commands/debug.py +63 -0
  16. pynecore/cli/commands/optimize.py +956 -0
  17. pynecore/cli/commands/plugin.py +242 -0
  18. pynecore/cli/commands/run.py +2006 -0
  19. pynecore/cli/pluggable.py +132 -0
  20. pynecore/cli/utils/__init__.py +0 -0
  21. pynecore/cli/utils/api_error_handler.py +168 -0
  22. pynecore/cli/utils/broker_picker.py +330 -0
  23. pynecore/cli/utils/error_hook.py +28 -0
  24. pynecore/cli/utils/keyreader.py +178 -0
  25. pynecore/cli/utils/provider_picker.py +19 -0
  26. pynecore/cli/utils/symbol_browser.py +1149 -0
  27. pynecore/core/__init__.py +0 -0
  28. pynecore/core/aggregator.py +257 -0
  29. pynecore/core/bar_magnifier.py +168 -0
  30. pynecore/core/broker/__init__.py +64 -0
  31. pynecore/core/broker/defaults.py +113 -0
  32. pynecore/core/broker/disappearance.py +927 -0
  33. pynecore/core/broker/emulator.py +345 -0
  34. pynecore/core/broker/exceptions.py +346 -0
  35. pynecore/core/broker/idempotency.py +401 -0
  36. pynecore/core/broker/intent_builder.py +334 -0
  37. pynecore/core/broker/journal.py +1785 -0
  38. pynecore/core/broker/models.py +1600 -0
  39. pynecore/core/broker/native_failsafe_manager.py +1436 -0
  40. pynecore/core/broker/one_way_emulator.py +1128 -0
  41. pynecore/core/broker/position.py +787 -0
  42. pynecore/core/broker/run_identity.py +126 -0
  43. pynecore/core/broker/software_entry_stop_engine.py +351 -0
  44. pynecore/core/broker/software_partial_bracket_engine.py +1379 -0
  45. pynecore/core/broker/spot_inventory.py +1327 -0
  46. pynecore/core/broker/storage.py +2655 -0
  47. pynecore/core/broker/store_helpers.py +2161 -0
  48. pynecore/core/broker/sync_engine.py +16070 -0
  49. pynecore/core/broker/validation.py +382 -0
  50. pynecore/core/class_property.py +7 -0
  51. pynecore/core/config.py +392 -0
  52. pynecore/core/csv_file.py +547 -0
  53. pynecore/core/currency.py +262 -0
  54. pynecore/core/data_converter.py +1002 -0
  55. pynecore/core/datetime.py +296 -0
  56. pynecore/core/download_info.py +71 -0
  57. pynecore/core/download_runner.py +274 -0
  58. pynecore/core/htf_aggregator.py +181 -0
  59. pynecore/core/import_hook.py +358 -0
  60. pynecore/core/instance_state.py +494 -0
  61. pynecore/core/live_ltf_collector.py +442 -0
  62. pynecore/core/live_ltf_window.py +189 -0
  63. pynecore/core/live_runner.py +1347 -0
  64. pynecore/core/module_property.py +26 -0
  65. pynecore/core/ohlcv_file.py +1888 -0
  66. pynecore/core/overload.py +371 -0
  67. pynecore/core/pine_cast.py +113 -0
  68. pynecore/core/pine_export.py +95 -0
  69. pynecore/core/pine_method.py +244 -0
  70. pynecore/core/pine_range.py +86 -0
  71. pynecore/core/pine_udt.py +69 -0
  72. pynecore/core/plugin/__init__.py +394 -0
  73. pynecore/core/plugin/broker.py +781 -0
  74. pynecore/core/plugin/cli.py +96 -0
  75. pynecore/core/plugin/live_provider.py +208 -0
  76. pynecore/core/plugin/provider.py +331 -0
  77. pynecore/core/provider_string.py +148 -0
  78. pynecore/core/random.py +40 -0
  79. pynecore/core/resampler.py +686 -0
  80. pynecore/core/safe_convert.py +64 -0
  81. pynecore/core/script.py +1011 -0
  82. pynecore/core/script_runner.py +3202 -0
  83. pynecore/core/security.py +1749 -0
  84. pynecore/core/security_process.py +1253 -0
  85. pynecore/core/security_shm.py +456 -0
  86. pynecore/core/series.py +417 -0
  87. pynecore/core/strategy_stats.py +669 -0
  88. pynecore/core/symbol_map.py +134 -0
  89. pynecore/core/syminfo.py +505 -0
  90. pynecore/core/viz.py +591 -0
  91. pynecore/lib/__init__.py +1771 -0
  92. pynecore/lib/_fixnan.py +32 -0
  93. pynecore/lib/_math_stateful.py +202 -0
  94. pynecore/lib/_timeframe_change.py +101 -0
  95. pynecore/lib/adjustment.py +6 -0
  96. pynecore/lib/alert.py +39 -0
  97. pynecore/lib/alert.pyi +14 -0
  98. pynecore/lib/array.py +1051 -0
  99. pynecore/lib/barmerge.py +60 -0
  100. pynecore/lib/barstate.py +30 -0
  101. pynecore/lib/box.py +415 -0
  102. pynecore/lib/chart.py +128 -0
  103. pynecore/lib/color.py +152 -0
  104. pynecore/lib/color.pyi +50 -0
  105. pynecore/lib/currency.py +62 -0
  106. pynecore/lib/dayofweek.py +36 -0
  107. pynecore/lib/dayofweek.pyi +18 -0
  108. pynecore/lib/display.py +8 -0
  109. pynecore/lib/dividends.py +9 -0
  110. pynecore/lib/earnings.py +11 -0
  111. pynecore/lib/extend.py +6 -0
  112. pynecore/lib/font.py +5 -0
  113. pynecore/lib/footprint.py +79 -0
  114. pynecore/lib/format.py +11 -0
  115. pynecore/lib/hline.py +67 -0
  116. pynecore/lib/hline.pyi +24 -0
  117. pynecore/lib/label.py +409 -0
  118. pynecore/lib/line.py +433 -0
  119. pynecore/lib/linefill.py +93 -0
  120. pynecore/lib/location.py +11 -0
  121. pynecore/lib/log.py +362 -0
  122. pynecore/lib/map.py +150 -0
  123. pynecore/lib/math.py +385 -0
  124. pynecore/lib/matrix.py +708 -0
  125. pynecore/lib/order.py +8 -0
  126. pynecore/lib/pivotpointtype.py +8 -0
  127. pynecore/lib/plot.py +95 -0
  128. pynecore/lib/plot.pyi +33 -0
  129. pynecore/lib/polyline.py +91 -0
  130. pynecore/lib/position.py +15 -0
  131. pynecore/lib/request.py +281 -0
  132. pynecore/lib/runtime.py +5 -0
  133. pynecore/lib/scale.py +9 -0
  134. pynecore/lib/session.py +267 -0
  135. pynecore/lib/session.pyi +12 -0
  136. pynecore/lib/shape.py +18 -0
  137. pynecore/lib/size.py +12 -0
  138. pynecore/lib/splits.py +4 -0
  139. pynecore/lib/strategy/__init__.py +4778 -0
  140. pynecore/lib/strategy/closedtrades.py +347 -0
  141. pynecore/lib/strategy/closedtrades.pyi +53 -0
  142. pynecore/lib/strategy/commission.py +9 -0
  143. pynecore/lib/strategy/direction.py +9 -0
  144. pynecore/lib/strategy/oca.py +13 -0
  145. pynecore/lib/strategy/opentrades.py +281 -0
  146. pynecore/lib/strategy/opentrades.pyi +49 -0
  147. pynecore/lib/strategy/risk.py +109 -0
  148. pynecore/lib/string.py +649 -0
  149. pynecore/lib/syminfo.py +84 -0
  150. pynecore/lib/ta.py +2230 -0
  151. pynecore/lib/table.py +290 -0
  152. pynecore/lib/text.py +17 -0
  153. pynecore/lib/ticker.py +207 -0
  154. pynecore/lib/timeframe.py +293 -0
  155. pynecore/lib/volume_row.py +67 -0
  156. pynecore/lib/xloc.py +4 -0
  157. pynecore/lib/yloc.py +5 -0
  158. pynecore/providers/__init__.py +0 -0
  159. pynecore/providers/ccxt.py +664 -0
  160. pynecore/providers/replay.py +187 -0
  161. pynecore/pynesys/__init__.py +0 -0
  162. pynecore/pynesys/api.py +498 -0
  163. pynecore/pynesys/compiler.py +112 -0
  164. pynecore/standalone.py +99 -0
  165. pynecore/testing/__init__.py +1 -0
  166. pynecore/testing/broker_lab/__init__.py +41 -0
  167. pynecore/testing/broker_lab/__main__.py +5 -0
  168. pynecore/testing/broker_lab/cli.py +87 -0
  169. pynecore/testing/broker_lab/generate.py +47 -0
  170. pynecore/testing/broker_lab/model.py +84 -0
  171. pynecore/testing/broker_lab/reference.py +645 -0
  172. pynecore/testing/broker_lab/runner.py +372 -0
  173. pynecore/testing/broker_lab/scheduler.py +50 -0
  174. pynecore/testing/broker_lab/subprocess.py +73 -0
  175. pynecore/transformers/__init__.py +0 -0
  176. pynecore/transformers/builtin_shadow.py +136 -0
  177. pynecore/transformers/closure_arguments_transformer.py +428 -0
  178. pynecore/transformers/display_rewrite.py +140 -0
  179. pynecore/transformers/dynamic_default.py +147 -0
  180. pynecore/transformers/function_isolation.py +757 -0
  181. pynecore/transformers/import_lifter.py +61 -0
  182. pynecore/transformers/import_normalizer.py +328 -0
  183. pynecore/transformers/inline_series_hoist.py +178 -0
  184. pynecore/transformers/input_transformer.py +175 -0
  185. pynecore/transformers/lib_series.py +201 -0
  186. pynecore/transformers/locations.py +70 -0
  187. pynecore/transformers/module_properties.json +3387 -0
  188. pynecore/transformers/module_property.py +221 -0
  189. pynecore/transformers/ne_guard.py +70 -0
  190. pynecore/transformers/persistent.py +320 -0
  191. pynecore/transformers/persistent_series.py +76 -0
  192. pynecore/transformers/safe_convert_transformer.py +97 -0
  193. pynecore/transformers/safe_division_transformer.py +95 -0
  194. pynecore/transformers/script_requirements.py +308 -0
  195. pynecore/transformers/security.py +752 -0
  196. pynecore/transformers/security_instantiation.py +274 -0
  197. pynecore/transformers/series.py +275 -0
  198. pynecore/transformers/slot_layout.py +381 -0
  199. pynecore/transformers/type_checking_stripper.py +25 -0
  200. pynecore/transformers/unused_series_detector.py +267 -0
  201. pynecore/types/__init__.py +21 -0
  202. pynecore/types/alert.py +5 -0
  203. pynecore/types/barmerge.py +5 -0
  204. pynecore/types/base.py +39 -0
  205. pynecore/types/box.py +37 -0
  206. pynecore/types/chart.py +17 -0
  207. pynecore/types/color.py +107 -0
  208. pynecore/types/currency.py +5 -0
  209. pynecore/types/datetime.py +6 -0
  210. pynecore/types/display.py +5 -0
  211. pynecore/types/dividends.py +5 -0
  212. pynecore/types/earnings.py +5 -0
  213. pynecore/types/extend.py +5 -0
  214. pynecore/types/font.py +5 -0
  215. pynecore/types/footprint.py +41 -0
  216. pynecore/types/format.py +5 -0
  217. pynecore/types/hline.py +24 -0
  218. pynecore/types/ib_persistent.py +8 -0
  219. pynecore/types/ib_persistent.pyi +10 -0
  220. pynecore/types/label.py +35 -0
  221. pynecore/types/line.py +32 -0
  222. pynecore/types/linefill.py +13 -0
  223. pynecore/types/location.py +5 -0
  224. pynecore/types/matrix.py +999 -0
  225. pynecore/types/na.py +237 -0
  226. pynecore/types/na.pyi +83 -0
  227. pynecore/types/ohlcv.py +12 -0
  228. pynecore/types/order.py +5 -0
  229. pynecore/types/persistent.py +8 -0
  230. pynecore/types/persistent.pyi +13 -0
  231. pynecore/types/pine_types.py +11 -0
  232. pynecore/types/pine_types.pyi +15 -0
  233. pynecore/types/pivotpointtype.py +5 -0
  234. pynecore/types/plot.py +12 -0
  235. pynecore/types/plot_meta.py +60 -0
  236. pynecore/types/polyline.py +40 -0
  237. pynecore/types/position.py +5 -0
  238. pynecore/types/scale.py +5 -0
  239. pynecore/types/script_type.py +15 -0
  240. pynecore/types/series.py +23 -0
  241. pynecore/types/series.pyi +19 -0
  242. pynecore/types/session.py +35 -0
  243. pynecore/types/shape.py +5 -0
  244. pynecore/types/size.py +5 -0
  245. pynecore/types/source.py +33 -0
  246. pynecore/types/splits.py +5 -0
  247. pynecore/types/strategy.py +45 -0
  248. pynecore/types/table.py +87 -0
  249. pynecore/types/text.py +13 -0
  250. pynecore/types/type_checker.py +7 -0
  251. pynecore/types/type_checker.pyi +48 -0
  252. pynecore/types/volume_row.py +36 -0
  253. pynecore/types/weekdays.py +11 -0
  254. pynecore/types/xloc.py +5 -0
  255. pynecore/types/yloc.py +5 -0
  256. pynecore/utils/__init__.py +0 -0
  257. pynecore/utils/file_utils.py +50 -0
  258. pynecore/utils/rich/__init__.py +0 -0
  259. pynecore/utils/rich/date_column.py +25 -0
  260. pynecore/utils/sequence_view.py +92 -0
  261. pynecore/utils/stdlib_checker.py +17 -0
@@ -0,0 +1,281 @@
1
+ Metadata-Version: 2.4
2
+ Name: opencode-pyneruntime
3
+ Version: 6.6.4
4
+ Summary: PyneCore runtime (rubycell fork of PyneSys/pynecore) — Pine Script-like runtime and API
5
+ Author-email: PYNESYS LLC <hello@pynesys.com>
6
+ Maintainer: rubycell
7
+ License: Apache-2.0
8
+ Project-URL: Homepage, https://pynecore.org
9
+ Project-URL: Repository, https://github.com/pynesys/pynecore
10
+ Project-URL: Documentation, https://pynecore.org/docs
11
+ Project-URL: Issues, https://github.com/pynesys/pynecore/issues
12
+ Project-URL: X, https://x.com/pynesys
13
+ Project-URL: Discord, https://discord.com/invite/jegnhtq6gy
14
+ Project-URL: Discussions, https://github.com/PyneSys/pynecore/discussions
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Operating System :: OS Independent
17
+ Requires-Python: >=3.11
18
+ Description-Content-Type: text/markdown
19
+ License-File: LICENSE
20
+ License-File: NOTICE
21
+ Provides-Extra: cli
22
+ Requires-Dist: typer>=0.16; extra == "cli"
23
+ Requires-Dist: rich; extra == "cli"
24
+ Requires-Dist: tzdata; extra == "cli"
25
+ Provides-Extra: all
26
+ Requires-Dist: typer>=0.16; extra == "all"
27
+ Requires-Dist: rich; extra == "all"
28
+ Requires-Dist: httpx; extra == "all"
29
+ Requires-Dist: ccxt; extra == "all"
30
+ Requires-Dist: pycryptodome; extra == "all"
31
+ Requires-Dist: tzdata; extra == "all"
32
+ Provides-Extra: dev
33
+ Requires-Dist: pytest; extra == "dev"
34
+ Requires-Dist: pytest-spec; extra == "dev"
35
+ Provides-Extra: providers
36
+ Requires-Dist: httpx; extra == "providers"
37
+ Requires-Dist: ccxt; extra == "providers"
38
+ Requires-Dist: pycryptodome; extra == "providers"
39
+ Provides-Extra: ccxt
40
+ Requires-Dist: ccxt; extra == "ccxt"
41
+ Provides-Extra: capitalcom
42
+ Requires-Dist: httpx; extra == "capitalcom"
43
+ Requires-Dist: pycryptodome; extra == "capitalcom"
44
+ Dynamic: license-file
45
+
46
+ <div align="center">
47
+
48
+ <img src="https://raw.githubusercontent.com/PyneSys/pynecore/refs/heads/main/docs/logo.svg" alt="PyneCore Logo">
49
+ <h1>PyneCore™</h1>
50
+ <strong>Pine Script in Python - Without Limitations</strong>
51
+
52
+ <a href="https://www.python.org/"><img src="https://img.shields.io/badge/Python-3.11%2B-blue" alt="Python"></a>
53
+ <a href="https://opensource.org/licenses/Apache-2.0"><img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg" alt="License"></a>
54
+
55
+ **🚀 Have Pine Script code? [Get automatic Python translation →](#pine-script-migration-made-easy)**
56
+
57
+ </div>
58
+
59
+ ## What is PyneCore?
60
+
61
+ PyneCore brings TradingView's Pine Script capabilities to Python through a revolutionary approach - it transforms regular Python code to behave like Pine Script through AST transformations, while maintaining the full power of the Python ecosystem.
62
+
63
+ Instead of creating another object-oriented wrapper or a new language, PyneCore modifies your Python code at import time, giving you the intuitive bar-by-bar execution model of Pine Script without leaving Python's rich environment.
64
+
65
+ ## Key Features
66
+
67
+ - **Native Pine Script Semantics in Python**: Write familiar Python code that runs with Pine Script's bar-by-bar execution model
68
+ - **AST Transformation Magic**: Your code is transformed at import time to implement Pine Script behavior
69
+ - **High Performance**: Zero mandatory external dependencies with highly optimized implementation
70
+ - **Series & Persistent Variables**: Full support for Pine Script's time series and state persistence
71
+ - **Function Isolation**: Each function call gets its own isolated persistent state
72
+ - **NA Handling**: Graceful handling of missing data with Pine Script's NA system
73
+ - **Technical Analysis Library**: Comprehensive set of Pine Script-compatible indicators and functions
74
+ - **Strategy Backtesting**: Pine Script compatible framework for developing and testing trading strategies
75
+
76
+ ## Quick Example
77
+
78
+ ```python
79
+ """
80
+ @pyne
81
+ """
82
+ from pynecore import Series
83
+ from pynecore.lib import script, close, ta, plot, color, input
84
+
85
+ @script.indicator(title="Bollinger Bands")
86
+ def main(
87
+ length=input.int("Length", 20, minval=1),
88
+ mult=input.float("Multiplier", 2.0, minval=0.1, step=0.1),
89
+ src=input.source("Source", close)
90
+ ):
91
+ # Calculate Bollinger Bands
92
+ basis = ta.sma(src, length)
93
+ dev = mult * ta.stdev(src, length)
94
+
95
+ upper = basis + dev
96
+ lower = basis - dev
97
+
98
+ # Output to chart
99
+ plot(basis, "Basis", color=color.orange)
100
+ plot(upper, "Upper", color=color.blue)
101
+ plot(lower, "Lower", color=color.blue)
102
+ ```
103
+
104
+ ## Innovative Concepts
105
+
106
+ PyneCore introduces several revolutionary concepts:
107
+
108
+ ### 1. Magic Comment & Import Hook
109
+
110
+ Identify your scripts with a simple magic comment:
111
+
112
+ ```python
113
+ """
114
+ @pyne
115
+ """
116
+ ```
117
+
118
+ This activates PyneCore's import hook system which intercepts Python imports and applies AST transformations to recognized scripts.
119
+
120
+ ### 2. Series Variables
121
+
122
+ Track historical data across bars, just like in Pine Script:
123
+
124
+ ```python
125
+ from pynecore import Series
126
+
127
+ price: Series[float] = close
128
+ previous_price = price[1] # Access previous bar's price
129
+ ```
130
+
131
+ ### 3. Persistent Variables
132
+
133
+ Maintain state between bars with simple type annotations:
134
+
135
+ ```python
136
+ from pynecore import Persistent
137
+
138
+ counter: Persistent[int] = 0
139
+ counter += 1 # Increments with each bar
140
+ ```
141
+
142
+ ### 4. Function Isolation
143
+
144
+ Each call to a function maintains its own isolated state:
145
+
146
+ ```python
147
+ def my_indicator(src, length):
148
+ # Each call gets its own instance of sum
149
+ sum: Persistent[float] = 0
150
+ sum += src
151
+ return sum / length
152
+ ```
153
+
154
+ ## Installation
155
+
156
+ ```bash
157
+ # Basic installation
158
+ pip install pynesys-pynecore
159
+
160
+ # With CLI tools (recommended)
161
+ pip install pynesys-pynecore[cli]
162
+
163
+ # With all features including data providers
164
+ pip install pynesys-pynecore[all]
165
+ ```
166
+
167
+ > **Note for Windows users**: PyneCore requires timezone data that is not included in Windows by default. The `[cli]` and `[all]` installations automatically include the `tzdata` package. If you're using the basic installation and encounter timezone errors, install it manually with `pip install tzdata`.
168
+
169
+ ## Getting Started
170
+
171
+ ### Create a Simple Script
172
+
173
+ 1. Create a file with the `@pyne` annotation:
174
+
175
+ ```python
176
+ """
177
+ @pyne
178
+ """
179
+ from pynecore.lib import script, close, plot
180
+
181
+ @script.indicator("My First Indicator")
182
+ def main():
183
+ # Calculate a simple moving average
184
+ sma_value = (close + close[1] + close[2]) / 3
185
+
186
+ # Plot the result
187
+ plot(sma_value, "Simple Moving Average")
188
+ ```
189
+
190
+ 2. Run your script with the PyneCore CLI:
191
+
192
+ ```bash
193
+ # First, download some price data
194
+ pyne data download ccxt --symbol "BYBIT:BTC/USDT:USDT"
195
+
196
+ # Then run your script on the data
197
+ pyne run my_script.py ccxt_BYBIT_BTC_USDT_USDT_1D.ohlcv
198
+ ```
199
+
200
+ ### Working with Pine Script Files
201
+
202
+ PyneCore also supports running Pine Script files directly with automatic compilation:
203
+
204
+ ```bash
205
+ # Run a Pine Script file directly (requires PyneSys API key)
206
+ pyne run my_indicator.pine ccxt_BYBIT_BTC_USDT_USDT_1D.ohlcv --api-key YOUR_API_KEY
207
+
208
+ # Or compile Pine Script to Python first
209
+ pyne compile my_indicator.pine --api-key YOUR_API_KEY
210
+
211
+ # Then run the compiled Python file
212
+ pyne run my_indicator.py ccxt_BYBIT_BTC_USDT_USDT_1D.ohlcv
213
+ ```
214
+
215
+ > **Note**: Pine Script compilation requires a PyneSys API key. Get yours at [pynesys.io](https://pynesys.io).
216
+
217
+ ## Why Choose PyneCore?
218
+
219
+ - **Beyond TradingView Limitations**: No more platform restrictions, code size limits, or subscription fees
220
+ - **Python Ecosystem Access**: Use Python's data science, ML, and analysis libraries alongside trading logic
221
+ - **Performance & Precision**: Designed for speed and precision, the same results as Pine Script
222
+ - **Open Source Foundation**: The core library and runtime is open source under Apache 2.0 license
223
+ - **Professional Trading Tools**: Build institutional-grade systems with Pine Script simplicity
224
+ - **Advanced Backtesting**: Run sophisticated strategy tests outside platform constraints
225
+
226
+ ## Pine Script Migration Made Easy
227
+
228
+ Have existing Pine Script code you want to run in Python? **PyneSys now offers automatic Pine
229
+ Script to PyneCore translation** through our [web platform](https://pynesys.io) and [Discord bot](https://discord.com/invite/jegnhtq6gy).
230
+
231
+ ### 🚀 Get Started Instantly
232
+ - **Try for free on Discord**: Use `/pine-help` in our [Discord](https://discord.com/invite/jegnhtq6gy) for instant conversion - 3 free translations!
233
+ - **Full service**: Visit [pynesys.io](https://pynesys.io) for subscriptions and higher limits
234
+
235
+ ### 💡 Support the Ecosystem
236
+ Love PyneCore and want to see it grow? Consider a **Seed subscription or higher** ($5+/mo) to support continued development:
237
+ - **Daily translations** of your Pine Script files (5+ per day)
238
+ - **Larger script support** for complex indicators and strategies
239
+ - **Direct contribution** to keeping PyneCore open source and advancing
240
+
241
+ *Every subscription helps maintain this free, open-source runtime and drives innovation in algorithmic trading tools.*
242
+
243
+ ## Documentation & Support
244
+
245
+ - **Documentation**: [pynecore.org](https://pynecore.org/docs)
246
+
247
+ ### Community
248
+
249
+ - **Discussions**: [GitHub Discussions](https://github.com/pynesys/pynecore/discussions)
250
+ - **Discord**: [discord.com/invite/jegnhtq6gy](https://discord.com/invite/jegnhtq6gy)
251
+ - **X**: [x.com/pynesys](https://x.com/pynesys)
252
+ - **Website**: [pynecore.org](https://pynecore.org)
253
+
254
+ ## License
255
+
256
+ PyneCore is licensed under the [Apache License 2.0](LICENSE).
257
+
258
+ ## Disclaimer
259
+
260
+ Pine Script™ is a trademark of TradingView, Inc. PyneCore is not affiliated with, endorsed by, or sponsored by TradingView. This project is an independent implementation that aims to provide compatibility with the Pine Script language concept in the Python ecosystem.
261
+
262
+ ### Risk Warning
263
+
264
+ Trading involves significant risk of loss and is not suitable for all investors. The use of PyneCore does not guarantee any specific results. Past performance is not indicative of future results.
265
+
266
+ - PyneCore is provided "as is" without any warranty of any kind
267
+ - PyneCore is not a trading advisor and does not provide trading advice
268
+ - Scripts created with PyneCore should be thoroughly tested before using with real funds
269
+ - Users are responsible for their own trading decisions
270
+ - You should consult with a licensed financial advisor before making any financial decisions
271
+
272
+ By using PyneCore, you acknowledge that you are using the software at your own risk. The creators and contributors of PyneCore shall not be held liable for any financial loss or damage resulting from the use of this software.
273
+
274
+ ## Commercial Support
275
+
276
+ PyneCore is part of the PyneSys ecosystem. For commercial support, custom development, or enterprise solutions:
277
+
278
+ - **Website**: [pynesys.com/contact](https://pynesys.com/contact)
279
+
280
+ ---
281
+ <strong>Elevate Your Trading with the Power of Python & Pine Script</strong>
@@ -0,0 +1,261 @@
1
+ opencode_pyneruntime-6.6.4.dist-info/licenses/LICENSE,sha256=l6ZEJ0BCsllGRX5Pg-ygs6mQD03fLXJggIyKnSMwC8E,11342
2
+ opencode_pyneruntime-6.6.4.dist-info/licenses/NOTICE,sha256=hVQ2p7qpOpwdERZ0nlceGshvjtgKKcJ5HsnPTYgOwfI,892
3
+ pynecore/__init__.py,sha256=kdJk2eXU9El-SGK60cYjLi-gKQaKRmQncMENgWoVrw8,352
4
+ pynecore/standalone.py,sha256=ZhCWPusF5DpYqNP-uDRWuUzOT_pb_mVjgoEp97Ua4vU,3736
5
+ pynecore/cli/__init__.py,sha256=na5R_ZlqdjIXjhN_aDdZG3TxTuKQRT2kumZYrMod4AQ,44
6
+ pynecore/cli/app.py,sha256=WK4Z3_MUa0hIETzx9yxk_SZ8zfKC4rmI4H4zE0j9r7A,7799
7
+ pynecore/cli/pluggable.py,sha256=6ur09-bO8IjOBTKA6ZwUsaxtm7MZ78cG48xN79LrdaA,5127
8
+ pynecore/cli/commands/__init__.py,sha256=gslyTTsirJQRrM2w7CJJwQWWvwlPwcKSbYaK-hJeO5A,12212
9
+ pynecore/cli/commands/benchmark.py,sha256=5ZbV-6H3qcn1eNQMPRKZL4niIhi1BYPWeAszuapV8bs,6864
10
+ pynecore/cli/commands/compile.py,sha256=bg1gL4yTo5xW1uund19wiogDTzzcZgffBlxzbqh7T_U,6865
11
+ pynecore/cli/commands/data.py,sha256=_A5mt63o3ol1PLVDBoa7Fotdh5knex2j7TT8FM6bQAM,37910
12
+ pynecore/cli/commands/debug.py,sha256=lpEbcYZ2InY3ros65wa4VShxYr_bW9xBbHj1fVIqtjA,1743
13
+ pynecore/cli/commands/optimize.py,sha256=UndTHH03PRLf9fZxYwd05sAPc-0qVC4aitIaCsDRTM4,34361
14
+ pynecore/cli/commands/plugin.py,sha256=QZ_didtJnuKVuYpPRLOb94s1LZzT28MZ9p0Pz0EU_KE,9487
15
+ pynecore/cli/commands/run.py,sha256=b662XO71QBbv6cC-g2MbVuPT7sayZ7iAE3PQVws66vk,94436
16
+ pynecore/cli/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
+ pynecore/cli/utils/api_error_handler.py,sha256=u910YAbMyjv11X1g3-3yps5tzroKmUsRmu93t6pNGPU,8705
18
+ pynecore/cli/utils/broker_picker.py,sha256=SKY00yJA_gRwSUKtnRJs5zASn3Y2D64Y9suau_HH81o,12213
19
+ pynecore/cli/utils/error_hook.py,sha256=-LT9iBMTuAmVfsDSv7-m3ih91JqPZP5qLmcJ5RVQHSc,924
20
+ pynecore/cli/utils/keyreader.py,sha256=PkASYXtkTfIyMTYttaAzzrlcsDQA3jzGHXj73HibiMk,5551
21
+ pynecore/cli/utils/provider_picker.py,sha256=VEGMB5d5x7r9Xub1w9SjeaBKrYs7T7D8Xhx3Tp0LR0U,534
22
+ pynecore/cli/utils/symbol_browser.py,sha256=kisMNTzMVMk5ArvpChbBNbnn-ZD5LBba6T8_XV69Cpg,47299
23
+ pynecore/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
+ pynecore/core/aggregator.py,sha256=u2JrKeDJxv8t5_P_r3A8T_2P75UUmd1j90WLUlVgap8,10943
25
+ pynecore/core/bar_magnifier.py,sha256=9XWBMiig5Z1I4qjaam9qdrfnj6t5l93uUz3K7ot6c8k,6849
26
+ pynecore/core/class_property.py,sha256=9wIfTqmtzrLM9hIZtWtV2OkyBVi_RUbShbNHfki33GI,160
27
+ pynecore/core/config.py,sha256=X8fqS-JN3rOCh2T68EYcaWOmfCcT_FZ75Ljo1S3ffTA,13831
28
+ pynecore/core/csv_file.py,sha256=EEDLDTV720k9Qfj8DiYPWy98iMFq1-Zyky2YIN3wU9g,19147
29
+ pynecore/core/currency.py,sha256=_8dYmzOKRET6KxNiEJ-Kh2Z6JlTMvQHZ1ukhrHWmnXw,10711
30
+ pynecore/core/data_converter.py,sha256=OhddU_c91zX_gAKaprpSym1TRlw8Z1jq77kC_NxBXs8,45010
31
+ pynecore/core/datetime.py,sha256=-jYAKT59KaKEJiY6JmLLWTJOUuz7u2MDvc-ALrslBAs,12038
32
+ pynecore/core/download_info.py,sha256=9iuWxSaZw4GJtR-pH8jBf-4RifsGmQRdPUpR6TM0k-Q,2545
33
+ pynecore/core/download_runner.py,sha256=RJ6iFFI6elpDQhNBfG1hndecjJDmvTAfl5zkpiGKX6c,12109
34
+ pynecore/core/htf_aggregator.py,sha256=9pzu3BP0SfAs66bvARdKFSFYPGdKATkai-W6Vw2nGww,8110
35
+ pynecore/core/import_hook.py,sha256=Dyd7B59oHqmDXoT0ycP4cBCjBFGXO4NugWV5CzdEE-k,19277
36
+ pynecore/core/instance_state.py,sha256=Gzo6IQjHewcaiU76LfGnIwbcNH9EGALNiuCchKykcRc,21055
37
+ pynecore/core/live_ltf_collector.py,sha256=PLJ2MbqWAMZPB-Zx-uX0Gzx-dowEneHHXajUhxVD2Bc,24437
38
+ pynecore/core/live_ltf_window.py,sha256=U6HRA-jrvqymxA1jpdXTJufrzcma4-g-UL3jn8x7YW8,8742
39
+ pynecore/core/live_runner.py,sha256=JajoASC8797niRIpqDU74S1npeWRAzsCOFGuMl4ksFw,70801
40
+ pynecore/core/module_property.py,sha256=Sf_KJQtIvjPHc6cAzVjHBFWUmzxHRRI-mktxqyYt_iU,936
41
+ pynecore/core/ohlcv_file.py,sha256=oGQ1O_V2XsxHsy9O11Y_cdtG8UPKj8VdiLbNvW5CWRY,72076
42
+ pynecore/core/overload.py,sha256=PJrqd1T0tfLseZp4aJ8GtvWpF8a7jI6olDItFwL-gFo,16807
43
+ pynecore/core/pine_cast.py,sha256=cloHuv0fta8ilom2ExoXIiHjWgYIA8n-ZPelTht9qTA,2420
44
+ pynecore/core/pine_export.py,sha256=0UvRwbD-oKaqqF6XGHkAl0zyu3Jx72eIKCeEbpOcyAA,2969
45
+ pynecore/core/pine_method.py,sha256=F7ZsfEJu53X0vP4OmpAcsN5wEfny6uRrUxvPwFlfSeM,11371
46
+ pynecore/core/pine_range.py,sha256=imm5tMNIVA7AKZNk5D95l53HbJteWqzPI6KHxCGFdaU,3541
47
+ pynecore/core/pine_udt.py,sha256=rZKZukNPNExknQD0pNA58Xq3Dmd79-waIgO-SaRz9BU,2458
48
+ pynecore/core/provider_string.py,sha256=jPRVDKAg1XYIfZBjeBx026eZAlyJfZz6TrRH1tvVWJA,5151
49
+ pynecore/core/random.py,sha256=yVWmlq5IFFDwX6MFIFXeSS_07OjMx_J_OfJCs1RlFjs,1209
50
+ pynecore/core/resampler.py,sha256=jha2jpMcszkf72EzMCvZMf2G5Xl0rqLRNQgEKvcu1Ck,29417
51
+ pynecore/core/safe_convert.py,sha256=N1SJpKrcdLUVU3KlsQMe9WgMSuL8WlyyZwxbqSVu86M,1997
52
+ pynecore/core/script.py,sha256=rxzjj-IHhAbNu8wClOyWFhufS-937AfarVpPqw5JGco,45206
53
+ pynecore/core/script_runner.py,sha256=KpUjVBPa8TerfS85NjuLutFPALOm9TmAP-3nz_8Mb_c,167948
54
+ pynecore/core/security.py,sha256=rqcNhLZSF7l_49YgyIp9d_qED8_efHpAeMFlHkQbf_8,89262
55
+ pynecore/core/security_process.py,sha256=RjrlqpwTmgn_FgMFRE6wtED8x4ujuxuRxhv_fX1zHVk,61683
56
+ pynecore/core/security_shm.py,sha256=2APBvUp0AXN4oNKpTNKEPeWTQoaoH_gsGLRPjUUTrJ8,17532
57
+ pynecore/core/series.py,sha256=zZfOXTFt2D_iNGVR59BAmtJVLWI2d7jGXBlZBDwxE4k,16406
58
+ pynecore/core/strategy_stats.py,sha256=CAozj6C6EoaF4oueq16FSm9lRhyyWqvrRTanax_Y4V8,29847
59
+ pynecore/core/symbol_map.py,sha256=B9-R2Ag1IwhCFcBDMI5If74W2Ts3OZ6nuSN8SWAAcuY,5405
60
+ pynecore/core/syminfo.py,sha256=DbKWnJFm2pkS5bto9uVAXMafZlMpEaZ2OIWcO3W1Qzw,21999
61
+ pynecore/core/viz.py,sha256=QeoVz8Wye-sUGFlOiXszc_1ie-ngbpyGY3--YtYjHj8,21203
62
+ pynecore/core/broker/__init__.py,sha256=ya6MV23jkAwfMR0uzwNnwEKwRKYN66g2Ty434Uy2TKk,1563
63
+ pynecore/core/broker/defaults.py,sha256=RR_UI5DQPsour0FdjCD0YV4MJCxZ0DUTBFeeh9K6gC8,4556
64
+ pynecore/core/broker/disappearance.py,sha256=0PDokr-cU-rtGNe2O4Lo7G8FaKjyC0gZcxr87IzMCAo,43510
65
+ pynecore/core/broker/emulator.py,sha256=C_ECFo_WVbyPrwYeY2Xikdo31tDX2vORsywK0lDlQK0,15198
66
+ pynecore/core/broker/exceptions.py,sha256=H4YIjJVf69YoH3qApKk7GbTFbdmhtd-Eoib5uuJoXPQ,14923
67
+ pynecore/core/broker/idempotency.py,sha256=Be3YY4IOdRaoou5HP5-ED_nyw8Ix_3jNA2D9ZtBGarE,16869
68
+ pynecore/core/broker/intent_builder.py,sha256=hKzZmT1ZkVxv2ilX9l2Q9xvB0nO5rPJtnhGe6nVX5EY,14001
69
+ pynecore/core/broker/journal.py,sha256=TH211MfTiTqKaFvojzA1DEmx2z-kSYPM2psptd7lJT8,72027
70
+ pynecore/core/broker/models.py,sha256=QDauA2OWwP28vAH4xvilm6OOJSByFEvevsbBK9_QdsI,70969
71
+ pynecore/core/broker/native_failsafe_manager.py,sha256=7MHOHtWUMKy6mv0BENhNzskyMTMPz7gsSS_Q4qO8R_Q,74501
72
+ pynecore/core/broker/one_way_emulator.py,sha256=Sq8uZweKWJ6SILwM6TG4GduO_43_ZoBtKBGEDIWDiLk,58915
73
+ pynecore/core/broker/position.py,sha256=FDdHkK68u1iwkOyN5cICxZ7Z0FKIDPfBCzy7o9Ng9nE,36337
74
+ pynecore/core/broker/run_identity.py,sha256=mpkTRw1gVJCDKYxXWswT-M95NZHcfLbACFa9bT_ewPw,5290
75
+ pynecore/core/broker/software_entry_stop_engine.py,sha256=DwT8QFj9O5qtJ79sPAZEl22kUMmhhPLhJJX9xhSLqtE,14410
76
+ pynecore/core/broker/software_partial_bracket_engine.py,sha256=FPBKTBYut0ITgZHsQanu7D46dT-FD1epmbDOsnWgS3A,60437
77
+ pynecore/core/broker/spot_inventory.py,sha256=kKiOecspLKhxwehhWR4o1ewu5w6LSHVKeErs_lcK3os,57942
78
+ pynecore/core/broker/storage.py,sha256=VK61LnYUX6BoxHkkezhc8Y_fMfPlDfMkoY2YxjopWNU,119090
79
+ pynecore/core/broker/store_helpers.py,sha256=CcG4pcsOIxJHJilmAV8nvWWAHvOPNUPgMOk5pcRBXsI,92674
80
+ pynecore/core/broker/sync_engine.py,sha256=PUp8PI9rUz0Mue2gKV7mmKf29FA5x_n--eU8HxgFrM8,887203
81
+ pynecore/core/broker/validation.py,sha256=KI3ICXAeTRd5MKdWaTwnZm6uPqeIyfQa0IDwnAUQcvo,18033
82
+ pynecore/core/plugin/__init__.py,sha256=CTgfxYIm3ZHy1tVql_sTyjDqA_e32g7Ogq90Hxe0LPo,14547
83
+ pynecore/core/plugin/broker.py,sha256=0XYovY30a5iNcTRENmnZrtuEeq7feZyxhXmf2VJKOu4,37546
84
+ pynecore/core/plugin/cli.py,sha256=kahU_Dz-xJ0EiRV4vfTUb4cWHvY_A05aTMcss8qLCY0,3497
85
+ pynecore/core/plugin/live_provider.py,sha256=lZXERJcE6K_eHqeu9oyiYpiycNefIiKZxVaEnBvCSik,9116
86
+ pynecore/core/plugin/provider.py,sha256=pU4o_ku09_X7gOV_zMrsmiQ3KO3R-CHpwFPNv4qWsog,13472
87
+ pynecore/lib/__init__.py,sha256=qyeI6WtVy3Ijnn2Xfhu8SDv9dEA2HCBCiLCPLf8n9mc,74638
88
+ pynecore/lib/_fixnan.py,sha256=DOVX1a-F_TmLcuaxJs7l1hSUTXlBieL1rHFVCWXEDyk,1181
89
+ pynecore/lib/_math_stateful.py,sha256=IIBJxJttVxKwDgkn4nrvz6Nr6-WaXEP1u2nqYY-bIfI,9413
90
+ pynecore/lib/_timeframe_change.py,sha256=2FJQaVnpvj0UYhaT8HEGMMcS7UcbZpPKyalYfiAZNmo,3943
91
+ pynecore/lib/adjustment.py,sha256=O49aE2Hzc5kv_GWY0qK6IrdaC-Mex6G-_5XWxOVUUHY,50
92
+ pynecore/lib/alert.py,sha256=oXXVo4gTFjk3yZ-rgqURG26S5MoEym6x9m639l7KWgY,954
93
+ pynecore/lib/alert.pyi,sha256=z3uL7x0AIi1zleKDwzVxywTEWFAZd8FvHKNV8sJF0x0,407
94
+ pynecore/lib/array.py,sha256=JmpaInWyzhQK8bLACw5YuUKJmrqzj54fO2M5FMW_hso,33031
95
+ pynecore/lib/barmerge.py,sha256=K50C_DXPbMDpbPVso6a8CRNy0OCGIefXgk27GUR22sQ,2736
96
+ pynecore/lib/barstate.py,sha256=s_YCCTrcHn3F1SepR1FpVpoviCpssTe0QXLegPgo8O0,855
97
+ pynecore/lib/box.py,sha256=Mv8TSbCLWPVfIbK2aEDK0tFKmFku1bVeX1ad0DJIGO8,14986
98
+ pynecore/lib/chart.py,sha256=EgcsbrM9_CdxF7yX9p0PPdy7BUqI7BCG2Jojz10LMLE,3929
99
+ pynecore/lib/color.py,sha256=WNPsAt7iasjCibE0nUugzCTHtRPXjoPJVzNoEVI-Qyk,5161
100
+ pynecore/lib/color.pyi,sha256=wRGAOwoV0qf0-D7zpDBiqos7or63rrBIbw77joy6D54,1242
101
+ pynecore/lib/currency.py,sha256=g-UUVhHj7j2um2MIOITgbe8B38U00AihTZ2_LlhKAtA,1292
102
+ pynecore/lib/dayofweek.py,sha256=ejpgCTBT0QFZEQQkUXesZCNeGnVgT8rx3_Gn63qcGBk,875
103
+ pynecore/lib/dayofweek.pyi,sha256=oCyreGFkkHeWRuV3h_nNImCudQw6SnKm03_y4aQZt50,504
104
+ pynecore/lib/display.py,sha256=6_IBsTmlYVzdqZDlMpc0xszRSXaeL1ZbQ6NvHPNnfsk,226
105
+ pynecore/lib/dividends.py,sha256=7q9TBkAkj5fAzVSimxsOTMy0AyF8IGmG0gimrPfNiFc,202
106
+ pynecore/lib/earnings.py,sha256=xdLrz2wVqIl9eSs1uR0Tk1Y4aL4uZeSft7dW118avFw,279
107
+ pynecore/lib/extend.py,sha256=S_1WgpyxsvGZ4aaekUUoqag8O_Q5YQ71HdwUsxIx1CM,143
108
+ pynecore/lib/font.py,sha256=kbA8voTmSRoflMlaDzAjIOFPusdVjSOUqAAprDk6APE,155
109
+ pynecore/lib/footprint.py,sha256=PcDH24b_IPUMpcvpPEh816sogb6w5-_2SB7h9NZ6Q08,1542
110
+ pynecore/lib/format.py,sha256=1FjCgbFbYfft3hdpONoxVoZ0Bc4ij_W6giPaU0qZI-I,186
111
+ pynecore/lib/hline.py,sha256=hopCwiPmrLaxY4bVeR17eUTQhjvcIYCzGEy5RSoF4zU,2188
112
+ pynecore/lib/hline.pyi,sha256=bovgoy98wZhV2wSEvK1M08iVBkBq5VR8HfigqtntACg,682
113
+ pynecore/lib/label.py,sha256=z6avXr1t-gMHx5S6Q7R6D4Cs4LUoY-nBwvKrEKfMejM,12753
114
+ pynecore/lib/line.py,sha256=onBw80Ee_qIGugUPKx7hHRPMLt4e39yWfJZaDMw13CI,13205
115
+ pynecore/lib/linefill.py,sha256=vsvj41ySZzdMVVZStAn33RqW1ToSUqy5X5c4rYm9hko,2575
116
+ pynecore/lib/location.py,sha256=3g6O8kq4MhY5kmY5JjyZ3Wq0_RpVp4UtlWV6xBXOFcg,202
117
+ pynecore/lib/log.py,sha256=MM9UEUuQpTxtSK3nN9DIpUy3n8amWzvfmbqmAWt4LeE,12824
118
+ pynecore/lib/map.py,sha256=FlVDr8qbz3lM0Mw_t3xVa_lj87OKKyvivtS10glTJbc,3813
119
+ pynecore/lib/math.py,sha256=f3e3XTDvjPHimsadFkx3n5v8JRLUm82Xziq-BACOvgQ,11143
120
+ pynecore/lib/matrix.py,sha256=k8FklotyeqvWyRYVWD6JmLkQODTcPSEJgEe2lBZaEGY,19435
121
+ pynecore/lib/order.py,sha256=If6v5iRYIfGSam63hqmcqcl6MgvAbZl0OYife8hwsco,114
122
+ pynecore/lib/pivotpointtype.py,sha256=G-QnuUzOnirkFgGwxXCY6useTkcV1npghDq3iqaWt_s,271
123
+ pynecore/lib/plot.py,sha256=2xgfX7xWN_hjJVguuVeLaHWafK5olsek_yUcow9QNbY,3784
124
+ pynecore/lib/plot.pyi,sha256=etucSsHp8WYcLJMvFVKkFL5dfSNBZOC6eFln9DHoCZE,1185
125
+ pynecore/lib/polyline.py,sha256=wXUQ3GNEZgEDvd1XS98lxotNsNok91cmAYmIoOtOqxE,3439
126
+ pynecore/lib/position.py,sha256=VAs6NwIaZ6LFmU-CVQpSQaw1-G-mH-SYWpXe_0REfV8,397
127
+ pynecore/lib/request.py,sha256=8fwO9kxI3kWNf3yghf6jfGUGxkv5eGK7Dfm5q4mkzYQ,11143
128
+ pynecore/lib/runtime.py,sha256=6oEXytPvMHNCe_oXEUBtibbWthSivquSJMyloxowrIM,119
129
+ pynecore/lib/scale.py,sha256=vF5EWfupJHSWqqFqIt10e4hR8w6FhSn4b2VqjWd8tRw,96
130
+ pynecore/lib/session.py,sha256=9MRuHec4M0ir0K25CHRzdd23w0F5Fu3yjfIhNvgD39M,10044
131
+ pynecore/lib/session.pyi,sha256=ufFG6k9HNU9Pm7UamgbriTAIoOiZLQma8mvwsHqzTUs,207
132
+ pynecore/lib/shape.py,sha256=GLZZw1OtOC4mdMUOpLsTHBXqJTHIUlUCjkyfBS8hRdc,460
133
+ pynecore/lib/size.py,sha256=X4nw-LG6Pzk3O4r97_jZYL_LNDdVuXfHuI9L7KEZ1-E,176
134
+ pynecore/lib/splits.py,sha256=lRYkdSo6oHahPSiMVXs-8ioZpDiwZRM1GlfbMhFIkkI,103
135
+ pynecore/lib/string.py,sha256=W37PnmOwFp-r5x-JEDlfUXv9_f0Zs_bwKpc8QkcXwTI,22742
136
+ pynecore/lib/syminfo.py,sha256=ybzY0Hxy189AOfjK3BooD_YIYw7jqGGDZ9mJoZoibXs,3022
137
+ pynecore/lib/ta.py,sha256=hSVdsO1ynkl8se432gBgCOt7LOwEvvAyAE6yiqYTay4,75591
138
+ pynecore/lib/table.py,sha256=f12xaX2KjtVt6__yuJnAwzvAFJwdeNEwMhKj-9_uil8,11591
139
+ pynecore/lib/text.py,sha256=Kfxnah5wnyUPK4ZFzO3JTZHiesS7IHkL8_aycAvPX-o,457
140
+ pynecore/lib/ticker.py,sha256=hIHtv7lHWScKGvSp2zJbkp_qnqQWeXuDwgAYXzKN4AY,8014
141
+ pynecore/lib/timeframe.py,sha256=0Jod10McciA5tSEpKBfsXsQuEjLv_BC14lA1VuUOjXA,8146
142
+ pynecore/lib/volume_row.py,sha256=08JPHAk-gZ5XQioWxce506N60tHXkxFYL7YyyD5yAA4,1310
143
+ pynecore/lib/xloc.py,sha256=DaBp9Dr_RDiZVISO5n1TGe8mpBCq__Avo2DOfvvMOCs,89
144
+ pynecore/lib/yloc.py,sha256=iuY6xhrQhQbFTyArQ41D6f43wuphD_O4xG2V1ITJsoc,109
145
+ pynecore/lib/strategy/__init__.py,sha256=dhJ_wbpt-TwZRh5Bu1yK0wJtPM-ssAunWBYuLnRSpLs,234095
146
+ pynecore/lib/strategy/closedtrades.py,sha256=3nxPdnj6hl_8QCRLS_en7A2Lc5NcaEzmg0nSfDTLVMA,11042
147
+ pynecore/lib/strategy/closedtrades.pyi,sha256=BshbnPdrPYKtf3TkHX2Z93V-l8HhCeIVuFmxA98LVSg,1554
148
+ pynecore/lib/strategy/commission.py,sha256=nJq9HNzQ0YDjT6IkC_PVuPK6w6FpWbEZNT2SlyCvHX8,189
149
+ pynecore/lib/strategy/direction.py,sha256=0xydV3h6pWlT9RSkXIVusE7u4A0uJjVH2DovUUIFMjk,141
150
+ pynecore/lib/strategy/oca.py,sha256=WDtklXCClX1qRnRQ5C4SiYNrwYrXbY2s0eToOSU_5rY,379
151
+ pynecore/lib/strategy/opentrades.py,sha256=wE9yAzdNEV7abpNsH7D7B8GRh2JQrRPOh6Z9bBgczy4,9089
152
+ pynecore/lib/strategy/opentrades.pyi,sha256=57usFVBOnPAMtUQ8XnsZDtwKnctyNzD_fjmiOyrkJhc,1339
153
+ pynecore/lib/strategy/risk.py,sha256=jmv0bXgbpbxGI010quInO0OHdXu9x0WtUaKIp2PIqKA,4118
154
+ pynecore/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
155
+ pynecore/providers/ccxt.py,sha256=vTxIT_LtDbHehhW2IIz_pE7i-93ytTO1dF23NSw0T9g,25176
156
+ pynecore/providers/replay.py,sha256=I5u1MqrZioPkXtnJXmPKOOjAlYLXnGfrTB1DTqoQpwE,7087
157
+ pynecore/pynesys/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
+ pynecore/pynesys/api.py,sha256=pT5WMyea05ZApaiJPpcDfed_9iCahFJU24OjvpHM0ko,17003
159
+ pynecore/pynesys/compiler.py,sha256=RJFPrfM9AsmwC8umFrAxeOaT5ukRDWlrNJctltMpBRE,4222
160
+ pynecore/testing/__init__.py,sha256=MuRYGdWxcMCZF6SyU0hZ9bntcJ-MEA43d9WiB4KnEJg,51
161
+ pynecore/testing/broker_lab/__init__.py,sha256=ubP_kk6EyH9SMMNnG14veS2jDvAraS4bacpK-nVj57c,978
162
+ pynecore/testing/broker_lab/__main__.py,sha256=SHSHUhJ9Av2BT4KGOK8Medq-7rkHXJ3jokNk06Up88A,101
163
+ pynecore/testing/broker_lab/cli.py,sha256=Z6kC_TUqrKgqWLVxR3K6oYozt4FSkUtC9cscY2USGgk,3412
164
+ pynecore/testing/broker_lab/generate.py,sha256=oMVzrtgqhbobz1itWJGhqlnT9Id3X6-Aa8uSMxOB4aw,1690
165
+ pynecore/testing/broker_lab/model.py,sha256=MaJR0xnBOWjcq2hd0ReLWm1t2WXUagKvnSqYVUSu8V4,2328
166
+ pynecore/testing/broker_lab/reference.py,sha256=i7NZJo1xt_MLEaF5tA8p-_oL8DtUnT1Tc2zw6jf_4bQ,26126
167
+ pynecore/testing/broker_lab/runner.py,sha256=Wiw_Bud3fNhNM5rt8ntL8dHmDjhl-j31db1K0bsTGRE,14914
168
+ pynecore/testing/broker_lab/scheduler.py,sha256=b5DVDF-g5Y-aJSmigXaQJNk6FeiPYcst_rKVhUaqFdk,1583
169
+ pynecore/testing/broker_lab/subprocess.py,sha256=1DO-NbUAx9KinmI1Qeaf1O1EiG6Z_mqKQ9-D0kcF30s,2070
170
+ pynecore/transformers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
171
+ pynecore/transformers/builtin_shadow.py,sha256=oU0pK_5JmZh3XrDlqS1LJ--NYKOjU0DexEVR7TSDx1c,6341
172
+ pynecore/transformers/closure_arguments_transformer.py,sha256=cNWx4FckLF2ek81neGTK8K0yqKPdqTwZuttJX0Kb-mY,19099
173
+ pynecore/transformers/display_rewrite.py,sha256=RsNQd3WTATy1bYH79t_v-pLWa7J0HM_MrETROIaB2s0,6032
174
+ pynecore/transformers/dynamic_default.py,sha256=r_bZRhTlHLfwZCJoDpt_iHhxwRT_reK2lAanhnxitDc,5993
175
+ pynecore/transformers/function_isolation.py,sha256=VkomDSQMRe9mzixmW2yczjoEOk3C7z3V0bXEGpyn57c,36241
176
+ pynecore/transformers/import_lifter.py,sha256=GVQFae2syFpevFHCUNuX3CttCH_YBrufFTpneKB3sQM,2456
177
+ pynecore/transformers/import_normalizer.py,sha256=Mn-xpGtlsDpYEuxXzU1ZVvPqESStUQgo1t-MM9w3Qm8,13114
178
+ pynecore/transformers/inline_series_hoist.py,sha256=ZLzQsjMzEcQDhmLN4W1WXQv0LyalO7khiQeXOl2D7Co,7543
179
+ pynecore/transformers/input_transformer.py,sha256=ReAzcX_uAMBD0Cc_A8U4XjAN43iQj_UL2nYEljp55sI,8185
180
+ pynecore/transformers/lib_series.py,sha256=3j5mIQJsHDsydN_w0cDxAW27D_dl3m0SYlFcdXIA2yo,9313
181
+ pynecore/transformers/locations.py,sha256=j5TIc3XBKHX8aUMkiFXpdpICeIF3Xg_ZD_Wp8teUHIk,3169
182
+ pynecore/transformers/module_properties.json,sha256=GzwFDEL4-Ai8wkf-gmCPRRo2PyWjiux75GSurKOBgAM,55991
183
+ pynecore/transformers/module_property.py,sha256=S0rHGfD21baHNaEOrcQHuIeSPFCRifQvg6sEogvAopE,9323
184
+ pynecore/transformers/ne_guard.py,sha256=908yJUUe94ncmASaPCKcWF2d92NbaAoF7k-DTgACnjk,3172
185
+ pynecore/transformers/persistent.py,sha256=OotL5HbddL59Q95OOk1YwncDv4qIWz4ZFTZueifmmF4,15942
186
+ pynecore/transformers/persistent_series.py,sha256=JcCcaNDsuWEy6rsk54ZB4qum0PbYM5YG22g77ftXjLI,2994
187
+ pynecore/transformers/safe_convert_transformer.py,sha256=Kp8nZR3drbuGhDtoItDgnVVyk2JohrcVqyyosxIj9eA,3624
188
+ pynecore/transformers/safe_division_transformer.py,sha256=6mAOHLeN_SRJWTWAWXUByfsrCRge1C_EehfuFr3GyHc,3725
189
+ pynecore/transformers/script_requirements.py,sha256=bIZNdD-mJmonvcbvtFjpND5GBbFa2i-WuYJM7uNE0PM,12527
190
+ pynecore/transformers/security.py,sha256=wnt2l3H03lh9Eh2fFtTZSdx1-AJBfptrvttX50MaVVU,33742
191
+ pynecore/transformers/security_instantiation.py,sha256=B0XzJsnCtVPUgJ91gTQjZc0ewnpw-Myz77Q1_k4AoOI,11598
192
+ pynecore/transformers/series.py,sha256=pJRQ3GlPpNqvLiHMkKCjsYjWVBc9DzWSQtrfEB1yA_M,13755
193
+ pynecore/transformers/slot_layout.py,sha256=U1N1LGYSrqIXeymHouEIvGOEM8T7rge5PJEmWmtLNQU,16751
194
+ pynecore/transformers/type_checking_stripper.py,sha256=zJuWPz68YzOg0Gi8UfIHFqEQXCmyL0AJGcA-1MY_hEc,1044
195
+ pynecore/transformers/unused_series_detector.py,sha256=ZoW-kYv1Aj1B_GyyZi3dYvAAIlnCIelNG5WKYfmgaxs,11464
196
+ pynecore/types/__init__.py,sha256=awLPB-eDFk3AhCB00jx0iqfhqrMkGX03WlvwmHjSxtc,652
197
+ pynecore/types/alert.py,sha256=yl3tZHeK-Du39MHk-teZpC_E7Ytc7cL_LVK04kJE7a0,68
198
+ pynecore/types/barmerge.py,sha256=bxSLSnLxMyY9ViwGgb7FX4kQ8D_vKWFO6mthru1UrZM,68
199
+ pynecore/types/base.py,sha256=zKwLRD9S3KVDKj_-ufEAo1INfSr4bP3tqPik_Ter_wQ,1053
200
+ pynecore/types/box.py,sha256=yuKxJ6guvui3VQhc2pgm7VSLvRtsQq95NNOjmWLq6Ps,1362
201
+ pynecore/types/chart.py,sha256=GWrBxlyqaPmUwiILdR9J_3ETSjF6HSuZo8RjvioPFok,555
202
+ pynecore/types/color.py,sha256=NEyOS5ep8UiTEy0w3Br5LucJsJsl7zznBxtqaZFKTIM,3463
203
+ pynecore/types/currency.py,sha256=-Qxoc-ywgfJ6Cj32ot22D8dJXmXswctOFvNHiN5f44U,74
204
+ pynecore/types/datetime.py,sha256=VJ9tAhCI-ugxqoyPWdUXMJkH6K726Uc2wPom2Q15cN4,138
205
+ pynecore/types/display.py,sha256=JWFrXAzt2S3k18SWY4-Hf11svwWnQW6rBlENHajZfEI,60
206
+ pynecore/types/dividends.py,sha256=EQhrCayXCazHzBAaFG6TvkMsTbMQiv2TTRf08eJ1sLo,68
207
+ pynecore/types/earnings.py,sha256=h4d1F10eOYuDBmXLWPE7P88awPW_ZEt0YrvlKINoUqw,67
208
+ pynecore/types/extend.py,sha256=7JL04MJtu8bYYQxxx1DgHaZ5ukm_GtpQ2ln31y9LLIQ,64
209
+ pynecore/types/font.py,sha256=uh-s6sMt_7d2GytAvwpql_lPFoHsCGNMGru_gUcgYhM,80
210
+ pynecore/types/footprint.py,sha256=8X5nE5R_eiqPoxkaKoOd5yFFL-enIVargrNL4GC-8jY,1483
211
+ pynecore/types/format.py,sha256=2DxjQcjPxre_h9Xmaa1sBvXN2N8X3qKwPBWe-eK6lBs,72
212
+ pynecore/types/hline.py,sha256=smXl4POLy8Yos2CYFGaFWlGLEXUHvWUi10i_VCx2JXM,863
213
+ pynecore/types/ib_persistent.py,sha256=uFTzVWEgXdDgZq07DMaOa-AWZUoeplbmOv_sEHthmBg,219
214
+ pynecore/types/ib_persistent.pyi,sha256=l8a_XwQCFwTWkAxoHB7pYhVRUbIsrOqkDRYP2wxHcHc,247
215
+ pynecore/types/label.py,sha256=DsXOYuScQwNyI7yOwWGi5rwfLJk5cHXi5nmHb5Aqb0M,1140
216
+ pynecore/types/line.py,sha256=7zQHQBx1brFwVDGE7nX6PfAhF1jc41bS0T78zghYgE0,899
217
+ pynecore/types/linefill.py,sha256=hX5xZZRG7hFIGATZBFeIxBP13QvqMZCaPqTkw-hoIMk,275
218
+ pynecore/types/location.py,sha256=dqOCO7RLVFrc2_E_7TyCyFyk4Ge2i012tm4i-wy2JNQ,67
219
+ pynecore/types/matrix.py,sha256=tmOqxfR-ckdBpcB9Hx0JubUCNtZL8T22_bgmZiPg3f4,34156
220
+ pynecore/types/na.py,sha256=HFVjERMRx8vaErqgYuCyscSmnrRPQqrPzhK0nzTi5uA,6453
221
+ pynecore/types/na.pyi,sha256=fmjizM1RsI3ZPg0D2gCu8fpHF0eOPcbELu3Pyq9iFpw,3036
222
+ pynecore/types/ohlcv.py,sha256=tDlt5t3tGVotuSGoAm3Ua9J_CZlNP4fYehp-cWx0ijY,266
223
+ pynecore/types/order.py,sha256=2pucQTHf8O7H8K2TvDEwsAvSVTtpBALRTgbBTEe7Om4,71
224
+ pynecore/types/persistent.py,sha256=e430SYNaqGcf7ZWjBwXwczRFuwFzfd7ARsbnZ-UTnsE,211
225
+ pynecore/types/persistent.pyi,sha256=VdabONvMzQmtdFQ8Z184HDdsiOzgbVDnSDa8Myk6Rd4,468
226
+ pynecore/types/pine_types.py,sha256=T2VZss_60Gjm8pWlOFvvTcmpRMCYyTu5tuos5BMVKrg,392
227
+ pynecore/types/pine_types.pyi,sha256=Tx6t5bPO_R5bzs-DeK3z4-EzZ0WdzTo0XEApKrs47MY,508
228
+ pynecore/types/pivotpointtype.py,sha256=YtSehoW9dhMZF4oUYrfU-q6FORjJMLC5qzj8pqQT_2w,84
229
+ pynecore/types/plot.py,sha256=fv7UXgt37MNJ6S4SAYEx6zvYkurmSdnpAQPfYyExmZM,212
230
+ pynecore/types/plot_meta.py,sha256=n4kOhcWFBBO6Jx__ut6d33L6G2blI-BwfCfkfDimKhc,1658
231
+ pynecore/types/polyline.py,sha256=bINEeXCatJ4liX-uSeJEfgS1zP9FVdroDaEKX2VvT5M,1221
232
+ pynecore/types/position.py,sha256=IYESCu6VaHD5NP72J2hKk3Pw5V_YOoe3mhvuDqIlftY,66
233
+ pynecore/types/scale.py,sha256=DxrsEFVClxV44573OsGxY4I0OFk9UKJ5KXWbhMnWBN0,65
234
+ pynecore/types/script_type.py,sha256=JQzF2vMr2rCFIWA1GzZLOs6BoG92wNJG4wMNxdD_Y6Q,210
235
+ pynecore/types/series.py,sha256=OE_zF4Fn28ZTEPtz38D5ZZ5KuoaSE9eqyb0SIh8U-jY,526
236
+ pynecore/types/series.pyi,sha256=nlhDKemLFbRLhbuSKhsvdbX3O8xIH-53CeIZhi7le18,769
237
+ pynecore/types/session.py,sha256=LeYBB_yJL1Xar7Yo4PNa_zWBf2zhuLnLQY4hSgapivg,1061
238
+ pynecore/types/shape.py,sha256=2F8u8o467dezRLIYsm7Nd-CN_OW7qTdrdWjuYDKONB0,71
239
+ pynecore/types/size.py,sha256=vIDFY69s5d4UGVWomR-udxBS_wqYuraYvmAuq450pBs,63
240
+ pynecore/types/source.py,sha256=buECrQWM2MsJCeL3Pfd177UvD98fM7ul08ni5dF2HB4,1138
241
+ pynecore/types/splits.py,sha256=LQC_JL_no8SWoImTJhjutjVHuqN9D6UZ8dqraVmSXMw,65
242
+ pynecore/types/strategy.py,sha256=bu183Br6W2QZPwqZjV42nIzosobYiIPdQOMQlqWVKbM,1702
243
+ pynecore/types/table.py,sha256=9q4RJZLDer9uHWsQCOZezAlYjN6nKapA0e4CPfDhamQ,3201
244
+ pynecore/types/text.py,sha256=C8s0DLOGPve2ITLf1vTo6ggVW_slZ3l0M3-bvalm_TM,146
245
+ pynecore/types/type_checker.py,sha256=BdkMzX9r3OHBaB9ZRKVZsLIXa4GYlluJAFZovOtcj2A,96
246
+ pynecore/types/type_checker.pyi,sha256=sfng34cZByUvNv97UjmOqi5wCv6mjqg-qBCHkX7kIgU,1995
247
+ pynecore/types/volume_row.py,sha256=AIXHbDK97EG7vhutNf1aWvE7JtApVbdMKR3Vm8kLK7Y,1411
248
+ pynecore/types/weekdays.py,sha256=WOHSjCcwn4nIcBQvwQPZeaZ23lL4LSuNwCCNUbli8zo,136
249
+ pynecore/types/xloc.py,sha256=EIriYl5NSE5hL37nqqfmp0fb4KoZU3RWHWmyd6ie-ZU,63
250
+ pynecore/types/yloc.py,sha256=q1tDckxOJo09Z41y5TzFwm9IIDyGP9YjueyzedHl8qQ,63
251
+ pynecore/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
252
+ pynecore/utils/file_utils.py,sha256=NK2Xafo4vAhyaJWYgZXs7CBEAzNtMy2j10NMrBAcnZU,1518
253
+ pynecore/utils/sequence_view.py,sha256=VHkD5FrRQ4GmJejzVMrUjXFUzLw9BB5mLCJqpuQMTC8,3479
254
+ pynecore/utils/stdlib_checker.py,sha256=T6h9wTmoh32ypS4984QDvhAHuyr7bLAeJYTGMSxKWkA,672
255
+ pynecore/utils/rich/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
256
+ pynecore/utils/rich/date_column.py,sha256=vAUseva80gIyIGud1cuvJ2SvjMbAtL2hsQRKevBvtPo,936
257
+ opencode_pyneruntime-6.6.4.dist-info/METADATA,sha256=8TrMLZbLBKE1iNN7tDJFSWMFNBqeygeppCXb7_PktjU,10498
258
+ opencode_pyneruntime-6.6.4.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
259
+ opencode_pyneruntime-6.6.4.dist-info/entry_points.txt,sha256=Lrih56H9jiPrGkRFsKWyuc2c2JWg-jr4GbvhDR76afQ,151
260
+ opencode_pyneruntime-6.6.4.dist-info/top_level.txt,sha256=fWjt8e_9e7szcl4Q3wggNH91Xwlh76GRAP1msOT3mLg,9
261
+ opencode_pyneruntime-6.6.4.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (83.0.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,6 @@
1
+ [console_scripts]
2
+ pyne = pynecore.cli:app
3
+
4
+ [pyne.plugin]
5
+ ccxt = pynecore.providers.ccxt:CCXTProvider
6
+ replay = pynecore.providers.replay:ReplayProvider