forex-data-aggregator 0.2.2__tar.gz → 0.2.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/PKG-INFO +9 -9
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/README.md +4 -4
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/forex_data/__init__.py +8 -4
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/forex_data/data_management/__init__.py +8 -4
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/forex_data/data_management/common.py +362 -141
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/forex_data/data_management/database.py +242 -131
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/forex_data/data_management/historicaldata.py +370 -110
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/forex_data/data_management/remoteconnector.py +423 -296
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/libs/tick_vault/fetcher.py +4 -1
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/libs/tick_vault/utils.py +16 -0
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/pyproject.toml +7 -4
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/LICENSE +0 -0
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/forex_data/config/__init__.py +0 -0
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/forex_data/config/config_file.py +0 -0
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/forex_data/utils/__init__.py +0 -0
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/forex_data/utils/estimate_tz.py +0 -0
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/libs/tick_vault/__init__.py +0 -0
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/libs/tick_vault/chunk.py +0 -0
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/libs/tick_vault/config.py +0 -0
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/libs/tick_vault/constants.py +0 -0
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/libs/tick_vault/decoder.py +0 -0
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/libs/tick_vault/download_worker.py +0 -0
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/libs/tick_vault/downloader.py +0 -0
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/libs/tick_vault/logger.py +0 -0
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/libs/tick_vault/metadata.py +0 -0
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/libs/tick_vault/metadata_worker.py +0 -0
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/libs/tick_vault/py.typed +0 -0
- {forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/libs/tick_vault/reader.py +0 -0
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: forex_data_aggregator
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.4
|
|
4
4
|
Summary: Data aggregation for forex market data
|
|
5
5
|
License: MIT
|
|
6
6
|
License-File: LICENSE
|
|
7
7
|
Author: Nicola Fiorato
|
|
8
8
|
Author-email: fiorato.nicola@gmail.com
|
|
9
|
-
Requires-Python: >=3.
|
|
9
|
+
Requires-Python: >=3.13,<3.14
|
|
10
10
|
Classifier: License :: OSI Approved :: MIT License
|
|
11
11
|
Classifier: Programming Language :: Python :: 3
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
13
13
|
Requires-Dist: bs4 (>=0.0.2,<0.0.3)
|
|
14
14
|
Requires-Dist: connectorx (>=0.4.3,<0.5.0)
|
|
15
15
|
Requires-Dist: debugpy (>=1.8.5,<2.0.0)
|
|
16
16
|
Requires-Dist: flake8 (>=7.1.1,<8.0.0)
|
|
17
17
|
Requires-Dist: holidays (>=0.89,<0.90)
|
|
18
18
|
Requires-Dist: httpx (>=0.27.0)
|
|
19
|
-
Requires-Dist: iteration-utilities (>=0.
|
|
19
|
+
Requires-Dist: iteration-utilities (>=0.13.0,<0.14.0)
|
|
20
20
|
Requires-Dist: line-profiler (>=5.0.2,<6.0.0)
|
|
21
21
|
Requires-Dist: loguru (>=0.7.2,<0.8.0)
|
|
22
22
|
Requires-Dist: matplotlib (>=3.9.2)
|
|
23
23
|
Requires-Dist: mpl-finance (>=0.10.1,<0.11.0)
|
|
24
24
|
Requires-Dist: mplfinance (>=0.12.9b7,<0.13.0)
|
|
25
25
|
Requires-Dist: mypy (>=1.14.1,<2.0.0)
|
|
26
|
-
Requires-Dist: numpy (
|
|
26
|
+
Requires-Dist: numpy (>=1.22,<3.0.0)
|
|
27
27
|
Requires-Dist: pandas (>=2.0.0)
|
|
28
28
|
Requires-Dist: pandas-stubs (>=2.2.3.241126,<3.0.0.0)
|
|
29
29
|
Requires-Dist: polars (>=0.20.7)
|
|
@@ -293,7 +293,7 @@ Let's walk through the [example for historical data source](examples/histdata_db
|
|
|
293
293
|
```python
|
|
294
294
|
from forex_data import (
|
|
295
295
|
HistoricalManagerDB,
|
|
296
|
-
|
|
296
|
+
COLUMN_NAME,
|
|
297
297
|
SQL_COMPARISON_OPERATORS
|
|
298
298
|
)
|
|
299
299
|
|
|
@@ -303,7 +303,7 @@ Let's walk through the [example for historical data source](examples/histdata_db
|
|
|
303
303
|
timeframe='1D',
|
|
304
304
|
start='2018-01-01',
|
|
305
305
|
end='2018-12-31',
|
|
306
|
-
comparison_column_name=
|
|
306
|
+
comparison_column_name=COLUMN_NAME.OPEN,
|
|
307
307
|
check_level=1.13,
|
|
308
308
|
comparison_operator=SQL_COMPARISON_OPERATORS.LESS_THAN
|
|
309
309
|
)
|
|
@@ -317,8 +317,8 @@ Let's walk through the [example for historical data source](examples/histdata_db
|
|
|
317
317
|
start='2019-01-01',
|
|
318
318
|
end='2019-12-31',
|
|
319
319
|
comparison_column_name=[
|
|
320
|
-
|
|
321
|
-
|
|
320
|
+
COLUMN_NAME.HIGH,
|
|
321
|
+
COLUMN_NAME.LOW
|
|
322
322
|
],
|
|
323
323
|
check_level=[1.145, 1.12],
|
|
324
324
|
comparison_operator=[
|
|
@@ -248,7 +248,7 @@ Let's walk through the [example for historical data source](examples/histdata_db
|
|
|
248
248
|
```python
|
|
249
249
|
from forex_data import (
|
|
250
250
|
HistoricalManagerDB,
|
|
251
|
-
|
|
251
|
+
COLUMN_NAME,
|
|
252
252
|
SQL_COMPARISON_OPERATORS
|
|
253
253
|
)
|
|
254
254
|
|
|
@@ -258,7 +258,7 @@ Let's walk through the [example for historical data source](examples/histdata_db
|
|
|
258
258
|
timeframe='1D',
|
|
259
259
|
start='2018-01-01',
|
|
260
260
|
end='2018-12-31',
|
|
261
|
-
comparison_column_name=
|
|
261
|
+
comparison_column_name=COLUMN_NAME.OPEN,
|
|
262
262
|
check_level=1.13,
|
|
263
263
|
comparison_operator=SQL_COMPARISON_OPERATORS.LESS_THAN
|
|
264
264
|
)
|
|
@@ -272,8 +272,8 @@ Let's walk through the [example for historical data source](examples/histdata_db
|
|
|
272
272
|
start='2019-01-01',
|
|
273
273
|
end='2019-12-31',
|
|
274
274
|
comparison_column_name=[
|
|
275
|
-
|
|
276
|
-
|
|
275
|
+
COLUMN_NAME.HIGH,
|
|
276
|
+
COLUMN_NAME.LOW
|
|
277
277
|
],
|
|
278
278
|
check_level=[1.145, 1.12],
|
|
279
279
|
comparison_operator=[
|
|
@@ -20,7 +20,9 @@ from .data_management import (
|
|
|
20
20
|
YEARS,
|
|
21
21
|
MONTHS,
|
|
22
22
|
TICK_TIMEFRAME,
|
|
23
|
-
|
|
23
|
+
COLUMN_NAME,
|
|
24
|
+
YearMonthList,
|
|
25
|
+
NormalizedDict,
|
|
24
26
|
DATA_FILE_COLUMN_INDEX,
|
|
25
27
|
DEFAULT_PATHS,
|
|
26
28
|
SQL_COMPARISON_OPERATORS,
|
|
@@ -45,7 +47,7 @@ from .data_management import (
|
|
|
45
47
|
check_timeframe_str,
|
|
46
48
|
DatabaseConnector,
|
|
47
49
|
LocalDBConnector,
|
|
48
|
-
|
|
50
|
+
TwelveDataConnector,
|
|
49
51
|
DukascopyConnector,
|
|
50
52
|
concat_data,
|
|
51
53
|
validator_dir_path,
|
|
@@ -71,7 +73,9 @@ __all__ = [
|
|
|
71
73
|
'YEARS',
|
|
72
74
|
'MONTHS',
|
|
73
75
|
'TICK_TIMEFRAME',
|
|
74
|
-
'
|
|
76
|
+
'COLUMN_NAME',
|
|
77
|
+
'YearMonthList',
|
|
78
|
+
'NormalizedDict',
|
|
75
79
|
'DATA_FILE_COLUMN_INDEX',
|
|
76
80
|
'DEFAULT_PATHS',
|
|
77
81
|
'SQL_COMPARISON_OPERATORS',
|
|
@@ -97,7 +101,7 @@ __all__ = [
|
|
|
97
101
|
'DatabaseConnector',
|
|
98
102
|
'DuckDBConnector',
|
|
99
103
|
'LocalDBConnector',
|
|
100
|
-
'
|
|
104
|
+
'TwelveDataConnector',
|
|
101
105
|
'DukascopyConnector',
|
|
102
106
|
'concat_data',
|
|
103
107
|
'validator_dir_path',
|
{forex_data_aggregator-0.2.2 → forex_data_aggregator-0.2.4}/forex_data/data_management/__init__.py
RENAMED
|
@@ -11,7 +11,9 @@ __all__ = [
|
|
|
11
11
|
'YEARS',
|
|
12
12
|
'MONTHS',
|
|
13
13
|
'TICK_TIMEFRAME',
|
|
14
|
-
'
|
|
14
|
+
'COLUMN_NAME',
|
|
15
|
+
'YearMonthList',
|
|
16
|
+
'NormalizedDict',
|
|
15
17
|
'DATA_FILE_COLUMN_INDEX',
|
|
16
18
|
'DEFAULT_PATHS',
|
|
17
19
|
'SQL_COMPARISON_OPERATORS',
|
|
@@ -52,7 +54,7 @@ __all__ = [
|
|
|
52
54
|
'get_class_attr_dict',
|
|
53
55
|
'random_date_between',
|
|
54
56
|
'RemoteConnector',
|
|
55
|
-
'
|
|
57
|
+
'TwelveDataConnector',
|
|
56
58
|
'HistDataConnector',
|
|
57
59
|
'DukascopyConnector'
|
|
58
60
|
]
|
|
@@ -63,7 +65,9 @@ from .common import (
|
|
|
63
65
|
YEARS,
|
|
64
66
|
MONTHS,
|
|
65
67
|
TICK_TIMEFRAME,
|
|
66
|
-
|
|
68
|
+
COLUMN_NAME,
|
|
69
|
+
YearMonthList,
|
|
70
|
+
NormalizedDict,
|
|
67
71
|
DATA_FILE_COLUMN_INDEX,
|
|
68
72
|
DEFAULT_PATHS,
|
|
69
73
|
SQL_COMPARISON_OPERATORS,
|
|
@@ -110,7 +114,7 @@ from .database import (
|
|
|
110
114
|
|
|
111
115
|
from .remoteconnector import (
|
|
112
116
|
RemoteConnector,
|
|
113
|
-
|
|
117
|
+
TwelveDataConnector,
|
|
114
118
|
HistDataConnector,
|
|
115
119
|
DukascopyConnector
|
|
116
120
|
)
|