artesian-sdk 4.2.3.dev4__py3-none-any.whl → 4.2.3.dev6__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/_version.py CHANGED
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '4.2.3.dev4'
32
- __version_tuple__ = version_tuple = (4, 2, 3, 'dev4')
31
+ __version__ = version = '4.2.3.dev6'
32
+ __version_tuple__ = version_tuple = (4, 2, 3, 'dev6')
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: artesian-sdk
3
- Version: 4.2.3.dev4
3
+ Version: 4.2.3.dev6
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>
@@ -466,23 +466,53 @@ res = mds.searchFacet(page, pageSize, searchText, filters, sorts, doNotLoadAddit
466
466
 
467
467
  Artesian support Query over GME Public Offers which comes in a custom and dedicated format.
468
468
 
469
+ Note (performance):
470
+ GME Public Offer data is partitioned by date, offerType, status, and market. Requesting very narrow subsets (for example a single status or offerType in several separate requests) does not improve performance and can cause the same data to be fetched multiple times.
471
+ For this reason, the examples below:
472
+ • Use a large page size so that all data for a given (date, market, filters) is typically returned in a single page.
473
+ • Loop over markets explicitly to cover all required markets without redundant fetches.
474
+
469
475
  ### Extract GME Public Offer
470
476
 
471
477
  ```Python
472
478
  from Artesian.GMEPublicOffers import GMEPublicOfferService, Market, Purpose, Status, Zone, Scope, UnitType, GenerationType, BAType
473
479
 
474
- qs = GMEPublicOfferService(cfg)
480
+ /* your Artesian configuration */;
481
+
482
+ var _cfg = new ArtesianServiceConfig(
483
+ new Uri("https://arkive.artesian.cloud/{TENANT_NAME}/"),
484
+ your_API_Key);
485
+
486
+ qs = GMEPublicOfferService(_cfg)
487
+
488
+ # Large page size: goal is to get all data for the given filters in one page
489
+ PAGE_SIZE = 250000
475
490
 
476
- data = qs.createQuery() \
491
+ # List of markets to cover. Extend as needed for your use case.
492
+ markets = [
493
+ Market.MGP,
494
+ # Market.MSD,
495
+ # Market.MIT,
496
+ ]
497
+
498
+ all_data = []
499
+
500
+ for market in markets:
501
+
502
+ data = (
503
+ qs.createQuery() \
477
504
  .forDate("2020-04-01") \
478
505
  .forMarket([Market.MGP]) \
479
506
  .forStatus(Status.ACC) \
480
507
  .forPurpose(Purpose.BID) \
481
508
  .forZone([Zone.NORD]) \
482
- .withPagination(1,100) \
509
+ .withPagination(1,PAGE_SIZE) \
483
510
  .execute()
511
+ )
512
+ print(f"Fetched {len(data)} offers for market {market}")
513
+ all_data.extend(data)
484
514
 
485
- print(data)
515
+ print(f"Total offers fetched: {len(all_data)}")
486
516
  ```
487
517
 
488
518
  To construct a GME Public Offer Extraction the following must be provided.
@@ -4,7 +4,7 @@ Artesian/ArtesianPolicyConfig.py,sha256=ULLngwH1762K8Kre08_JZ7aNYs4LZOxocTYLPJjX
4
4
  Artesian/Exceptions.py,sha256=asPwxz8TaIpjZV4GJmWchGen_04Ib3Rdd7_Btud4X9E,6141
5
5
  Artesian/Granularity.py,sha256=EOeBP9Wz-tAhdm3rVVJBXx9jAkiMH9OIMJUsrNawsNU,206
6
6
  Artesian/__init__.py,sha256=c-Fu4VGOuvQCGRefF5C4CY9OxoGTDce7CgjipZN8lIo,1119
7
- Artesian/_version.py,sha256=7GHlhJKjdkcwxHhv3jp1kUBvJXXT3v78PHTDV3_x8PQ,717
7
+ Artesian/_version.py,sha256=cS8IMSZXzkpxvnGZdGXImwxGhAYTObR3QihoF98BhLo,717
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
@@ -68,8 +68,8 @@ Artesian/_ClientsExecutor/ArtesianJsonSerializer.py,sha256=CDnq1sgKLvxSampykFtF9
68
68
  Artesian/_ClientsExecutor/Client.py,sha256=Oy0BYDoJk1hLuA2wxNmo0ZRZX29_lDJCS9bgK-SJWBY,4054
69
69
  Artesian/_ClientsExecutor/RequestExecutor.py,sha256=KKq31g8GFS-Mdp3S1QXFm5tZhacjnIeWs1YFc3f8NkY,10613
70
70
  Artesian/_ClientsExecutor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
- artesian_sdk-4.2.3.dev4.dist-info/licenses/LICENSE,sha256=Y27w-dSf1pHlXO4yNy70OCCO4VuYYVxUdDOQ-sLdXds,1074
72
- artesian_sdk-4.2.3.dev4.dist-info/METADATA,sha256=mkftiTQ07H7FsWU0a-k96-bCL7Vj90CqO0yryZyb6kk,38368
73
- artesian_sdk-4.2.3.dev4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
74
- artesian_sdk-4.2.3.dev4.dist-info/top_level.txt,sha256=1Fv89OOnRKHLMmQEBRXPaNuPMoZytK4dnfrOFDdGGYI,9
75
- artesian_sdk-4.2.3.dev4.dist-info/RECORD,,
71
+ artesian_sdk-4.2.3.dev6.dist-info/licenses/LICENSE,sha256=Y27w-dSf1pHlXO4yNy70OCCO4VuYYVxUdDOQ-sLdXds,1074
72
+ artesian_sdk-4.2.3.dev6.dist-info/METADATA,sha256=O6aSFNZ2Ue0MeEojoVLY1PpWECKRwL0YyGPwTgJ55_0,39460
73
+ artesian_sdk-4.2.3.dev6.dist-info/WHEEL,sha256=YCfwYGOYMi5Jhw2fU4yNgwErybb2IX5PEwBKV4ZbdBo,91
74
+ artesian_sdk-4.2.3.dev6.dist-info/top_level.txt,sha256=1Fv89OOnRKHLMmQEBRXPaNuPMoZytK4dnfrOFDdGGYI,9
75
+ artesian_sdk-4.2.3.dev6.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (82.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5