artesian-sdk 4.0.3.dev2__py3-none-any.whl → 4.0.3.dev14__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.
- Artesian/GMEPublicOffers/_Enum/Zone.py +2 -0
- Artesian/MarketData/MarketDataService.py +68 -0
- Artesian/MarketData/_Dto/DerivedCfg.py +21 -0
- Artesian/MarketData/_Dto/MarketDataEntityInput.py +50 -0
- Artesian/MarketData/_Dto/MarketDataEntityOutput.py +15 -0
- Artesian/MarketData/_Dto/__init__.py +2 -0
- Artesian/MarketData/_Enum/DerivedAlgorithm.py +7 -0
- Artesian/MarketData/_Enum/__init__.py +2 -0
- Artesian/MarketData/__init__.py +4 -0
- Artesian/_ClientsExecutor/ArtesianJsonSerializer.py +2 -0
- Artesian/__init__.py +1 -1
- Artesian/_version.py +9 -4
- {artesian_sdk-4.0.3.dev2.dist-info → artesian_sdk-4.0.3.dev14.dist-info}/METADATA +37 -15
- {artesian_sdk-4.0.3.dev2.dist-info → artesian_sdk-4.0.3.dev14.dist-info}/RECORD +17 -15
- {artesian_sdk-4.0.3.dev2.dist-info → artesian_sdk-4.0.3.dev14.dist-info}/WHEEL +1 -1
- {artesian_sdk-4.0.3.dev2.dist-info → artesian_sdk-4.0.3.dev14.dist-info}/LICENSE +0 -0
- {artesian_sdk-4.0.3.dev2.dist-info → artesian_sdk-4.0.3.dev14.dist-info}/top_level.txt +0 -0
|
@@ -2,6 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
from typing import List, Optional, cast, Dict
|
|
3
3
|
|
|
4
4
|
from Artesian.MarketData._Dto import DeleteData
|
|
5
|
+
from ._Dto.DerivedCfg import DerivedCfg
|
|
5
6
|
from .._ClientsExecutor.RequestExecutor import _RequestExecutor
|
|
6
7
|
from .._ClientsExecutor.Client import _Client
|
|
7
8
|
from ..ArtesianConfig import ArtesianConfig
|
|
@@ -388,10 +389,77 @@ class MarketDataService:
|
|
|
388
389
|
Returns:
|
|
389
390
|
MarketData Entity Output.
|
|
390
391
|
"""
|
|
392
|
+
|
|
393
|
+
entity._validateDerivedCfg()
|
|
394
|
+
|
|
391
395
|
return _get_event_loop().run_until_complete(
|
|
392
396
|
self.registerMarketDataAsync(entity)
|
|
393
397
|
)
|
|
394
398
|
|
|
399
|
+
async def updateDerivedConfigurationAsync(
|
|
400
|
+
self: MarketDataService,
|
|
401
|
+
marketDataId: int,
|
|
402
|
+
derivedCfg: DerivedCfg,
|
|
403
|
+
force: bool = False
|
|
404
|
+
) -> MarketDataEntityOutput:
|
|
405
|
+
"""
|
|
406
|
+
Update Derived Configuration for marketData with id supplied in MarketDataId.
|
|
407
|
+
The update will trigger a Rebuild
|
|
408
|
+
|
|
409
|
+
Args:
|
|
410
|
+
marketDataId: The Market Data Id to be updated
|
|
411
|
+
derivedCfg: The Derived Configuration to be updated
|
|
412
|
+
force: Force the update of configuration also if another
|
|
413
|
+
rebuild process is running (Default=false)
|
|
414
|
+
|
|
415
|
+
Returns:
|
|
416
|
+
MarketData Entity Output (Async).
|
|
417
|
+
"""
|
|
418
|
+
|
|
419
|
+
marketDataOutput = await self.readMarketDataRegistryByIdAsync(marketDataId)
|
|
420
|
+
|
|
421
|
+
marketDataOutput._validateUpdateDerivedCfg(derivedCfgUpdate=derivedCfg)
|
|
422
|
+
|
|
423
|
+
url = "/marketdata/entity/" + str(marketDataId) + "/updateDerivedConfiguration"
|
|
424
|
+
params = {"force": force}
|
|
425
|
+
with self.__client as c:
|
|
426
|
+
res = await asyncio.gather(
|
|
427
|
+
*[
|
|
428
|
+
self.__executor.exec(
|
|
429
|
+
c.exec,
|
|
430
|
+
"POST",
|
|
431
|
+
url,
|
|
432
|
+
derivedCfg,
|
|
433
|
+
retcls=MarketDataEntityOutput,
|
|
434
|
+
params=params,
|
|
435
|
+
)
|
|
436
|
+
]
|
|
437
|
+
)
|
|
438
|
+
return cast(MarketDataEntityOutput, res[0])
|
|
439
|
+
|
|
440
|
+
def updateDerivedConfiguration(
|
|
441
|
+
self: MarketDataService,
|
|
442
|
+
marketDataId: int,
|
|
443
|
+
derivedCfg: DerivedCfg,
|
|
444
|
+
force: bool = False
|
|
445
|
+
) -> MarketDataEntityOutput:
|
|
446
|
+
"""
|
|
447
|
+
Update Derived Configuration for marketData with id supplied in MarketDataId.
|
|
448
|
+
The update will trigger a Rebuild
|
|
449
|
+
|
|
450
|
+
Args:
|
|
451
|
+
marketDataId: The Market Data Id to be updated
|
|
452
|
+
derivedCfg: The Derived Configuration to be updated
|
|
453
|
+
force: Force the update of configuration also if another
|
|
454
|
+
rebuild process is running (Default=false)
|
|
455
|
+
|
|
456
|
+
Returns:
|
|
457
|
+
MarketData Entity Output.
|
|
458
|
+
"""
|
|
459
|
+
return _get_event_loop().run_until_complete(
|
|
460
|
+
self.updateDerivedConfigurationAsync(marketDataId, derivedCfg, force)
|
|
461
|
+
)
|
|
462
|
+
|
|
395
463
|
async def upsertDataAsync(self: MarketDataService, data: UpsertData) -> None:
|
|
396
464
|
url = "/marketdata/upsertdata"
|
|
397
465
|
with self.__client as c:
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
from typing import List, Optional
|
|
3
|
+
from .._Enum import DerivedAlgorithm
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
@dataclass
|
|
7
|
+
class DerivedCfg:
|
|
8
|
+
"""
|
|
9
|
+
Class for the Derived Configuration.
|
|
10
|
+
|
|
11
|
+
Attributes:
|
|
12
|
+
derivedAlgorithm: the derived configuration algorithm (MUV, Coalesce, Sum)
|
|
13
|
+
version: the derived configuration version
|
|
14
|
+
orderedReferencedMarketDataIds: the ordered reference MarketData Ids
|
|
15
|
+
used in the computation
|
|
16
|
+
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
derivedAlgorithm: DerivedAlgorithm
|
|
20
|
+
version: int
|
|
21
|
+
orderedReferencedMarketDataIds: Optional[List[int]]
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
from dataclasses import dataclass
|
|
2
2
|
from typing import Dict, List, Optional
|
|
3
|
+
|
|
4
|
+
from .DerivedCfg import DerivedCfg
|
|
5
|
+
from .._Enum.DerivedAlgorithm import DerivedAlgorithm
|
|
3
6
|
from .._Enum import MarketDataType
|
|
4
7
|
from .._Enum import AggregationRule
|
|
5
8
|
from .._Enum import Granularity
|
|
@@ -22,6 +25,7 @@ class MarketDataEntityInput:
|
|
|
22
25
|
transformID: the time transform ID for the market data entity input
|
|
23
26
|
marketDataId: the market data ID for the market data entity input
|
|
24
27
|
eTag: the market data Etag for the market data entity input
|
|
28
|
+
derivedCfg: the derived configuration for the market data entity input
|
|
25
29
|
|
|
26
30
|
"""
|
|
27
31
|
|
|
@@ -30,9 +34,55 @@ class MarketDataEntityInput:
|
|
|
30
34
|
originalGranularity: Granularity
|
|
31
35
|
type: MarketDataType
|
|
32
36
|
originalTimezone: str
|
|
37
|
+
derivedCfg: Optional[DerivedCfg] = None
|
|
33
38
|
aggregationRule: AggregationRule = AggregationRule.Undefined
|
|
34
39
|
tags: Optional[Dict[str, List[str]]] = None
|
|
35
40
|
providerDescription: Optional[str] = None
|
|
36
41
|
transformID: Optional[int] = None
|
|
37
42
|
marketDataId: int = 0
|
|
38
43
|
eTag: Optional[str] = None
|
|
44
|
+
|
|
45
|
+
def _validateDerivedCfg(
|
|
46
|
+
self: "MarketDataEntityInput") -> None:
|
|
47
|
+
if (
|
|
48
|
+
self.derivedCfg is not None
|
|
49
|
+
and self.derivedCfg.derivedAlgorithm == DerivedAlgorithm.MUV
|
|
50
|
+
and self.derivedCfg.orderedReferencedMarketDataIds is not None
|
|
51
|
+
):
|
|
52
|
+
raise Exception(
|
|
53
|
+
"DerivedCfg with MUV algorithm cannot have "
|
|
54
|
+
"orderedReferencedMarketDataIds"
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
if (
|
|
58
|
+
self.derivedCfg is not None
|
|
59
|
+
and self.derivedCfg.derivedAlgorithm is not DerivedAlgorithm.MUV
|
|
60
|
+
and self.derivedCfg.orderedReferencedMarketDataIds is None
|
|
61
|
+
):
|
|
62
|
+
raise Exception(
|
|
63
|
+
f"DerivedCfg with {self.derivedCfg.derivedAlgorithm} algorithm "
|
|
64
|
+
"must have orderedReferencedMarketDataIds valorized or empty []"
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
if (
|
|
68
|
+
self.derivedCfg is not None
|
|
69
|
+
and self.derivedCfg.derivedAlgorithm in {
|
|
70
|
+
DerivedAlgorithm.Coalesce,
|
|
71
|
+
DerivedAlgorithm.Sum
|
|
72
|
+
}
|
|
73
|
+
and self.type is not MarketDataType.ActualTimeSerie
|
|
74
|
+
):
|
|
75
|
+
raise Exception(
|
|
76
|
+
f"DerivedCfg with {self.derivedCfg.derivedAlgorithm} algorithm "
|
|
77
|
+
"must be set to MarketData of type Actual only."
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
if (
|
|
81
|
+
self.derivedCfg is not None
|
|
82
|
+
and self.derivedCfg.derivedAlgorithm is DerivedAlgorithm.MUV
|
|
83
|
+
and self.type is not MarketDataType.VersionedTimeSerie
|
|
84
|
+
):
|
|
85
|
+
raise Exception(
|
|
86
|
+
f"DerivedCfg with {self.derivedCfg.derivedAlgorithm} algorithm "
|
|
87
|
+
"must be set to MarketData of type Versioned only."
|
|
88
|
+
)
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
from dataclasses import dataclass
|
|
2
2
|
import datetime
|
|
3
3
|
from typing import Optional
|
|
4
|
+
|
|
5
|
+
from .DerivedCfg import DerivedCfg
|
|
4
6
|
from .MarketDataEntityInput import MarketDataEntityInput
|
|
5
7
|
|
|
6
8
|
|
|
@@ -34,3 +36,16 @@ class MarketDataEntityOutput(MarketDataEntityInput):
|
|
|
34
36
|
dataRangeEnd: Optional[datetime.date] = None
|
|
35
37
|
created: Optional[datetime.datetime] = None
|
|
36
38
|
# tranform: missing due to handling class hierarchies deserializations
|
|
39
|
+
|
|
40
|
+
def _validateUpdateDerivedCfg(
|
|
41
|
+
self: "MarketDataEntityOutput",
|
|
42
|
+
derivedCfgUpdate: DerivedCfg) -> None:
|
|
43
|
+
if self.derivedCfg is None:
|
|
44
|
+
raise Exception(
|
|
45
|
+
"DerivedCfg cannot be added to a MarketData that has not"
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
if self.derivedCfg.derivedAlgorithm != derivedCfgUpdate.derivedAlgorithm:
|
|
49
|
+
raise Exception(
|
|
50
|
+
"Derived Algorithm cannot be update"
|
|
51
|
+
)
|
|
@@ -13,6 +13,7 @@ from .UpsertData import (
|
|
|
13
13
|
UpsertData,
|
|
14
14
|
)
|
|
15
15
|
from .DeleteData import DeleteData
|
|
16
|
+
from .DerivedCfg import DerivedCfg
|
|
16
17
|
|
|
17
18
|
__all__ = [
|
|
18
19
|
MarketDataEntityOutput.__name__,
|
|
@@ -29,4 +30,5 @@ __all__ = [
|
|
|
29
30
|
ArtesianSearchResults.__name__,
|
|
30
31
|
ArtesianMetadataFacet.__name__,
|
|
31
32
|
ArtesianMetadataFacetCount.__name__,
|
|
33
|
+
DerivedCfg.__name__,
|
|
32
34
|
] # type: ignore
|
|
@@ -2,10 +2,12 @@ from .AggregationRule import AggregationRule
|
|
|
2
2
|
from ...Granularity import Granularity
|
|
3
3
|
from .MarketDataType import MarketDataType
|
|
4
4
|
from .ArtesianMetadataFacetType import ArtesianMetadataFacetType
|
|
5
|
+
from .DerivedAlgorithm import DerivedAlgorithm
|
|
5
6
|
|
|
6
7
|
__all__ = [
|
|
7
8
|
AggregationRule.__name__,
|
|
8
9
|
Granularity.__name__,
|
|
9
10
|
MarketDataType.__name__,
|
|
10
11
|
ArtesianMetadataFacetType.__name__,
|
|
12
|
+
DerivedAlgorithm.__name__,
|
|
11
13
|
] # type: ignore
|
Artesian/MarketData/__init__.py
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from ._Enum.DerivedAlgorithm import DerivedAlgorithm
|
|
1
2
|
from .MarketDataService import MarketDataService
|
|
2
3
|
from ._Enum.AggregationRule import AggregationRule
|
|
3
4
|
from ..Granularity import Granularity
|
|
@@ -19,6 +20,7 @@ from ._Dto import (
|
|
|
19
20
|
ArtesianSearchResults,
|
|
20
21
|
ArtesianMetadataFacet,
|
|
21
22
|
ArtesianMetadataFacetCount,
|
|
23
|
+
DerivedCfg,
|
|
22
24
|
)
|
|
23
25
|
|
|
24
26
|
__all__ = [
|
|
@@ -41,4 +43,6 @@ __all__ = [
|
|
|
41
43
|
ArtesianMetadataFacet.__name__,
|
|
42
44
|
ArtesianMetadataFacetCount.__name__,
|
|
43
45
|
ArtesianMetadataFacetType.__name__,
|
|
46
|
+
DerivedCfg.__name__,
|
|
47
|
+
DerivedAlgorithm.__name__,
|
|
44
48
|
] # type: ignore
|
|
@@ -4,6 +4,7 @@ from dateutil import parser
|
|
|
4
4
|
import jsons
|
|
5
5
|
from typing import Any, Callable, Dict, Optional, get_args
|
|
6
6
|
|
|
7
|
+
|
|
7
8
|
__commonFmt = "%Y-%m-%dT%H:%M:%S.%f"
|
|
8
9
|
if system() == "Linux":
|
|
9
10
|
__commonFmt = "%04Y-%m-%dT%H:%M:%S.%f"
|
|
@@ -63,6 +64,7 @@ def __artesianDictDeserializer(
|
|
|
63
64
|
)
|
|
64
65
|
for item in obj
|
|
65
66
|
}
|
|
67
|
+
|
|
66
68
|
return result
|
|
67
69
|
|
|
68
70
|
|
Artesian/__init__.py
CHANGED
Artesian/_version.py
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
# file generated by
|
|
1
|
+
# file generated by setuptools-scm
|
|
2
2
|
# don't change, don't track in version control
|
|
3
|
+
|
|
4
|
+
__all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
|
|
5
|
+
|
|
3
6
|
TYPE_CHECKING = False
|
|
4
7
|
if TYPE_CHECKING:
|
|
5
|
-
from typing import Tuple
|
|
8
|
+
from typing import Tuple
|
|
9
|
+
from typing import Union
|
|
10
|
+
|
|
6
11
|
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
|
7
12
|
else:
|
|
8
13
|
VERSION_TUPLE = object
|
|
@@ -12,5 +17,5 @@ __version__: str
|
|
|
12
17
|
__version_tuple__: VERSION_TUPLE
|
|
13
18
|
version_tuple: VERSION_TUPLE
|
|
14
19
|
|
|
15
|
-
__version__ = version = '4.0.3.
|
|
16
|
-
__version_tuple__ = version_tuple = (4, 0, 3, '
|
|
20
|
+
__version__ = version = '4.0.3.dev14'
|
|
21
|
+
__version_tuple__ = version_tuple = (4, 0, 3, 'dev14')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: artesian-sdk
|
|
3
|
-
Version: 4.0.3.
|
|
3
|
+
Version: 4.0.3.dev14
|
|
4
4
|
Summary: Library provides read access to the Artesian API
|
|
5
5
|
Author-email: ARK Lab <arklab@ark-energy.eu>
|
|
6
6
|
Maintainer-email: ARK Lab <arklab@ark-energy.eu>
|
|
@@ -38,19 +38,19 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
38
38
|
Requires-Python: >=3.8
|
|
39
39
|
Description-Content-Type: text/markdown
|
|
40
40
|
License-File: LICENSE
|
|
41
|
-
Requires-Dist: requests
|
|
42
|
-
Requires-Dist: six
|
|
43
|
-
Requires-Dist: jsons
|
|
44
|
-
Requires-Dist: python-dateutil
|
|
41
|
+
Requires-Dist: requests~=2.27
|
|
42
|
+
Requires-Dist: six~=1.16
|
|
43
|
+
Requires-Dist: jsons>=1.6.1,~=1.6
|
|
44
|
+
Requires-Dist: python-dateutil>=2.8.2,~=2.8
|
|
45
45
|
Provides-Extra: dev
|
|
46
|
-
Requires-Dist: responses
|
|
47
|
-
Requires-Dist: flake8
|
|
48
|
-
Requires-Dist: flake8-annotations
|
|
49
|
-
Requires-Dist: pytest
|
|
50
|
-
Requires-Dist: pytest-cov
|
|
51
|
-
Requires-Dist: twine
|
|
52
|
-
Requires-Dist: build
|
|
53
|
-
Requires-Dist: black
|
|
46
|
+
Requires-Dist: responses~=0.22; extra == "dev"
|
|
47
|
+
Requires-Dist: flake8; extra == "dev"
|
|
48
|
+
Requires-Dist: flake8-annotations; extra == "dev"
|
|
49
|
+
Requires-Dist: pytest; extra == "dev"
|
|
50
|
+
Requires-Dist: pytest-cov; extra == "dev"
|
|
51
|
+
Requires-Dist: twine; extra == "dev"
|
|
52
|
+
Requires-Dist: build; extra == "dev"
|
|
53
|
+
Requires-Dist: black; extra == "dev"
|
|
54
54
|
|
|
55
55
|
# Artesian.SDK
|
|
56
56
|
|
|
@@ -600,7 +600,12 @@ mkd = MarketData.MarketDataEntityInput(
|
|
|
600
600
|
aggregationRule=AggregationRule.AverageAndReplicate,
|
|
601
601
|
tags={
|
|
602
602
|
'TestSDKPython': ['PythonValue2']
|
|
603
|
-
}
|
|
603
|
+
},
|
|
604
|
+
derivedCfg=DerivedCfg(
|
|
605
|
+
version=1,
|
|
606
|
+
derivedAlgorithm=DerivedAlgorithm.Coalesce,
|
|
607
|
+
orderedReferencedMarketDataIds=[10000, 10001, 10002],
|
|
608
|
+
),
|
|
604
609
|
)
|
|
605
610
|
|
|
606
611
|
registered = mkservice.readMarketDataRegistryByName(mkdid.provider, mkdid.name)
|
|
@@ -620,6 +625,23 @@ mkservice.upsertData(data)
|
|
|
620
625
|
|
|
621
626
|
```
|
|
622
627
|
|
|
628
|
+
DerivedCfg can be of algorithm type: Coalesce, Sum, Muv.
|
|
629
|
+
|
|
630
|
+
Updating the DerivedCfg can be performed with `updateDerivedConfiguration` on MarketDataService. A validation will be done on the existing DerivedCfg of the MarketData, that should be not null and with same type as the one used for the update.
|
|
631
|
+
|
|
632
|
+
```csharp
|
|
633
|
+
derivedCfgUpdate = DerivedCfg(
|
|
634
|
+
version=1,
|
|
635
|
+
derivedAlgorithm=DerivedAlgorithm.Coalesce,
|
|
636
|
+
orderedReferencedMarketDataIds=[10002, 10001, 10000],
|
|
637
|
+
)
|
|
638
|
+
|
|
639
|
+
marketDataUpdated = mkdservice.updateDerivedConfiguration(
|
|
640
|
+
registeredDerived.marketDataId,
|
|
641
|
+
derivedCfgUpdate,
|
|
642
|
+
False)
|
|
643
|
+
```
|
|
644
|
+
|
|
623
645
|
In case we want to write an hourly (or lower) time series the timezone for the upsert data must be UTC:
|
|
624
646
|
|
|
625
647
|
```Python
|
|
@@ -3,8 +3,8 @@ Artesian/ArtesianConfig.py,sha256=J0GDyRqH_DuuI-nLWn-0-K-rH3KQ-FS5J7QpdAXvqxs,84
|
|
|
3
3
|
Artesian/ArtesianPolicyConfig.py,sha256=ULLngwH1762K8Kre08_JZ7aNYs4LZOxocTYLPJjXMRQ,1501
|
|
4
4
|
Artesian/Exceptions.py,sha256=asPwxz8TaIpjZV4GJmWchGen_04Ib3Rdd7_Btud4X9E,6141
|
|
5
5
|
Artesian/Granularity.py,sha256=EOeBP9Wz-tAhdm3rVVJBXx9jAkiMH9OIMJUsrNawsNU,206
|
|
6
|
-
Artesian/__init__.py,sha256=
|
|
7
|
-
Artesian/_version.py,sha256=
|
|
6
|
+
Artesian/__init__.py,sha256=c-Fu4VGOuvQCGRefF5C4CY9OxoGTDce7CgjipZN8lIo,1119
|
|
7
|
+
Artesian/_version.py,sha256=t4p5eQO8sRpE4nBc3Pc-67ZtAx3fMAIeP-vfccs6e2w,526
|
|
8
8
|
Artesian/GMEPublicOffers/ExtractionRangeConfig.py,sha256=pXVFdLpLqFvgzu2Y5UTckDWysFiJDKc0ZaXjuv46iJU,415
|
|
9
9
|
Artesian/GMEPublicOffers/GMEPublicOfferQuery.py,sha256=IECU7nk6wN7alLIxiUQmPUWaeXWsoSDC1R9qv5JMjYI,15367
|
|
10
10
|
Artesian/GMEPublicOffers/GMEPublicOfferQueryParameters.py,sha256=gs5SVNEYJTpwV9whZFw07jm5cIsion6TvgRDAeHj1Kw,3330
|
|
@@ -17,24 +17,26 @@ Artesian/GMEPublicOffers/_Enum/Purpose.py,sha256=vE5TMsXFlvKS_gP13tU-UULEp6xo75V
|
|
|
17
17
|
Artesian/GMEPublicOffers/_Enum/Scope.py,sha256=TnULjRZq-ptv8o8iHJDfcJXxEylUyPiKnRczsLBSSEE,149
|
|
18
18
|
Artesian/GMEPublicOffers/_Enum/Status.py,sha256=wJ6d7Lbr30EbPRUnnhCkCXeF1-d3MSYwNxhCcXz4-fA,141
|
|
19
19
|
Artesian/GMEPublicOffers/_Enum/UnitType.py,sha256=PukftC_s7BTYQmHa-LNgz7G-QliPci7mod8DX0dWTDQ,109
|
|
20
|
-
Artesian/GMEPublicOffers/_Enum/Zone.py,sha256
|
|
20
|
+
Artesian/GMEPublicOffers/_Enum/Zone.py,sha256=dl_3io_JZ1F9R7t1iEjexLKeNY1HWvV-CMVgh8XlVnw,380
|
|
21
21
|
Artesian/GMEPublicOffers/_Enum/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
22
|
-
Artesian/MarketData/MarketDataService.py,sha256=
|
|
23
|
-
Artesian/MarketData/__init__.py,sha256=
|
|
22
|
+
Artesian/MarketData/MarketDataService.py,sha256=5MeWGJjyKDBWhNKRsEUSjAEVQwHCYQtEZuFlMCX4rMI,16519
|
|
23
|
+
Artesian/MarketData/__init__.py,sha256=i66zOBnqbaO4_lR5MxDTExt1pFlSjIb-Hy92ArlQf6E,1392
|
|
24
24
|
Artesian/MarketData/_Dto/ArtesianMetadataFacet.py,sha256=Ib9YYpGp1_6LdHy2WjL5pUlUVNNGQiyXfCUeh6t5ky4,800
|
|
25
25
|
Artesian/MarketData/_Dto/ArtesianSearchResults.py,sha256=nazdj1G4jpOUhn1irML3Duafp4I0kNhyfnZZzL4496k,581
|
|
26
26
|
Artesian/MarketData/_Dto/CurveRangeEntity.py,sha256=_zjXxuueNoIG4Xg1K-5TeJQBF0ejcDpFkvW5R9siby8,891
|
|
27
27
|
Artesian/MarketData/_Dto/DeleteData.py,sha256=0hLz28pdnNdUG82DGtPgW6NcsCNBOxIhGBD_dc8HLTA,1307
|
|
28
|
-
Artesian/MarketData/_Dto/
|
|
29
|
-
Artesian/MarketData/_Dto/
|
|
28
|
+
Artesian/MarketData/_Dto/DerivedCfg.py,sha256=XrXVJXhenhpxl3Jtp9x0UcE9pOMOqIpvK6IE1Mfg0f4,567
|
|
29
|
+
Artesian/MarketData/_Dto/MarketDataEntityInput.py,sha256=ZwDhPNGh0EadpGi_0c_lJbjb8F8U5YT85ewiI8WtcSA,3467
|
|
30
|
+
Artesian/MarketData/_Dto/MarketDataEntityOutput.py,sha256=TKV4n0aBZzInFVY_yI8UASIyYnnHGqs7N18nUrfCfGM,2254
|
|
30
31
|
Artesian/MarketData/_Dto/MarketDataIdentifier.py,sha256=egNOuOI3qugbFl8_w3IUSV9mOdBj-akq7M4Gj0X4Ig8,289
|
|
31
32
|
Artesian/MarketData/_Dto/PagedResult.py,sha256=-o0zKOLTbLg2wdz8K4K4qQJTkarEl-4SYppS6cf6j2o,736
|
|
32
33
|
Artesian/MarketData/_Dto/UpsertData.py,sha256=qMEULDYcXG4s44P8jrBLFExPF4Ad4sVCgsKz6oMbO9U,3829
|
|
33
|
-
Artesian/MarketData/_Dto/__init__.py,sha256=
|
|
34
|
+
Artesian/MarketData/_Dto/__init__.py,sha256=eA9Ve5mSxp0731sCG_4ChgTRc_tinbAFDwBaj8iTIeI,1127
|
|
34
35
|
Artesian/MarketData/_Enum/AggregationRule.py,sha256=fkYmouBQwC68rFMyG_j-D_0IQA5JVrJRfSA7KxsCF-4,120
|
|
35
36
|
Artesian/MarketData/_Enum/ArtesianMetadataFacetType.py,sha256=1wE9VOzZ4gHk5oBjwpJd_kCgrUIfyNQmxuOZevj4f28,92
|
|
37
|
+
Artesian/MarketData/_Enum/DerivedAlgorithm.py,sha256=m64IQxmlyGPghLuTKaBAE6Y5afYBJdYofp8z0FQbASw,95
|
|
36
38
|
Artesian/MarketData/_Enum/MarketDataType.py,sha256=lIXV21b1wNWEah0q76OD4bMV1n_dtsUHQNSr8SbTBcE,159
|
|
37
|
-
Artesian/MarketData/_Enum/__init__.py,sha256=
|
|
39
|
+
Artesian/MarketData/_Enum/__init__.py,sha256=wdXoxKaDXNiMqeNAQg8UZH8EGp2I8Bea9PiYHrbjVNg,426
|
|
38
40
|
Artesian/Query/ActualQuery.py,sha256=iDk4smbDLIhaNDNy1GS1stZgWWGppHWwSnAMN0MUEjw,9397
|
|
39
41
|
Artesian/Query/AuctionQuery.py,sha256=Ns9e1YhY-Gaj35pMIOtVPhMmFYn0fnh_LufKIOnM27E,5087
|
|
40
42
|
Artesian/Query/BidAskQuery.py,sha256=0KOeEX5C-GAlIMpEzpWguqW4zpFr7tyryWyGmUFU-lI,8125
|
|
@@ -58,12 +60,12 @@ Artesian/Query/_QueryParameters/VersionSelectionType.py,sha256=rjGy6-1v6I9q8zveI
|
|
|
58
60
|
Artesian/Query/_QueryParameters/VersionedQueryParameters.py,sha256=ZFZWA0B2_tNlwG_3KycPDb4Go2U3k5od6rLpJF5hRg8,2794
|
|
59
61
|
Artesian/Query/_QueryParameters/VersionsRangeSelectionConfig.py,sha256=OP6dTHiBbCLcL9eCtgoWh50UEP0muNwM3bw-AqbvbW4,1508
|
|
60
62
|
Artesian/Query/_QueryParameters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
61
|
-
Artesian/_ClientsExecutor/ArtesianJsonSerializer.py,sha256=
|
|
63
|
+
Artesian/_ClientsExecutor/ArtesianJsonSerializer.py,sha256=CDnq1sgKLvxSampykFtF9iZHZjgV6BPZvED6MU3K74Y,3563
|
|
62
64
|
Artesian/_ClientsExecutor/Client.py,sha256=AYVMOj9mf3QmCY1vmWzHQA4WRL2zqCB-yhE5XRfk8RE,3833
|
|
63
65
|
Artesian/_ClientsExecutor/RequestExecutor.py,sha256=KKq31g8GFS-Mdp3S1QXFm5tZhacjnIeWs1YFc3f8NkY,10613
|
|
64
66
|
Artesian/_ClientsExecutor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
65
|
-
artesian_sdk-4.0.3.
|
|
66
|
-
artesian_sdk-4.0.3.
|
|
67
|
-
artesian_sdk-4.0.3.
|
|
68
|
-
artesian_sdk-4.0.3.
|
|
69
|
-
artesian_sdk-4.0.3.
|
|
67
|
+
artesian_sdk-4.0.3.dev14.dist-info/LICENSE,sha256=Y27w-dSf1pHlXO4yNy70OCCO4VuYYVxUdDOQ-sLdXds,1074
|
|
68
|
+
artesian_sdk-4.0.3.dev14.dist-info/METADATA,sha256=ziLBMl-QPTo1Y-C_b0YLt25XYdHdrbttAUmvFJ_KybU,27774
|
|
69
|
+
artesian_sdk-4.0.3.dev14.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
|
|
70
|
+
artesian_sdk-4.0.3.dev14.dist-info/top_level.txt,sha256=1Fv89OOnRKHLMmQEBRXPaNuPMoZytK4dnfrOFDdGGYI,9
|
|
71
|
+
artesian_sdk-4.0.3.dev14.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|