HedgeTech 0.0.0__py3-none-any.whl → 0.1.0__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.
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: HedgeTech
3
- Version: 0.0.0
4
- Summary: Core SDK for integrating with HedgeTech trading and market data APIs
3
+ Version: 0.1.0
4
+ Summary: A unified, high-performance API layer that powers all trading infrastructure across the HedgeTech ecosystem, providing modular, scalable, and real-time interfaces for market data, order management, and execution systems.
5
5
  Author-email: "hedgetech.ir" <info@hedgetech.ir>
6
6
  License: Apache License
7
7
  Version 2.0, January 2004
@@ -182,22 +182,184 @@ License: Apache License
182
182
 
183
183
  Copyright 2025 HedgeTech
184
184
  Licensed under the Apache License, Version 2.0
185
- Project-URL: Homepage, https://github.com/HedgeTech-ir/HedgeTech
185
+ Project-URL: Homepage, https://hedgetech.ir/landing/
186
186
  Project-URL: Documentation, https://github.com/HedgeTech-ir/HedgeTech/blob/main/README.md
187
187
  Project-URL: Repository, https://github.com/HedgeTech-ir/HedgeTech
188
- Keywords: hedge,finance,trading,oms,api,market-data,execution,orderbook,algo-trading,async,sdk
188
+ Keywords: hedge,finance,financial-markets,stocks,equities,trading,algo-trading,algorithmic-trading,automated-trading,oms,order-management-system,execution,orderbook,real-time,high-frequency,portfolio-management,risk-management,market-data,exchange-api,sdk,python,async,websocket
189
189
  Classifier: Programming Language :: Python :: 3
190
+ Classifier: Programming Language :: Python :: 3.10
191
+ Classifier: Programming Language :: Python :: 3.11
192
+ Classifier: Programming Language :: Python :: 3.12
193
+ Classifier: Programming Language :: Python :: 3.13
190
194
  Classifier: License :: OSI Approved :: Apache Software License
191
195
  Classifier: Operating System :: OS Independent
192
- Classifier: Development Status :: 3 - Alpha
196
+ Classifier: Development Status :: 4 - Beta
193
197
  Classifier: Intended Audience :: Developers
194
198
  Classifier: Intended Audience :: Financial and Insurance Industry
195
- Classifier: Topic :: Software Development :: Libraries
199
+ Classifier: Topic :: Office/Business :: Financial
200
+ Classifier: Topic :: Scientific/Engineering :: Information Analysis
201
+ Classifier: Topic :: System :: Networking
202
+ Classifier: Topic :: Internet :: WWW/HTTP
203
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
204
+ Classifier: Framework :: AsyncIO
205
+ Classifier: Typing :: Typed
196
206
  Requires-Python: >=3.10
197
207
  Description-Content-Type: text/markdown
198
208
  License-File: LICENSE
199
209
  License-File: NOTICE
200
- Requires-Dist: httpx[http2]==0.28.1
210
+ Requires-Dist: httpx[http2]<=0.28.1
211
+ Requires-Dist: brotli<=1.2.0
212
+ Requires-Dist: zstd<=1.5.7.2
213
+ Requires-Dist: PyJWT<=2.10.1
214
+ Requires-Dist: websockets<=15.0.1
201
215
  Dynamic: license-file
202
216
 
203
- HedgeTech
217
+ # HedgeTech Python SDK
218
+
219
+ HedgeTech Python SDK is a professional, lightweight, and modular Python package designed to provide seamless access to HedgeTech services. The SDK is crafted for developers, data analysts, and algorithmic traders who want to interact with the Tehran Stock Exchange (TSE & IFB) using a clean, reliable, and easy-to-use API. It supports both synchronous and asynchronous workflows, offering maximum flexibility and performance for different application scenarios.
220
+
221
+ > **Note:** This SDK requires Python >= 3.10 and is currently in Beta. Some APIs may change in future releases, but it is stable enough for daily use.
222
+
223
+ ## Features
224
+
225
+ * Secure authentication with both async and sync clients.
226
+ * Real-time and historical market data retrieval from TSE & IFB.
227
+ * Modular and maintainable architecture, designed to support multiple engines (DataEngine engines, WebSocket clients, etc.).
228
+ * Structured request and response types for robust data handling.
229
+ * Fully asynchronous support for high-performance applications.
230
+ * Easy to integrate into trading bots, analytics pipelines, dashboards, or WebSocket feeds.
231
+
232
+ ## Installation
233
+
234
+ Install HedgeTech SDK via PyPI:
235
+
236
+ ```
237
+ pip install HedgeTech
238
+ ```
239
+
240
+ ### Updating the Package
241
+
242
+ To update HedgeTech SDK to the latest version in your environment, use:
243
+
244
+ ```
245
+ pip install --upgrade HedgeTech
246
+ ```
247
+
248
+ ## Usage
249
+
250
+ The SDK exposes all major clients through the top-level modules, so you generally do **not** need to import internal implementation files directly.
251
+
252
+ ### Authentication
253
+
254
+ > **Note:** Make sure to use the matching async or sync Auth client depending on your workflow.
255
+
256
+ #### Async Authentication
257
+
258
+ ```python
259
+ from HedgeTech.Auth import AuthAsyncClient
260
+
261
+ auth_async_client = await AuthAsyncClient.login(
262
+ UserName_or_Email='<YOUR UserName_or_Email>',
263
+ Password='<YOUR Password>'
264
+ )
265
+ print(auth_async_client.token)
266
+ ```
267
+
268
+ #### Sync Authentication
269
+
270
+ ```python
271
+ from HedgeTech.Auth import AuthSyncClient
272
+
273
+ auth_sync_client = AuthSyncClient.login(
274
+ UserName_or_Email='<YOUR UserName_or_Email>',
275
+ Password='<YOUR Password>'
276
+ )
277
+ print(auth_sync_client.token)
278
+ ```
279
+
280
+ ### DataEngine / TSE IFB
281
+
282
+ The DataEngine is designed to support multiple engines in a modular way. Each engine provides its own async and sync clients, structured request and response types, and can be integrated with other engines such as WebSocket clients.
283
+
284
+ > **Important Note on Sync vs Async:** All clients have the **same method names and behavior** in both Sync and Async versions. The only difference is how they execute: Sync runs in a blocking manner, while Async requires `await` and an event loop. This design allows you to switch between Sync and Async without changing the logic or input/output of your code.
285
+
286
+ #### Async Data Client
287
+
288
+ ```python
289
+ from HedgeTech.DataEngine import DataEngine_TseIfb_AsyncClient
290
+
291
+ client = DataEngine_TseIfb_AsyncClient(auth_async_client)
292
+ data = await client.live_best_limit_by_isin(
293
+ symbol_isins=['IRT1AHRM0001','IRO1IKCO0001']
294
+ )
295
+ print(data)
296
+
297
+ # websocket Example
298
+
299
+ async for update in client.websocket_by_name(
300
+ channels=["best-limit", "order-book"],
301
+ symbol_names=["فملی","اطلس"]
302
+ ):
303
+
304
+ print(update["data"])
305
+ ```
306
+
307
+ #### Sync Data Client
308
+
309
+ ```python
310
+ from HedgeTech.DataEngine import DataEngine_TseIfb_SyncClient
311
+
312
+ client = DataEngine_TseIfb_SyncClient(auth_sync_client)
313
+ data = client.historical_ohlcv_by_name(
314
+ symbolName='مهرگان',
315
+ start_timestamp=0,
316
+ end_timestamp='1763411432',
317
+ AdjustedPrice=True,
318
+ Resolution='D'
319
+ )
320
+ print(data)
321
+
322
+ # websocket Example
323
+
324
+ for update in client.websocket_by_isin(
325
+ channels=["best-limit", "order-book"],
326
+ symbol_isins=["IR1234567890"]
327
+ ):
328
+
329
+ print(update["data"])
330
+ ```
331
+
332
+ ## Important Notes for Users
333
+
334
+ * This SDK requires Python >=3.10.
335
+ * The SDK is currently in **Beta** — APIs may change in future releases, but it is usable for most workflows.
336
+ * Always install dependencies with the specified versions to avoid compatibility issues.
337
+ * Async clients require an asyncio event loop.
338
+ * All main clients are exposed through top-level modules; you do not need to access internal files.
339
+ * Keywords and classifiers are chosen to make the SDK easy to find for developers working in finance, trading, and data analysis.
340
+
341
+ ## Modules Overview
342
+
343
+ ### HedgeTech.Auth
344
+
345
+ Handles authentication for all HedgeTech clients. The async (`AuthAsyncClient`) and sync (`AuthSyncClient`) clients are exposed through the top-level Auth module.
346
+
347
+ ### HedgeTech.DataEngine
348
+
349
+ Handles interactions with the Tehran Stock Exchange IFB and other engines. Provides:
350
+
351
+ * Async and sync clients for fetching market data.
352
+ * Structured request and response types for predictable and robust data handling.
353
+ * Modular design that allows integration of additional engines, such as WebSocket clients or future data engines, without modifying the main interface.
354
+
355
+ ## Contributing
356
+
357
+ We welcome contributions from the community! Please follow standard Python coding conventions, write clear documentation for any new features, and submit pull requests for improvements or bug fixes.
358
+
359
+ ## License
360
+
361
+ This project is licensed under the **Apache License 2.0**. See the LICENSE file for full details.
362
+
363
+ ## Support
364
+
365
+ For questions or issues, please open a GitHub issue or contact the HedgeTech team directly. We aim to provide timely support and guidance for all developers using the SDK.
@@ -0,0 +1,16 @@
1
+ HedgeTech/Auth/__AuthAsyncClient.py,sha256=ZWYTxg-idzFxOChbVvHbEmfZRMyiinI-yzPuWZGQeag,4850
2
+ HedgeTech/Auth/__AuthSyncClient.py,sha256=e5KiQ9aQD-_ztUrLr_GP3EcCzCeS6_wLkdRzl_nQ8Y8,4804
3
+ HedgeTech/Auth/__init__.py,sha256=2Ek8ZkhrRi0D7ewhMH4pyK0iqxe_FfpGBSEIu3-tsik,91
4
+ HedgeTech/DataEngine/__init__.py,sha256=qoIZgB8J3UFDDGr0-ViiyEirTzcOy0hhL4a6E6rl2d8,94
5
+ HedgeTech/DataEngine/__tse_ifb/__AsyncClient.py,sha256=8cBF_f5ekKyH9Xceb0fMdUK1sWyLQQlfp_LB1rMyrl0,60357
6
+ HedgeTech/DataEngine/__tse_ifb/__SyncClient.py,sha256=84yexoW7Vb_sMlT3VnXTDPA7HGEfmkiC7AEYbryJF4Y,58431
7
+ HedgeTech/DataEngine/__tse_ifb/__init__.py,sha256=fNfmOjNXiOYTAcOgIzSXP5J1XzyX4v5urviCSwYpoyY,111
8
+ HedgeTech/DataEngine/__tse_ifb/__io_types/__init__.py,sha256=MRShofLnx6Qm0-olFt5CrJjjoNk-785BxUnO8VC1Clo,895
9
+ HedgeTech/DataEngine/__tse_ifb/__io_types/__requests.py,sha256=x_Rc7afQahJpIq4beKctmmqRmTvipnViHICUZRj0Z-I,1601
10
+ HedgeTech/DataEngine/__tse_ifb/__io_types/__response.py,sha256=pMzjM8biVuEya62MHGU4guUCqNmhOHOToGXLS21uxc0,70442
11
+ hedgetech-0.1.0.dist-info/licenses/LICENSE,sha256=RzVH4fFelGlKDPcfQUnkbkri8Xu-bsauTM5FpraQ4NM,10251
12
+ hedgetech-0.1.0.dist-info/licenses/NOTICE,sha256=as8VRMsbPsDe5W_cX1xPxPVHPDL8PqGGzHgn5IZF26U,171
13
+ hedgetech-0.1.0.dist-info/METADATA,sha256=RCgXBFSp729u9TpsOsOHNoJ3LgKWnfL741iOKMiGnHo,18993
14
+ hedgetech-0.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
15
+ hedgetech-0.1.0.dist-info/top_level.txt,sha256=dlpgpN4ktclL9B5cS_dchuncCOf5JYPs_bobRAw3-ng,10
16
+ hedgetech-0.1.0.dist-info/RECORD,,
HedgeTech/__init__.py DELETED
File without changes
@@ -1,7 +0,0 @@
1
- HedgeTech/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- hedgetech-0.0.0.dist-info/licenses/LICENSE,sha256=RzVH4fFelGlKDPcfQUnkbkri8Xu-bsauTM5FpraQ4NM,10251
3
- hedgetech-0.0.0.dist-info/licenses/NOTICE,sha256=as8VRMsbPsDe5W_cX1xPxPVHPDL8PqGGzHgn5IZF26U,171
4
- hedgetech-0.0.0.dist-info/METADATA,sha256=qdCMsmkrWF4ASLXE3CyZmYHcTpdRQjwixqvfxR5Tujg,12725
5
- hedgetech-0.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
6
- hedgetech-0.0.0.dist-info/top_level.txt,sha256=dlpgpN4ktclL9B5cS_dchuncCOf5JYPs_bobRAw3-ng,10
7
- hedgetech-0.0.0.dist-info/RECORD,,