artesian-sdk 3.1.4.dev10__tar.gz → 4.0.1__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.
- artesian_sdk-4.0.1/.github/workflows/python-tests.yml +89 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/PKG-INFO +2 -3
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/README.md +1 -2
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/samples/TestWriteDataAndDeleteActual.py +23 -2
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/samples/TestWriteDataAndDeleteAuction.py +21 -2
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/samples/TestWriteDataAndDeleteBidAsk.py +23 -2
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/samples/TestWriteDataAndDeleteMas.py +23 -2
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/samples/TestWriteDataAndDeleteVersioned.py +24 -2
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/GMEPublicOffers/GMEPublicOfferQuery.py +10 -8
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/GMEPublicOffers/GMEPublicOfferQueryParameters.py +4 -4
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/MarketData/_Dto/DeleteData.py +4 -3
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/_version.py +2 -2
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/artesian_sdk.egg-info/PKG-INFO +2 -3
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/tests/TestGMEPO.py +14 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/tests/TestMarketDataDeleteData.py +91 -3
- artesian_sdk-3.1.4.dev10/.github/workflows/python-tests.yml +0 -87
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/.flake8 +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/.github/dependabot.yml +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/.github/workflows/dependency-review.yaml +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/.gitignore +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/.vscode/extensions.json +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/.vscode/launch.json +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/.vscode/settings.json +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/CONTRIBUTING.md +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/LICENSE +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/pyproject.toml +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/samples/TestActual.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/samples/TestAuction.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/samples/TestBidAsk.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/samples/TestGMEOffers.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/samples/TestMarketDataService.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/samples/TestMas.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/samples/TestSearchFacet.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/samples/TestVersioned.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/samples/TestWriteDataAndQueryActual.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/samples/TestWriteDataAndQueryAuction.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/samples/TestWriteDataAndQueryBidAsk.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/samples/TestWriteDataAndQueryMas.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/setup.cfg +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/.gitignore +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/ArtesianConfig.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/ArtesianPolicyConfig.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Exceptions.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/GMEPublicOffers/ExtractionRangeConfig.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/GMEPublicOffers/GMEPublicOfferService.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/GMEPublicOffers/_Enum/BaType.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/GMEPublicOffers/_Enum/GenerationType.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/GMEPublicOffers/_Enum/Market.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/GMEPublicOffers/_Enum/Purpose.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/GMEPublicOffers/_Enum/Scope.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/GMEPublicOffers/_Enum/Status.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/GMEPublicOffers/_Enum/UnitType.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/GMEPublicOffers/_Enum/Zone.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/GMEPublicOffers/_Enum/__init__.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/GMEPublicOffers/__init__.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Granularity.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/MarketData/MarketDataService.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/MarketData/_Dto/ArtesianMetadataFacet.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/MarketData/_Dto/ArtesianSearchResults.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/MarketData/_Dto/CurveRangeEntity.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/MarketData/_Dto/MarketDataEntityInput.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/MarketData/_Dto/MarketDataEntityOutput.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/MarketData/_Dto/MarketDataIdentifier.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/MarketData/_Dto/PagedResult.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/MarketData/_Dto/UpsertData.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/MarketData/_Dto/__init__.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/MarketData/_Enum/AggregationRule.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/MarketData/_Enum/ArtesianMetadataFacetType.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/MarketData/_Enum/MarketDataType.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/MarketData/_Enum/__init__.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/MarketData/__init__.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/ActualQuery.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/AuctionQuery.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/BidAskQuery.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/DefaultPartitionStrategy.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/MasQuery.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/QueryService.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/RelativeInterval.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/VersionedQuery.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/_Query.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/_QueryParameters/ActualQueryParameters.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/_QueryParameters/AuctionQueryParameters.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/_QueryParameters/BidAskQueryParameters.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/_QueryParameters/ExtractionRangeConfig.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/_QueryParameters/ExtractionRangeType.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/_QueryParameters/MasQueryParameters.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/_QueryParameters/MostRecentSelectionConfig.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/_QueryParameters/QueryParameters.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/_QueryParameters/VersionSelectionConfig.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/_QueryParameters/VersionSelectionType.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/_QueryParameters/VersionedQueryParameters.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/_QueryParameters/VersionsRangeSelectionConfig.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/_QueryParameters/__init__.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/__init__.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/_ClientsExecutor/ArtesianJsonSerializer.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/_ClientsExecutor/Client.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/_ClientsExecutor/RequestExecutor.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/_ClientsExecutor/__init__.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/__init__.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/artesian_sdk.egg-info/SOURCES.txt +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/artesian_sdk.egg-info/dependency_links.txt +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/artesian_sdk.egg-info/requires.txt +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/artesian_sdk.egg-info/top_level.txt +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/tests/TestActual.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/tests/TestBidAsk.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/tests/TestClientErrorHandling.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/tests/TestMarketDataService.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/tests/TestMarketDataUpsertData.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/tests/TestMas.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/tests/TestVersioned.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/tests/__init__.py +0 -0
- {artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/tests/helpers.py +0 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# This workflow will install Python dependencies, run tests and lint with a single version of Python
|
|
2
|
+
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
|
|
3
|
+
|
|
4
|
+
name: Artesian SDK Python
|
|
5
|
+
|
|
6
|
+
on:
|
|
7
|
+
push:
|
|
8
|
+
branches: [master]
|
|
9
|
+
tags:
|
|
10
|
+
- 'v[0-9]+\.[0-9]+\.[0-9]+'
|
|
11
|
+
pull_request:
|
|
12
|
+
branches: [master]
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
build:
|
|
16
|
+
runs-on: ${{ matrix.os }}
|
|
17
|
+
|
|
18
|
+
strategy:
|
|
19
|
+
matrix:
|
|
20
|
+
python-version: ["3.8", "3.9", "3.10", "3.11"]
|
|
21
|
+
os: ["ubuntu-latest", "windows-latest", "macos-latest"]
|
|
22
|
+
|
|
23
|
+
steps:
|
|
24
|
+
- uses: actions/checkout@v3
|
|
25
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
26
|
+
uses: actions/setup-python@v2
|
|
27
|
+
with:
|
|
28
|
+
python-version: ${{ matrix.python-version }}
|
|
29
|
+
- name: Install dependencies
|
|
30
|
+
run: |
|
|
31
|
+
python -m pip install --upgrade pip
|
|
32
|
+
pip install -e ".[dev]"
|
|
33
|
+
|
|
34
|
+
- name: Run flake8
|
|
35
|
+
run: |
|
|
36
|
+
flake8 .
|
|
37
|
+
|
|
38
|
+
# Execute jordemort/action-pyright only into Ubuntu and macOS.
|
|
39
|
+
# windows started to fail for reviewdog not found. issue opened
|
|
40
|
+
# https://github.com/jordemort/action-pyright/issues/51
|
|
41
|
+
- name: Run Pyright
|
|
42
|
+
if: matrix.os != 'windows-latest'
|
|
43
|
+
uses: jordemort/action-pyright@v1
|
|
44
|
+
with:
|
|
45
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
46
|
+
reporter: github-check
|
|
47
|
+
lib:
|
|
48
|
+
level: warning
|
|
49
|
+
filter_mode: file
|
|
50
|
+
|
|
51
|
+
- name: Test Pytest
|
|
52
|
+
run: |
|
|
53
|
+
pytest --junitxml=junit/test-results-${{ matrix.python-version }}.xml
|
|
54
|
+
|
|
55
|
+
- name: Upload pytest test results
|
|
56
|
+
uses: actions/upload-artifact@v3
|
|
57
|
+
with:
|
|
58
|
+
name: pytest-results-${{ matrix.python-version }}
|
|
59
|
+
path: junit/test-results-${{ matrix.python-version }}.xml
|
|
60
|
+
# Use always() to always run this step to publish test results when there are test failures
|
|
61
|
+
if: ${{ always() }}
|
|
62
|
+
|
|
63
|
+
publish:
|
|
64
|
+
if: github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/v'))
|
|
65
|
+
runs-on: ubuntu-latest
|
|
66
|
+
needs: build
|
|
67
|
+
env:
|
|
68
|
+
python-version: "3.11"
|
|
69
|
+
|
|
70
|
+
steps:
|
|
71
|
+
- uses: actions/checkout@v3
|
|
72
|
+
with:
|
|
73
|
+
fetch-depth: 0
|
|
74
|
+
- name: Set up Python ${{ env.python-version }}
|
|
75
|
+
uses: actions/setup-python@v2
|
|
76
|
+
with:
|
|
77
|
+
python-version: ${{ env.python-version }}
|
|
78
|
+
- name: Install dependencies
|
|
79
|
+
run: |
|
|
80
|
+
python -m pip install --upgrade pip
|
|
81
|
+
python -m pip install build
|
|
82
|
+
- name: Build package
|
|
83
|
+
run: |
|
|
84
|
+
python -m build
|
|
85
|
+
- name: Publish package
|
|
86
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
87
|
+
with:
|
|
88
|
+
user: __token__
|
|
89
|
+
password: ${{ secrets.PYPI_API_TOKEN }}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: artesian-sdk
|
|
3
|
-
Version:
|
|
3
|
+
Version: 4.0.1
|
|
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>
|
|
@@ -841,7 +841,6 @@ auctionRows = MarketData.UpsertData(MarketData.MarketDataIdentifier('PROVIDER',
|
|
|
841
841
|
|
|
842
842
|
```
|
|
843
843
|
|
|
844
|
-
|
|
845
844
|
## Delete Data in Artesian
|
|
846
845
|
|
|
847
846
|
Using the MarketDataService is possible to delete MarketData and its curves.
|
|
@@ -862,7 +861,7 @@ mkservice.deleteMarketData(100042422)
|
|
|
862
861
|
|
|
863
862
|
```
|
|
864
863
|
|
|
865
|
-
Depending on the Type of the MarketData, the DeletData should be composed as per example below.
|
|
864
|
+
Depending on the Type of the MarketData, the DeletData should be composed as per example below. The timezone is optional: for DateSeries if provided must be equal to MarketData OriginalTimezone Default:MarketData OriginalTimezone. For TimeSeries Default:CET
|
|
866
865
|
|
|
867
866
|
### Delete Data in an Actual Time Series
|
|
868
867
|
|
|
@@ -787,7 +787,6 @@ auctionRows = MarketData.UpsertData(MarketData.MarketDataIdentifier('PROVIDER',
|
|
|
787
787
|
|
|
788
788
|
```
|
|
789
789
|
|
|
790
|
-
|
|
791
790
|
## Delete Data in Artesian
|
|
792
791
|
|
|
793
792
|
Using the MarketDataService is possible to delete MarketData and its curves.
|
|
@@ -808,7 +807,7 @@ mkservice.deleteMarketData(100042422)
|
|
|
808
807
|
|
|
809
808
|
```
|
|
810
809
|
|
|
811
|
-
Depending on the Type of the MarketData, the DeletData should be composed as per example below.
|
|
810
|
+
Depending on the Type of the MarketData, the DeletData should be composed as per example below. The timezone is optional: for DateSeries if provided must be equal to MarketData OriginalTimezone Default:MarketData OriginalTimezone. For TimeSeries Default:CET
|
|
812
811
|
|
|
813
812
|
### Delete Data in an Actual Time Series
|
|
814
813
|
|
|
@@ -45,7 +45,7 @@ res = (
|
|
|
45
45
|
|
|
46
46
|
print(res)
|
|
47
47
|
|
|
48
|
-
#Delete data between 2020-01-01 06:00 and 2020-01-01 18:00
|
|
48
|
+
# Delete data between 2020-01-01 06:00 and 2020-01-01 18:00
|
|
49
49
|
deleteData = Artesian.MarketData.DeleteData(
|
|
50
50
|
ID=Artesian.MarketData.MarketDataIdentifier(registered.providerName, registered.marketDataName),
|
|
51
51
|
timezone="CET",
|
|
@@ -66,5 +66,26 @@ res = (
|
|
|
66
66
|
|
|
67
67
|
print(res)
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
|
|
70
|
+
# Delete data between 2020-01-01 06:00 and 2020-01-01 18:00 without Timezone
|
|
71
|
+
deleteData = Artesian.MarketData.DeleteData(
|
|
72
|
+
ID=Artesian.MarketData.MarketDataIdentifier(registered.providerName, registered.marketDataName),
|
|
73
|
+
rangeStart=datetime(2020, 1, 1, 6),
|
|
74
|
+
rangeEnd=datetime(2020, 1, 1, 18),
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
mkdservice.deleteData(deleteData)
|
|
78
|
+
|
|
79
|
+
res = (
|
|
80
|
+
query.createActual()
|
|
81
|
+
.forMarketData([registered.marketDataId])
|
|
82
|
+
.inAbsoluteDateRange("2020-01-01", "2020-01-02")
|
|
83
|
+
.inTimeZone("CET")
|
|
84
|
+
.inGranularity(Granularity.Hour)
|
|
85
|
+
.execute()
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
print(res)
|
|
89
|
+
|
|
90
|
+
# Delete the curve completely
|
|
70
91
|
mkdservice.deleteMarketData(registered.marketDataId)
|
|
@@ -58,7 +58,7 @@ res = (
|
|
|
58
58
|
|
|
59
59
|
print(res)
|
|
60
60
|
|
|
61
|
-
#Delete data between 2020-01-01 06:00 and 2020-01-01 18:00
|
|
61
|
+
# Delete data between 2020-01-01 06:00 and 2020-01-01 18:00
|
|
62
62
|
deleteData = Artesian.MarketData.DeleteData(
|
|
63
63
|
ID=Artesian.MarketData.MarketDataIdentifier(registered.providerName, registered.marketDataName),
|
|
64
64
|
timezone="CET",
|
|
@@ -78,5 +78,24 @@ res = (
|
|
|
78
78
|
|
|
79
79
|
print(res)
|
|
80
80
|
|
|
81
|
-
#Delete
|
|
81
|
+
# Delete data between 2020-01-01 06:00 and 2020-01-01 18:00 without Timezone
|
|
82
|
+
deleteData = Artesian.MarketData.DeleteData(
|
|
83
|
+
ID=Artesian.MarketData.MarketDataIdentifier(registered.providerName, registered.marketDataName),
|
|
84
|
+
rangeStart=datetime(2020, 1, 1, 6),
|
|
85
|
+
rangeEnd=datetime(2020, 1, 1, 18),
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
mkdservice.deleteData(deleteData)
|
|
89
|
+
|
|
90
|
+
res = (
|
|
91
|
+
query.createAuction()
|
|
92
|
+
.forMarketData([registered.marketDataId])
|
|
93
|
+
.inAbsoluteDateRange("2020-01-01", "2020-01-02")
|
|
94
|
+
.inTimeZone("CET")
|
|
95
|
+
.execute()
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
print(res)
|
|
99
|
+
|
|
100
|
+
# Delete the curve completely
|
|
82
101
|
mkdservice.deleteMarketData(registered.marketDataId)
|
|
@@ -56,7 +56,7 @@ res = (
|
|
|
56
56
|
|
|
57
57
|
print(res)
|
|
58
58
|
|
|
59
|
-
#Delete data between 2020-01-01 6am and 2020-01-01 6pm for product Feb-18
|
|
59
|
+
# Delete data between 2020-01-01 6am and 2020-01-01 6pm for product Feb-18
|
|
60
60
|
deleteData = Artesian.MarketData.DeleteData(
|
|
61
61
|
ID=Artesian.MarketData.MarketDataIdentifier(registered.providerName, registered.marketDataName),
|
|
62
62
|
timezone="CET",
|
|
@@ -78,5 +78,26 @@ res = (
|
|
|
78
78
|
|
|
79
79
|
print(res)
|
|
80
80
|
|
|
81
|
-
#Delete
|
|
81
|
+
# Delete data between 2020-01-01 6am and 2020-01-01 6pm for product Feb-18 without Timezone
|
|
82
|
+
deleteData = Artesian.MarketData.DeleteData(
|
|
83
|
+
ID=Artesian.MarketData.MarketDataIdentifier(registered.providerName, registered.marketDataName),
|
|
84
|
+
rangeStart=datetime(2020, 1, 1, 6),
|
|
85
|
+
rangeEnd=datetime(2020, 1, 1, 18),
|
|
86
|
+
product=["Feb-20"]
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
mkdservice.deleteData(deleteData)
|
|
90
|
+
|
|
91
|
+
res = (
|
|
92
|
+
query.createBidAsk()
|
|
93
|
+
.forMarketData([registered.marketDataId])
|
|
94
|
+
.inAbsoluteDateRange("2020-01-01", "2020-01-31")
|
|
95
|
+
.forProducts(["Feb-20", "Mar-20"])
|
|
96
|
+
.inTimeZone("CET")
|
|
97
|
+
.execute()
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
print(res)
|
|
101
|
+
|
|
102
|
+
# Delete the curve completely
|
|
82
103
|
mkdservice.deleteMarketData(registered.marketDataId)
|
|
@@ -56,7 +56,7 @@ res = (
|
|
|
56
56
|
|
|
57
57
|
print(res)
|
|
58
58
|
|
|
59
|
-
#Delete data with product Feb-20 between 2020-01-01 and 2020-01-03
|
|
59
|
+
# Delete data with product Feb-20 between 2020-01-01 and 2020-01-03
|
|
60
60
|
deleteData = Artesian.MarketData.DeleteData(
|
|
61
61
|
ID=Artesian.MarketData.MarketDataIdentifier(registered.providerName, registered.marketDataName),
|
|
62
62
|
timezone="CET",
|
|
@@ -78,5 +78,26 @@ res = (
|
|
|
78
78
|
|
|
79
79
|
print(res)
|
|
80
80
|
|
|
81
|
-
#Delete
|
|
81
|
+
# Delete data with product Feb-20 between 2020-01-01 and 2020-01-03 without Timezone
|
|
82
|
+
deleteData = Artesian.MarketData.DeleteData(
|
|
83
|
+
ID=Artesian.MarketData.MarketDataIdentifier(registered.providerName, registered.marketDataName),
|
|
84
|
+
rangeStart=datetime(2020, 1, 1, 0),
|
|
85
|
+
rangeEnd=datetime(2020, 1, 3, 0),
|
|
86
|
+
product=["Feb-20"]
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
mkdservice.deleteData(deleteData)
|
|
90
|
+
|
|
91
|
+
res = (
|
|
92
|
+
query.createMarketAssessment()
|
|
93
|
+
.forMarketData([registered.marketDataId])
|
|
94
|
+
.inAbsoluteDateRange("2020-01-01", "2020-01-02")
|
|
95
|
+
.forProducts(["Feb-20", "Mar-20"])
|
|
96
|
+
.inTimeZone("CET")
|
|
97
|
+
.execute()
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
print(res)
|
|
101
|
+
|
|
102
|
+
# Delete the curve completely
|
|
82
103
|
mkdservice.deleteMarketData(registered.marketDataId)
|
|
@@ -50,7 +50,7 @@ res = (
|
|
|
50
50
|
|
|
51
51
|
print(res)
|
|
52
52
|
|
|
53
|
-
#Delete data between 2020-01-01 06:00 and 2020-01-01 18:00
|
|
53
|
+
# Delete data between 2020-01-01 06:00 and 2020-01-01 18:00
|
|
54
54
|
deleteData = Artesian.MarketData.DeleteData(
|
|
55
55
|
ID=Artesian.MarketData.MarketDataIdentifier(registered.providerName, registered.marketDataName),
|
|
56
56
|
timezone="CET",
|
|
@@ -73,5 +73,27 @@ res = (
|
|
|
73
73
|
|
|
74
74
|
print(res)
|
|
75
75
|
|
|
76
|
-
#Delete
|
|
76
|
+
# Delete data between 2020-01-01 06:00 and 2020-01-01 18:00 without Timezone
|
|
77
|
+
deleteData = Artesian.MarketData.DeleteData(
|
|
78
|
+
ID=Artesian.MarketData.MarketDataIdentifier(registered.providerName, registered.marketDataName),
|
|
79
|
+
rangeStart=datetime(2020, 1, 1, 6),
|
|
80
|
+
rangeEnd=datetime(2020, 1, 1, 18),
|
|
81
|
+
version=testVersion
|
|
82
|
+
)
|
|
83
|
+
|
|
84
|
+
mkdservice.deleteData(deleteData)
|
|
85
|
+
|
|
86
|
+
res = (
|
|
87
|
+
query.createVersioned()
|
|
88
|
+
.forMarketData([registered.marketDataId])
|
|
89
|
+
.inAbsoluteDateRange("2020-01-01", "2020-01-02")
|
|
90
|
+
.inTimeZone("CET")
|
|
91
|
+
.inGranularity(Granularity.Hour)
|
|
92
|
+
.forVersion("2020-01-01T12:00:00")
|
|
93
|
+
.execute()
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
print(res)
|
|
97
|
+
|
|
98
|
+
# Delete the curve completely
|
|
77
99
|
mkdservice.deleteMarketData(registered.marketDataId)
|
{artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/GMEPublicOffers/GMEPublicOfferQuery.py
RENAMED
|
@@ -115,19 +115,19 @@ class GMEPublicOfferQuery:
|
|
|
115
115
|
self._queryParameters.unit = unit
|
|
116
116
|
return self
|
|
117
117
|
|
|
118
|
-
def
|
|
119
|
-
self: GMEPublicOfferQuery,
|
|
118
|
+
def forOperators(
|
|
119
|
+
self: GMEPublicOfferQuery, operators: List[str]
|
|
120
120
|
) -> GMEPublicOfferQuery:
|
|
121
121
|
"""
|
|
122
122
|
Set the operators to be queried.
|
|
123
123
|
|
|
124
124
|
Args:
|
|
125
|
-
|
|
125
|
+
operators: string for the GME Public Offer operators to be queried.
|
|
126
126
|
|
|
127
127
|
Returns:
|
|
128
128
|
GMEPublicOfferQuery.
|
|
129
129
|
"""
|
|
130
|
-
self._queryParameters.
|
|
130
|
+
self._queryParameters.operators = operators
|
|
131
131
|
return self
|
|
132
132
|
|
|
133
133
|
def forZone(self: GMEPublicOfferQuery, zone: List[Zone]) -> GMEPublicOfferQuery:
|
|
@@ -258,11 +258,11 @@ class GMEPublicOfferQuery:
|
|
|
258
258
|
)
|
|
259
259
|
enc = parse.quote_plus(generationType)
|
|
260
260
|
url = url + "&generationType=" + enc
|
|
261
|
-
if not (qp.
|
|
261
|
+
if not (qp.operators is None):
|
|
262
262
|
sep = ","
|
|
263
|
-
|
|
264
|
-
enc = parse.quote_plus(
|
|
265
|
-
url = url + "&
|
|
263
|
+
operators = sep.join(map(str, qp.operators))
|
|
264
|
+
enc = parse.quote_plus(operators)
|
|
265
|
+
url = url + "&operators=" + enc
|
|
266
266
|
if not (qp.zone is None):
|
|
267
267
|
sep = ","
|
|
268
268
|
zone = sep.join(map(lambda x: self.__getZone(x), qp.zone))
|
|
@@ -342,6 +342,8 @@ class GMEPublicOfferQuery:
|
|
|
342
342
|
Market.MIA1: "MIA1",
|
|
343
343
|
Market.MIA2: "MIA2",
|
|
344
344
|
Market.MIA3: "MIA3",
|
|
345
|
+
Market.MRR: "MRR",
|
|
346
|
+
Market.AFRR: "AFRR",
|
|
345
347
|
}
|
|
346
348
|
vr = switcher.get(market, "DefMarket")
|
|
347
349
|
if vr == "DefMarket":
|
|
@@ -20,7 +20,7 @@ class _GMEPublicOfferQueryParameters:
|
|
|
20
20
|
status: sets the Status to be queried.
|
|
21
21
|
unitType: sets the unit types to be queried.
|
|
22
22
|
generationType: that sets the generation type to be queried.
|
|
23
|
-
|
|
23
|
+
operators: sets the operators to be queried.
|
|
24
24
|
unit: sets the units to be queried.
|
|
25
25
|
zone: sets the zones to be queried.
|
|
26
26
|
market: sets the Market to be queried.
|
|
@@ -39,7 +39,7 @@ class _GMEPublicOfferQueryParameters:
|
|
|
39
39
|
status: Optional[Status] = None,
|
|
40
40
|
unitType: Optional[List[UnitType]] = None,
|
|
41
41
|
generationType: Optional[List[GenerationType]] = None,
|
|
42
|
-
|
|
42
|
+
operators: Optional[List[str]] = None,
|
|
43
43
|
unit: Optional[List[str]] = None,
|
|
44
44
|
zone: Optional[List[Zone]] = None,
|
|
45
45
|
market: Optional[List[Market]] = None,
|
|
@@ -57,7 +57,7 @@ class _GMEPublicOfferQueryParameters:
|
|
|
57
57
|
status:An enum that sets the Status to be queried.
|
|
58
58
|
unitType: An enum that sets the unit types to be queried.
|
|
59
59
|
generationType: An enum that sets the generation type to be queried.
|
|
60
|
-
|
|
60
|
+
operators: A string that sets the operators to be queried.
|
|
61
61
|
unit: A string that sets the units to be queried.
|
|
62
62
|
zone: An enum that sets the zones to be queried.
|
|
63
63
|
market: An enum that sets the Market to be queried.
|
|
@@ -72,7 +72,7 @@ class _GMEPublicOfferQueryParameters:
|
|
|
72
72
|
self.status = status
|
|
73
73
|
self.unitType = unitType
|
|
74
74
|
self.generationType = generationType
|
|
75
|
-
self.
|
|
75
|
+
self.operators = operators
|
|
76
76
|
self.unit = unit
|
|
77
77
|
self.zone = zone
|
|
78
78
|
self.market = market
|
|
@@ -11,10 +11,11 @@ class DeleteData:
|
|
|
11
11
|
|
|
12
12
|
Attributes:
|
|
13
13
|
ID: the MarketDataIdentifier
|
|
14
|
-
timezone: the Timezone of the rows. Must be the OriginalTimezone
|
|
15
|
-
when writing Dates or must be ""UTC"" when writing Times
|
|
16
14
|
rangeStart: LocalDateTime start of the range to be deleted
|
|
17
15
|
rangeEnd: LocalDateTime end of the range to be deleted
|
|
16
|
+
timezone: For DateSeries if provided must be equal to MarketData
|
|
17
|
+
OriginalTimezone Default:MarketData OriginalTimezone.
|
|
18
|
+
For TimeSeries Default:CET
|
|
18
19
|
product: The list of Product. Only *,
|
|
19
20
|
is special character for 'delete all products in the range'
|
|
20
21
|
version: the Version to operate on
|
|
@@ -25,9 +26,9 @@ class DeleteData:
|
|
|
25
26
|
"""
|
|
26
27
|
|
|
27
28
|
ID: MarketDataIdentifier
|
|
28
|
-
timezone: str
|
|
29
29
|
rangeStart: datetime
|
|
30
30
|
rangeEnd: datetime
|
|
31
|
+
timezone: Optional[str] = None
|
|
31
32
|
product: Optional[List[str]] = None
|
|
32
33
|
version: Optional[datetime] = None
|
|
33
34
|
deferCommandExecution: bool = False
|
|
@@ -12,5 +12,5 @@ __version__: str
|
|
|
12
12
|
__version_tuple__: VERSION_TUPLE
|
|
13
13
|
version_tuple: VERSION_TUPLE
|
|
14
14
|
|
|
15
|
-
__version__ = version = '
|
|
16
|
-
__version_tuple__ = version_tuple = (
|
|
15
|
+
__version__ = version = '4.0.1'
|
|
16
|
+
__version_tuple__ = version_tuple = (4, 0, 1)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: artesian-sdk
|
|
3
|
-
Version:
|
|
3
|
+
Version: 4.0.1
|
|
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>
|
|
@@ -841,7 +841,6 @@ auctionRows = MarketData.UpsertData(MarketData.MarketDataIdentifier('PROVIDER',
|
|
|
841
841
|
|
|
842
842
|
```
|
|
843
843
|
|
|
844
|
-
|
|
845
844
|
## Delete Data in Artesian
|
|
846
845
|
|
|
847
846
|
Using the MarketDataService is possible to delete MarketData and its curves.
|
|
@@ -862,7 +861,7 @@ mkservice.deleteMarketData(100042422)
|
|
|
862
861
|
|
|
863
862
|
```
|
|
864
863
|
|
|
865
|
-
Depending on the Type of the MarketData, the DeletData should be composed as per example below.
|
|
864
|
+
Depending on the Type of the MarketData, the DeletData should be composed as per example below. The timezone is optional: for DateSeries if provided must be equal to MarketData OriginalTimezone Default:MarketData OriginalTimezone. For TimeSeries Default:CET
|
|
866
865
|
|
|
867
866
|
### Delete Data in an Actual Time Series
|
|
868
867
|
|
|
@@ -88,6 +88,20 @@ class TestGMEPO(unittest.TestCase):
|
|
|
88
88
|
query = requests.getQs()
|
|
89
89
|
self.assertEqual(query["zone"], "NORD,SUD")
|
|
90
90
|
|
|
91
|
+
@helpers.TrackGMEPORequests
|
|
92
|
+
def test_Operator(self, requests):
|
|
93
|
+
url = (
|
|
94
|
+
qs.createQuery()
|
|
95
|
+
.forDate("2020-04-01")
|
|
96
|
+
.forOperators(["Test"])
|
|
97
|
+
.forStatus(Status.ACC)
|
|
98
|
+
.forPurpose(Purpose.BID)
|
|
99
|
+
.execute()
|
|
100
|
+
)
|
|
101
|
+
|
|
102
|
+
query = requests.getQs()
|
|
103
|
+
self.assertEqual(query["operators"], "Test")
|
|
104
|
+
|
|
91
105
|
@helpers.TrackGMEPORequests
|
|
92
106
|
def test_Pagination(self, requests):
|
|
93
107
|
url = (
|
|
@@ -34,7 +34,35 @@ class TestMarketDataServiceDeleteData(unittest.IsolatedAsyncioTestCase):
|
|
|
34
34
|
}
|
|
35
35
|
delete = DeleteData(
|
|
36
36
|
MarketDataIdentifier("PROVIDER", "CURVENAME"),
|
|
37
|
-
"CET",
|
|
37
|
+
timezone="CET",
|
|
38
|
+
rangeStart=datetime(2020, 1, 1, 1),
|
|
39
|
+
rangeEnd=datetime(2020, 1, 3, 1),
|
|
40
|
+
)
|
|
41
|
+
ser = artesianJsonSerialize(delete)
|
|
42
|
+
self.assertEqual(ser, expectedJson)
|
|
43
|
+
|
|
44
|
+
with responses.RequestsMock() as rsps:
|
|
45
|
+
rsps.add(
|
|
46
|
+
"POST",
|
|
47
|
+
self.__baseurl + "/marketdata/deletedata",
|
|
48
|
+
match=[responses.matchers.json_params_matcher(expectedJson)],
|
|
49
|
+
status=200,
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
await self.__service.deleteDataAsync(delete)
|
|
53
|
+
|
|
54
|
+
self.assertEqual(len(rsps.calls), 1)
|
|
55
|
+
|
|
56
|
+
async def test_deleteDateSerieWithoutTimezone(self):
|
|
57
|
+
expectedJson = {
|
|
58
|
+
"ID": {"Provider": "PROVIDER", "Name": "CURVENAME"},
|
|
59
|
+
"RangeStart": "2020-01-01T01:00:00.000000",
|
|
60
|
+
"RangeEnd": "2020-01-03T01:00:00.000000",
|
|
61
|
+
"DeferCommandExecution": False,
|
|
62
|
+
"DeferDataGeneration": True,
|
|
63
|
+
}
|
|
64
|
+
delete = DeleteData(
|
|
65
|
+
MarketDataIdentifier("PROVIDER", "CURVENAME"),
|
|
38
66
|
rangeStart=datetime(2020, 1, 1, 1),
|
|
39
67
|
rangeEnd=datetime(2020, 1, 3, 1),
|
|
40
68
|
)
|
|
@@ -65,7 +93,37 @@ class TestMarketDataServiceDeleteData(unittest.IsolatedAsyncioTestCase):
|
|
|
65
93
|
}
|
|
66
94
|
delete = DeleteData(
|
|
67
95
|
MarketDataIdentifier("PROVIDER", "CURVENAME"),
|
|
68
|
-
"CET",
|
|
96
|
+
timezone="CET",
|
|
97
|
+
product=["Jan-15"],
|
|
98
|
+
rangeStart=datetime(2020, 1, 1, 1),
|
|
99
|
+
rangeEnd=datetime(2020, 1, 3, 1),
|
|
100
|
+
)
|
|
101
|
+
ser = artesianJsonSerialize(delete)
|
|
102
|
+
self.assertEqual(ser, expectedJson)
|
|
103
|
+
|
|
104
|
+
with responses.RequestsMock() as rsps:
|
|
105
|
+
rsps.add(
|
|
106
|
+
"POST",
|
|
107
|
+
self.__baseurl + "/marketdata/deletedata",
|
|
108
|
+
match=[responses.matchers.json_params_matcher(expectedJson)],
|
|
109
|
+
status=200,
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
await self.__service.deleteDataAsync(delete)
|
|
113
|
+
|
|
114
|
+
self.assertEqual(len(rsps.calls), 1)
|
|
115
|
+
|
|
116
|
+
async def test_deleteDateSerieWithProductWithoutTimezone(self):
|
|
117
|
+
expectedJson = {
|
|
118
|
+
"ID": {"Provider": "PROVIDER", "Name": "CURVENAME"},
|
|
119
|
+
"Product": ["Jan-15"],
|
|
120
|
+
"RangeStart": "2020-01-01T01:00:00.000000",
|
|
121
|
+
"RangeEnd": "2020-01-03T01:00:00.000000",
|
|
122
|
+
"DeferCommandExecution": False,
|
|
123
|
+
"DeferDataGeneration": True,
|
|
124
|
+
}
|
|
125
|
+
delete = DeleteData(
|
|
126
|
+
MarketDataIdentifier("PROVIDER", "CURVENAME"),
|
|
69
127
|
product=["Jan-15"],
|
|
70
128
|
rangeStart=datetime(2020, 1, 1, 1),
|
|
71
129
|
rangeEnd=datetime(2020, 1, 3, 1),
|
|
@@ -97,7 +155,37 @@ class TestMarketDataServiceDeleteData(unittest.IsolatedAsyncioTestCase):
|
|
|
97
155
|
}
|
|
98
156
|
delete = DeleteData(
|
|
99
157
|
MarketDataIdentifier("PROVIDER", "CURVENAME"),
|
|
100
|
-
"CET",
|
|
158
|
+
timezone="CET",
|
|
159
|
+
rangeStart=datetime(2020, 1, 1, 1),
|
|
160
|
+
rangeEnd=datetime(2020, 1, 3, 1),
|
|
161
|
+
version=datetime(2020, 1, 1, 1)
|
|
162
|
+
)
|
|
163
|
+
ser = artesianJsonSerialize(delete)
|
|
164
|
+
self.assertEqual(ser, expectedJson)
|
|
165
|
+
|
|
166
|
+
with responses.RequestsMock() as rsps:
|
|
167
|
+
rsps.add(
|
|
168
|
+
"POST",
|
|
169
|
+
self.__baseurl + "/marketdata/deletedata",
|
|
170
|
+
match=[responses.matchers.json_params_matcher(expectedJson)],
|
|
171
|
+
status=200,
|
|
172
|
+
)
|
|
173
|
+
|
|
174
|
+
await self.__service.deleteDataAsync(delete)
|
|
175
|
+
|
|
176
|
+
self.assertEqual(len(rsps.calls), 1)
|
|
177
|
+
|
|
178
|
+
async def test_deleteVersionedSerieWithoutTimezone(self):
|
|
179
|
+
expectedJson = {
|
|
180
|
+
"ID": {"Provider": "PROVIDER", "Name": "CURVENAME"},
|
|
181
|
+
"Version": "2020-01-01T01:00:00.000000",
|
|
182
|
+
"RangeStart": "2020-01-01T01:00:00.000000",
|
|
183
|
+
"RangeEnd": "2020-01-03T01:00:00.000000",
|
|
184
|
+
"DeferCommandExecution": False,
|
|
185
|
+
"DeferDataGeneration": True,
|
|
186
|
+
}
|
|
187
|
+
delete = DeleteData(
|
|
188
|
+
MarketDataIdentifier("PROVIDER", "CURVENAME"),
|
|
101
189
|
rangeStart=datetime(2020, 1, 1, 1),
|
|
102
190
|
rangeEnd=datetime(2020, 1, 3, 1),
|
|
103
191
|
version=datetime(2020, 1, 1, 1)
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
# This workflow will install Python dependencies, run tests and lint with a single version of Python
|
|
2
|
-
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
|
|
3
|
-
|
|
4
|
-
name: Artesian SDK Python
|
|
5
|
-
|
|
6
|
-
on:
|
|
7
|
-
push:
|
|
8
|
-
branches: [ master ]
|
|
9
|
-
tags:
|
|
10
|
-
- 'v[0-9]+\.[0-9]+\.[0-9]+'
|
|
11
|
-
pull_request:
|
|
12
|
-
branches: [ master ]
|
|
13
|
-
|
|
14
|
-
jobs:
|
|
15
|
-
build:
|
|
16
|
-
|
|
17
|
-
runs-on: ${{ matrix.os }}
|
|
18
|
-
|
|
19
|
-
strategy:
|
|
20
|
-
matrix:
|
|
21
|
-
python-version: ['3.8', '3.9', '3.10', '3.11']
|
|
22
|
-
os: ['ubuntu-latest', 'windows-latest', 'macos-latest']
|
|
23
|
-
|
|
24
|
-
steps:
|
|
25
|
-
- uses: actions/checkout@v3
|
|
26
|
-
- name: Set up Python ${{ matrix.python-version }}
|
|
27
|
-
uses: actions/setup-python@v2
|
|
28
|
-
with:
|
|
29
|
-
python-version: ${{ matrix.python-version }}
|
|
30
|
-
- name: Install dependencies
|
|
31
|
-
run: |
|
|
32
|
-
python -m pip install --upgrade pip
|
|
33
|
-
pip install -e ".[dev]"
|
|
34
|
-
|
|
35
|
-
- name: Run flake8
|
|
36
|
-
run: |
|
|
37
|
-
flake8 .
|
|
38
|
-
|
|
39
|
-
- uses: jordemort/action-pyright@v1
|
|
40
|
-
with:
|
|
41
|
-
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
42
|
-
reporter: github-check
|
|
43
|
-
lib:
|
|
44
|
-
level: warning
|
|
45
|
-
filter_mode: file
|
|
46
|
-
|
|
47
|
-
- name: Test Pytest
|
|
48
|
-
run: |
|
|
49
|
-
pytest --junitxml=junit/test-results-${{ matrix.python-version }}.xml
|
|
50
|
-
|
|
51
|
-
- name: Upload pytest test results
|
|
52
|
-
uses: actions/upload-artifact@v3
|
|
53
|
-
with:
|
|
54
|
-
name: pytest-results-${{ matrix.python-version }}
|
|
55
|
-
path: junit/test-results-${{ matrix.python-version }}.xml
|
|
56
|
-
# Use always() to always run this step to publish test results when there are test failures
|
|
57
|
-
if: ${{ always() }}
|
|
58
|
-
|
|
59
|
-
publish:
|
|
60
|
-
if: github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/v'))
|
|
61
|
-
runs-on: ubuntu-latest
|
|
62
|
-
needs: build
|
|
63
|
-
env:
|
|
64
|
-
python-version: '3.11'
|
|
65
|
-
|
|
66
|
-
steps:
|
|
67
|
-
- uses: actions/checkout@v3
|
|
68
|
-
with:
|
|
69
|
-
fetch-depth: 0
|
|
70
|
-
- name: Set up Python ${{ env.python-version }}
|
|
71
|
-
uses: actions/setup-python@v2
|
|
72
|
-
with:
|
|
73
|
-
python-version: ${{ env.python-version }}
|
|
74
|
-
- name: Install dependencies
|
|
75
|
-
run: |
|
|
76
|
-
python -m pip install --upgrade pip
|
|
77
|
-
python -m pip install build
|
|
78
|
-
- name: Build package
|
|
79
|
-
run: |
|
|
80
|
-
python -m build
|
|
81
|
-
- name: Publish package
|
|
82
|
-
uses: pypa/gh-action-pypi-publish@release/v1
|
|
83
|
-
with:
|
|
84
|
-
user: __token__
|
|
85
|
-
password: ${{ secrets.PYPI_API_TOKEN }}
|
|
86
|
-
|
|
87
|
-
|
|
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
|
|
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
|
{artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/GMEPublicOffers/_Enum/BaType.py
RENAMED
|
File without changes
|
{artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/GMEPublicOffers/_Enum/GenerationType.py
RENAMED
|
File without changes
|
{artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/GMEPublicOffers/_Enum/Market.py
RENAMED
|
File without changes
|
{artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/GMEPublicOffers/_Enum/Purpose.py
RENAMED
|
File without changes
|
|
File without changes
|
{artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/GMEPublicOffers/_Enum/Status.py
RENAMED
|
File without changes
|
{artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/GMEPublicOffers/_Enum/UnitType.py
RENAMED
|
File without changes
|
|
File without changes
|
{artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/GMEPublicOffers/_Enum/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/MarketData/MarketDataService.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/MarketData/_Dto/CurveRangeEntity.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/MarketData/_Dto/MarketDataIdentifier.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/MarketData/_Enum/AggregationRule.py
RENAMED
|
File without changes
|
|
File without changes
|
{artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/MarketData/_Enum/MarketDataType.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/DefaultPartitionStrategy.py
RENAMED
|
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
|
{artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/Query/_QueryParameters/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/Artesian/_ClientsExecutor/RequestExecutor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{artesian_sdk-3.1.4.dev10 → artesian_sdk-4.0.1}/src/artesian_sdk.egg-info/dependency_links.txt
RENAMED
|
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
|