psr-factory 4.1.0b3__py3-none-win_amd64.whl → 4.1.0b4__py3-none-win_amd64.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.
psr/cloud/cloud.py CHANGED
@@ -328,7 +328,7 @@ class Client:
328
328
  _hide_password(xml_content)
329
329
  raise CloudInputError(
330
330
  f"Invalid XML content.\n"
331
- f"Contact PSR support with following data:\n\n{xml_content}\n\nsuporte@psr-inc.com"
331
+ f"Contact PSR support at psrcloud@psr-inc.com with following data:\n\n{xml_content}\n\n"
332
332
  )
333
333
 
334
334
  def _get_clusters_by_user(self) -> list:
@@ -631,7 +631,7 @@ class Client:
631
631
  xml_str = _xml_to_str(xml)
632
632
  raise CloudError(
633
633
  f"Case id not found on returned XML response.\n"
634
- f"Contact PSR support with following data:\n\n{xml_str}\n\nsuporte@psr-inc.com"
634
+ f"Contact PSR support at psrcloud@psr-inc.com with following data:\n\n{xml_str}\n\n"
635
635
  )
636
636
 
637
637
  case_id = int(id_parameter.text)
@@ -679,7 +679,7 @@ class Client:
679
679
  xml_str = _xml_to_str(xml)
680
680
  raise CloudError(
681
681
  f"Status not found on returned XML response.\n"
682
- f"Contact PSR support with following data:\n\n{xml_str}\n\nsuporte@psr-inc.com"
682
+ f"Contact PSR support at psrcloud@psr-inc.com with following data:\n\n{xml_str}\n\n"
683
683
  )
684
684
  try:
685
685
  status = ExecutionStatus(int(parameter_status.text))
@@ -687,12 +687,35 @@ class Client:
687
687
  xml_str = _xml_to_str(xml)
688
688
  raise CloudError(
689
689
  f"Unrecognized status on returned XML response.\n"
690
- f"Contact PSR support with following data:\n\n{xml_str}\n\nsuporte@psr-inc.com"
690
+ f"Contact PSR support at psrcloud@psr-inc.com with following data:\n\n{xml_str}\n\n"
691
691
  )
692
692
 
693
693
  self._logger.info(f"Status: {STATUS_MAP_TEXT[status]}")
694
694
  return status, STATUS_MAP_TEXT[status]
695
695
 
696
+ def list_download_files(self, case_id: int) -> List[str]:
697
+ xml_files = self._make_soap_request(
698
+ "prepararListaArquivosRemotaDownload",
699
+ "listaArquivoRemota",
700
+ additional_arguments={
701
+ "cluster": self.cluster["name"],
702
+ "filtro": "(.*)",
703
+ "diretorioRemoto": str(case_id),
704
+ },
705
+ )
706
+
707
+ files = []
708
+
709
+ for file in xml_files.findall("Arquivo"):
710
+ file_info = {
711
+ "name": file.attrib.get("nome"),
712
+ "filesize": file.attrib.get("filesize"),
713
+ "filedate": file.attrib.get("filedate"),
714
+ }
715
+ files.append(file_info)
716
+
717
+ return files
718
+
696
719
  def download_results(
697
720
  self,
698
721
  case_id: int,
@@ -816,7 +839,9 @@ class Client:
816
839
  initial_date_iso = since.strftime("%Y-%m-%d %H:%M:%S")
817
840
 
818
841
  xml = self._make_soap_request(
819
- "listarFila", "dados", adition_arguments={"dataInicial": initial_date_iso}
842
+ "listarFila",
843
+ "dados",
844
+ additional_arguments={"dataInicial": initial_date_iso},
820
845
  )
821
846
 
822
847
  return self._cases_from_xml(xml)
@@ -830,7 +855,9 @@ class Client:
830
855
  def get_cases(self, case_ids: List[int]) -> List["Case"]:
831
856
  case_ids_str = ",".join(map(str, case_ids))
832
857
  xml = self._make_soap_request(
833
- "listarFila", "dados", adition_arguments={"listaRepositorio": case_ids_str}
858
+ "listarFila",
859
+ "dados",
860
+ additional_arguments={"listaRepositorio": case_ids_str},
834
861
  )
835
862
  return self._cases_from_xml(xml)
836
863
 
@@ -851,18 +878,18 @@ class Client:
851
878
  budgets.sort()
852
879
  return budgets
853
880
 
854
- def _make_soap_request(self, service: str, nome: str, **kwargs) -> ET.Element:
881
+ def _make_soap_request(self, service: str, name: str = "", **kwargs) -> ET.Element:
855
882
  portal_ws = zeep.Client(self.cluster["url"] + "?WSDL")
856
883
  section = str(id(self))
857
884
  password_md5 = _md5sum(self.username + self.__password + section).upper()
858
- addition_arguments = kwargs.get("adition_arguments", "")
885
+ additional_arguments = kwargs.get("additional_arguments", None)
859
886
  parameters = {
860
887
  "sessao_id": section,
861
888
  "tipo_autenticacao": "portal",
862
889
  "idioma": "3",
863
890
  }
864
- if addition_arguments:
865
- parameters.update(addition_arguments)
891
+ if additional_arguments:
892
+ parameters.update(additional_arguments)
866
893
 
867
894
  # FIXME make additional arguments work as a dictionary to work with this code
868
895
  xml_input = create_case_xml(parameters)
@@ -871,22 +898,26 @@ class Client:
871
898
  xml_output_str = portal_ws.service.despacharServico(
872
899
  service, self.username, password_md5, xml_input
873
900
  )
874
- except zeep.exceptions.Fault:
901
+ except zeep.exceptions.Fault as e:
902
+ # Log the full exception details
903
+ self._logger.error(f"Zeep Fault: {str(e)}")
875
904
  raise CloudError(
876
- "Failed to connect to PSR Cloud service. Contact PSR support: suporte@psr-inc.com"
905
+ "Failed to connect to PSR Cloud service. Contact PSR support: psrcloud@psr-inc.com"
877
906
  )
878
-
879
907
  # Remove control characters - this is a thing
880
908
  xml_output_str = xml_output_str.replace("", "")
881
909
 
882
910
  xml_output = ET.fromstring(xml_output_str)
883
- xml_output = next(
884
- (
885
- ET.fromstring(child.text)
886
- for child in xml_output
887
- if child.attrib.get("nome") == nome
888
- )
889
- )
911
+
912
+ if name:
913
+ for child in xml_output:
914
+ if child.attrib.get("nome") == name:
915
+ xml_output = ET.fromstring(child.text)
916
+ break
917
+ else:
918
+ raise ValueError(
919
+ f"Invalid XML response from PSR Cloud: {xml_output_str}. Please contact PSR support at psrcloud@psr-inc.com"
920
+ )
890
921
  return xml_output
891
922
 
892
923
  def _get_cloud_versions_xml(self) -> ET.Element:
psr/cloud/version.py CHANGED
@@ -2,4 +2,4 @@
2
2
  # Unauthorized copying of this file, via any medium is strictly prohibited
3
3
  # Proprietary and confidential
4
4
 
5
- __version__ = "0.3.0"
5
+ __version__ = "0.3.1"
psr/factory/__init__.py CHANGED
@@ -2,6 +2,6 @@
2
2
  # Unauthorized copying of this file, via any medium is strictly prohibited
3
3
  # Proprietary and confidential
4
4
 
5
- __version__ = "4.1.0b3"
5
+ __version__ = "4.1.0b4"
6
6
 
7
7
  from .api import *
psr/factory/api.py CHANGED
@@ -257,6 +257,23 @@ def _get_context(models_or_context: Union[str, list, dict, "Context", None],
257
257
  value.set(context)
258
258
  return value
259
259
 
260
+ def _get_arg_object(arg: Union[dict, "Value", "DataObject", None]) -> "Value":
261
+ if isinstance(arg, dict):
262
+ value = Value()
263
+ value.set(arg)
264
+ return value
265
+ elif isinstance(arg, Value):
266
+ return arg
267
+ elif isinstance(arg, DataObject):
268
+ value = Value()
269
+ value.set(arg)
270
+ return value
271
+ elif arg is None:
272
+ return Value()
273
+ else:
274
+ raise TypeError("Unexpected type for argument.")
275
+
276
+
260
277
 
261
278
  class _BaseObject:
262
279
  def __init__(self):
@@ -545,6 +562,7 @@ class ValueDict(_BaseObject):
545
562
  class Value(_BaseObject):
546
563
  def __init__(self):
547
564
  super().__init__()
565
+ _check_loaded()
548
566
  self._hdr = factorylib.lib.psrd_new_value()
549
567
 
550
568
  def __del__(self):
@@ -1270,32 +1288,33 @@ class Study(_BaseObject):
1270
1288
 
1271
1289
  @staticmethod
1272
1290
  def load(study_path: Union[str, pathlib.Path], profile_or_context: Union[str, Context, None],
1273
- options: Optional[DataObject] = None):
1291
+ options: Optional[Union[dict, "Value", "DataObject"]] = None):
1274
1292
  if not isinstance(options, (DataObject, type(None))):
1275
1293
  raise TypeError("options must be a DataObject or None.")
1294
+ _check_initialized()
1276
1295
  study_path = str(study_path)
1277
1296
  context = _get_context(profile_or_context, None)
1278
1297
  err = Error()
1279
- options_handler = options.handler() if options is not None else None
1298
+ options_value = _get_arg_object(options)
1280
1299
  study = Study()
1281
1300
  study._hdr = factorylib.lib.psrd_study_load(_c_str(study_path),
1282
1301
  _bytes(study_path),
1283
- options_handler,
1302
+ options_value.handler(),
1284
1303
  context.handler(),
1285
1304
  err.handler())
1286
1305
  if err.code != 0:
1287
1306
  raise FactoryException(err.what)
1288
1307
  return study
1289
1308
 
1290
- def save(self, output_path: Union[str, pathlib.Path], options: Optional[DataObject] = None):
1309
+ def save(self, output_path: Union[str, pathlib.Path], options: Optional[Union[dict, Value, DataObject]] = None):
1291
1310
  if not isinstance(options, (DataObject, type(None))):
1292
1311
  raise TypeError("options must be a DataObject or None.")
1293
1312
  output_path = str(output_path)
1294
1313
  _err = Error()
1295
- _options_handler = options.handler() if options is not None else None
1314
+ options_value = _get_arg_object(options)
1296
1315
  factorylib.lib.psrd_study_save(self._hdr, _c_str(output_path),
1297
1316
  _bytes(output_path),
1298
- _options_handler,
1317
+ options_value.handler(),
1299
1318
  _err.handler())
1300
1319
  if _err.code != 0:
1301
1320
  raise FactoryException(_err.what)
@@ -2091,16 +2110,16 @@ class DataFrame(_BaseObject):
2091
2110
  factorylib.lib.psrd_free_table(self._hdr)
2092
2111
 
2093
2112
  @staticmethod
2094
- def load_from_file(input_file: Union[str, pathlib.Path], options: Optional[DataObject] = None) -> "DataFrame":
2113
+ def load_from_file(input_file: Union[str, pathlib.Path], options: Optional[Union[dict, Value, DataObject]] = None) -> "DataFrame":
2095
2114
  input_file = str(input_file)
2096
2115
  _check_initialized()
2097
2116
  _err = Error()
2098
2117
  table = DataFrame()
2099
- options_handler = options.handler() if options is not None else None
2118
+ options_value = _get_arg_object(options)
2100
2119
  factorylib.lib.psrd_table_load(table.handler(),
2101
2120
  _c_str(input_file),
2102
2121
  _bytes(input_file),
2103
- options_handler,
2122
+ options_value.handler(),
2104
2123
  _err.handler())
2105
2124
  if _err.code != 0:
2106
2125
  raise FactoryException(_err.what)
@@ -2119,13 +2138,13 @@ class DataFrame(_BaseObject):
2119
2138
  return df_builder.build_from_polars(dataframe_like)
2120
2139
  raise ImportError("Pandas or polars is not available. Please install pandas to use this feature.")
2121
2140
 
2122
- def save(self, output_file: Union[str, pathlib.Path], options: Optional[DataObject] = None):
2141
+ def save(self, output_file: Union[str, pathlib.Path], options: Optional[Union[dict, Value, DataObject]] = None):
2123
2142
  output_file = str(output_file)
2124
2143
  _err = Error()
2125
- options_handler = options.handler() if options is not None else None
2144
+ options_value = _get_arg_object(options)
2126
2145
  factorylib.lib.psrd_table_save(self._hdr, _c_str(output_file),
2127
2146
  _bytes(output_file),
2128
- options_handler,
2147
+ options_value.handler(),
2129
2148
  _err.handler())
2130
2149
  if _err.code != 0:
2131
2150
  raise FactoryException(_err.what)
psr/factory/factory.dll CHANGED
Binary file
psr/factory/factory.pmd CHANGED
@@ -2493,6 +2493,7 @@ DEFINE_MODEL MODL:Optgen_RestricaoCapacidade
2493
2493
  PARM INTEGER FlagIncremental
2494
2494
  PARM INTEGER PenaltyFlag
2495
2495
  PARM INTEGER SystemCodePu
2496
+ PARM REFERENCE SystemElement PSRSystem
2496
2497
  END_MODEL
2497
2498
  //--------------------------------------------------------------------------------------------------
2498
2499
  // Modelo para Restricao de Precedencia
@@ -2806,8 +2807,8 @@ END_MODEL
2806
2807
  //--------------------------------------------------------------------------------------------------
2807
2808
  // Modelo para Solicitacao
2808
2809
  //--------------------------------------------------------------------------------------------------
2809
- DEFINE_MODEL MODL:Optmain_Solicitacao
2810
- PARM STRING Name
2810
+ DEFINE_CLASS PSRMaintenanceSolicitation
2811
+ PARM STRING Name @id
2811
2812
  PARM INTEGER UnitCode
2812
2813
  PARM INTEGER MinDateDay
2813
2814
  PARM INTEGER MinDateMonth
@@ -2823,66 +2824,66 @@ DEFINE_MODEL MODL:Optmain_Solicitacao
2823
2824
  PARM INTEGER Fix
2824
2825
  PARM INTEGER FixOuter
2825
2826
  PARM REFERENCE Plant
2826
- END_MODEL
2827
+ END_CLASS
2827
2828
 
2828
2829
  //--------------------------------------------------------------------------------------------------
2829
2830
  // Modelo para Grupo Exclusivo
2830
2831
  //--------------------------------------------------------------------------------------------------
2831
- DEFINE_MODEL MODL:Optmain_Excl
2832
- PARM STRING SetName
2832
+ DEFINE_CLASS PSRMaintenanceExclusive
2833
+ PARM STRING SetName @id
2833
2834
  VECTOR REFERENCE PlantsThermal
2834
2835
  VECTOR REFERENCE PlantsHydro
2835
2836
  VECTOR REFERENCE PlantsGnd
2836
- END_MODEL
2837
+ END_CLASS
2837
2838
 
2838
2839
  //--------------------------------------------------------------------------------------------------
2839
2840
  // Modelo para Grupo Compartilhado
2840
2841
  //--------------------------------------------------------------------------------------------------
2841
- DEFINE_MODEL MODL:Optmain_Shared
2842
- PARM STRING SetName
2842
+ DEFINE_CLASS PSRMaintenanceShared
2843
+ PARM STRING SetName @id
2843
2844
  VECTOR REFERENCE PlantsThermal
2844
2845
  VECTOR REFERENCE PlantsHydro
2845
2846
  VECTOR REFERENCE PlantsGnd
2846
- END_MODEL
2847
+ END_CLASS
2847
2848
 
2848
2849
  //--------------------------------------------------------------------------------------------------
2849
2850
  // Modelo para Grupo Associado
2850
2851
  //--------------------------------------------------------------------------------------------------
2851
- DEFINE_MODEL MODL:Optmain_Ass
2852
- PARM STRING SetName
2852
+ DEFINE_CLASS PSRMaintenanceAssociation
2853
+ PARM STRING SetName @id
2853
2854
  VECTOR REFERENCE Solicitations
2854
- END_MODEL
2855
+ END_CLASS
2855
2856
 
2856
2857
  //--------------------------------------------------------------------------------------------------
2857
2858
  // Modelo para Restricoes de Solicitacoes Exclusivas
2858
2859
  //--------------------------------------------------------------------------------------------------
2859
- DEFINE_MODEL MODL:Optmain_ExclSol
2860
- PARM STRING SetName
2860
+ DEFINE_CLASS PSRMaintenanceExclusiveSol
2861
+ PARM STRING SetName @id
2861
2862
  VECTOR REFERENCE Solicitations
2862
- END_MODEL
2863
+ END_CLASS
2863
2864
 
2864
2865
  //--------------------------------------------------------------------------------------------------
2865
2866
  // Modelo para Periodos Restritos
2866
2867
  //--------------------------------------------------------------------------------------------------
2867
- DEFINE_MODEL MODL:Optmain_StageCstr
2868
+ MERGE_CLASS PSRPlant StageCstr
2868
2869
  VECTOR DATE RestDate
2869
2870
  VECTOR INTEGER RestrictedStages INDEX RestDate
2870
- END_MODEL
2871
+ END_CLASS
2871
2872
 
2872
2873
  //--------------------------------------------------------------------------------------------------
2873
2874
  // Modelo para Reserva Minima
2874
2875
  //--------------------------------------------------------------------------------------------------
2875
- DEFINE_MODEL MODL:Optmain_MinRes
2876
+ MERGE_CLASS PSRSystem MinRes
2876
2877
  VECTOR DATE MinResDate
2877
2878
  VECTOR REAL MinimumReserve INDEX MinResDate
2878
- END_MODEL
2879
+ END_CLASS
2879
2880
 
2880
2881
  //--------------------------------------------------------------------------------------------------
2881
2882
  // Modelo para Demanda Instantanea
2882
2883
  //--------------------------------------------------------------------------------------------------
2883
- DEFINE_MODEL MODL:Optmain_InstDem
2884
- VECTOR REAL InstantDemand
2885
- END_MODEL
2884
+ MERGE_CLASS PSRSystem InstDem
2885
+ VECTOR REAL InstantDemand
2886
+ END_CLASS
2886
2887
 
2887
2888
  //--------------------------------------------------------------------------------------------------
2888
2889
  // Modelo para Parametros de Opcoes
@@ -2921,26 +2922,26 @@ END_MODEL
2921
2922
  //--------------------------------------------------------------------------------------------------
2922
2923
  // Modelo para Restricoes de Precedencia
2923
2924
  //--------------------------------------------------------------------------------------------------
2924
- DEFINE_MODEL MODL:Optmain_Prec
2925
- PARM STRING PrecName
2925
+ DEFINE_CLASS PSRMaintenancePrecedence
2926
+ PARM STRING PrecName @id
2926
2927
  VECTOR INTEGER DelayMin
2927
2928
  VECTOR INTEGER DelayMax
2928
2929
  VECTOR REFERENCE Solicitations
2929
- END_MODEL
2930
+ END_CLASS
2930
2931
 
2931
2932
  //--------------------------------------------------------------------------------------------------
2932
2933
  // Modelo para Fatores de Unidades
2933
2934
  //--------------------------------------------------------------------------------------------------
2934
- DEFINE_MODEL MODL:Optmain_UnitFactors
2935
+ MERGE_CLASS PSRPlant UnitFactors
2935
2936
  VECTOR REAL UnitFactors
2936
- END_MODEL
2937
+ END_CLASS
2937
2938
 
2938
2939
  //--------------------------------------------------------------------------------------------------
2939
2940
  // Modelo para Mapeamento de Unidades
2940
2941
  //--------------------------------------------------------------------------------------------------
2941
- DEFINE_MODEL MODL:Optmain_UnitCodes
2942
+ MERGE_CLASS PSRPlant UnitCodes
2942
2943
  VECTOR INTEGER UnitCodes
2943
- END_MODEL
2944
+ END_CLASS
2944
2945
  //--------------------------------------
2945
2946
  //--- Modelo de Avaliacao Economica ---
2946
2947
  //--------------------------------------
@@ -5246,6 +5247,7 @@ DEFINE_MODEL MODL:SDDP_Execution_Options
5246
5247
  PARM INTEGER FINJ
5247
5248
  PARM INTEGER ETYP
5248
5249
  PARM INTEGER RFCF
5250
+ PARM INTEGER RFIT
5249
5251
  PARM INTEGER PFCF
5250
5252
  PARM INTEGER PENL
5251
5253
  PARM INTEGER LSFI
@@ -5803,8 +5805,8 @@ DEFINE_MODEL MODL:SDDP_DCBus
5803
5805
  PARM REAL BaseVoltage
5804
5806
  PARM REAL GroundResistance
5805
5807
 
5806
- VETOR DATE DataVoltage
5807
- VETOR REAL Voltage DIM(block) INDEX DataVoltage
5808
+ VETOR DATE DateVolt
5809
+ VETOR REAL Volt DIM(block) INDEX DateVolt
5808
5810
 
5809
5811
  MERGE_MODEL Sddp_Georeference
5810
5812
  END_MODEL
psr/factory/factory.pmk CHANGED
@@ -6592,6 +6592,7 @@ END_MASK
6592
6592
  DEFINE_MASK CSVDATA Optmain_Prec
6593
6593
 
6594
6594
  DEFINE_HEADER
6595
+ $version=1
6595
6596
  !PrecName,SolName,DelayMin,DelayMax
6596
6597
  END_HEADER
6597
6598
  DEFINE_DATA
@@ -6627,6 +6628,397 @@ SetName STRING,1
6627
6628
  Solicitation STRING,2
6628
6629
  END_DATA
6629
6630
  END_MASK
6631
+
6632
+ //--------------------------------------------------------------------------------------------------
6633
+ // OptMain V2 - PSRMaintenanceSolicitation Identification and parameters
6634
+ //--------------------------------------------------------------------------------------------------
6635
+ DEFINE_MASK CSVDATA Optmain_optmcfg_v3
6636
+
6637
+ DEFINE_AUTOMATIC_INFO
6638
+ FILENAME optmcfg.dat
6639
+ VERSION 3
6640
+ CONTEXT_READ optmain
6641
+ CONTEXT_WRITE optmain
6642
+ CLASSNAME PSRMaintenanceSolicitation
6643
+ MODEL PSRMaintenanceSolicitation
6644
+ CREATE_OBJECTS TRUE
6645
+ END_AUTOMATIC_INFO
6646
+
6647
+ DEFINE_DATA
6648
+ Name STRING,1 AUTOSET(model.parm("Name"))
6649
+ UnitCode INTEGER,2 AUTOSET(model.parm("UnitCode"))
6650
+ MinDateDay INTEGER,3 AUTOSET(model.parm("MinDateDay"))
6651
+ MinDateMonth INTEGER,4 AUTOSET(model.parm("MinDateMonth"))
6652
+ MinDateYear INTEGER,5 AUTOSET(model.parm("MinDateYear"))
6653
+ MaxDateDay INTEGER,6 AUTOSET(model.parm("MaxDateDay"))
6654
+ MaxDateMonth INTEGER,7 AUTOSET(model.parm("MaxDateMonth"))
6655
+ MaxDateYear INTEGER,8 AUTOSET(model.parm("MaxDateYear"))
6656
+ Duration INTEGER,9 AUTOSET(model.parm("Duration"))
6657
+ PrefDateDay INTEGER,10 AUTOSET(model.parm("PrefDateDay"))
6658
+ PrefDateMonth INTEGER,11 AUTOSET(model.parm("PrefDateMonth"))
6659
+ PrefDateYear INTEGER,12 AUTOSET(model.parm("PrefDateYear"))
6660
+ Score REAL,13 AUTOSET(model.parm("Score"))
6661
+ Fix INTEGER,14 AUTOSET(model.parm("Fix"))
6662
+ FixOuter INTEGER,15 AUTOSET(model.parm("FixOuter"))
6663
+ Plant REFERENCE,16 AUTOSET(model.parm("Plant"))
6664
+ END_DATA
6665
+ DEFINE_HEADER
6666
+ $version=3
6667
+ !Name,UnitCode,MinDateDay,MinDateMonth,MinDateYear,MaxDateDay,MaxDateMonth,MaxDateYear,Duration,PrefDateDay,PrefDateMonth,PrefDateYear,Score,Fix,FixOuter,Plant
6668
+ END_HEADER
6669
+ END_MASK
6670
+ //--------------------------------------------------------------------------------------------------
6671
+ // OptMain V2 - PSRMaintenanceExclusive Identification and parameters
6672
+ //--------------------------------------------------------------------------------------------------
6673
+ DEFINE_MASK CSVDATA Optmain_optmexcl_v3
6674
+
6675
+ DEFINE_AUTOMATIC_INFO
6676
+ FILENAME optmexcl.dat
6677
+ VERSION 3
6678
+ CONTEXT_READ optmain
6679
+ CONTEXT_WRITE optmain
6680
+ CLASSNAME PSRMaintenanceExclusive
6681
+ MODEL PSRMaintenanceExclusive
6682
+ CREATE_OBJECTS TRUE
6683
+ END_AUTOMATIC_INFO
6684
+
6685
+ DEFINE_DATA
6686
+ SetName STRING,1 AUTOSET(model.parm("SetName"))
6687
+ END_DATA
6688
+ DEFINE_HEADER
6689
+ $version=3
6690
+ !SetName
6691
+ END_HEADER
6692
+ END_MASK
6693
+ //--------------------------------------------------------------------------------------------------
6694
+ // OptMain V2 - PSRMaintenanceExclusive Non indexed vectors
6695
+ //--------------------------------------------------------------------------------------------------
6696
+ DEFINE_MASK CSVDATA Optmain_optmexclv
6697
+
6698
+ DEFINE_AUTOMATIC_INFO
6699
+ FILENAME optmexclv.dat
6700
+ VERSION 1
6701
+ CONTEXT_READ optmain
6702
+ CONTEXT_WRITE optmain
6703
+ CLASSNAME PSRMaintenanceExclusive
6704
+ MODEL PSRMaintenanceExclusive
6705
+ END_AUTOMATIC_INFO
6706
+
6707
+ DEFINE_DATA
6708
+ PSRMaintenanceExclusive REFERENCE,1
6709
+ PlantsThermal REFERENCE,2
6710
+ PlantsHydro REFERENCE,3
6711
+ PlantsGnd REFERENCE,4
6712
+ END_DATA
6713
+ DEFINE_HEADER
6714
+ $version=1
6715
+ !PSRMaintenanceExclusive,PlantsThermal,PlantsHydro,PlantsGnd
6716
+ END_HEADER
6717
+ END_MASK
6718
+ //--------------------------------------------------------------------------------------------------
6719
+ // OptMain V2 - PSRMaintenanceShared Identification and parameters
6720
+ //--------------------------------------------------------------------------------------------------
6721
+ DEFINE_MASK CSVDATA Optmain_optmshr_v3
6722
+
6723
+ DEFINE_AUTOMATIC_INFO
6724
+ FILENAME optmshr.dat
6725
+ VERSION 3
6726
+ CONTEXT_READ optmain
6727
+ CONTEXT_WRITE optmain
6728
+ CLASSNAME PSRMaintenanceShared
6729
+ MODEL PSRMaintenanceShared
6730
+ CREATE_OBJECTS TRUE
6731
+ END_AUTOMATIC_INFO
6732
+
6733
+ DEFINE_DATA
6734
+ SetName STRING,1 AUTOSET(model.parm("SetName"))
6735
+ END_DATA
6736
+ DEFINE_HEADER
6737
+ $version=3
6738
+ !SetName
6739
+ END_HEADER
6740
+ END_MASK
6741
+ //--------------------------------------------------------------------------------------------------
6742
+ // OptMain V2 - PSRMaintenanceShared Non indexed vectors
6743
+ //--------------------------------------------------------------------------------------------------
6744
+ DEFINE_MASK CSVDATA Optmain_optmshrv
6745
+
6746
+ DEFINE_AUTOMATIC_INFO
6747
+ FILENAME optmshrv.dat
6748
+ VERSION 1
6749
+ CONTEXT_READ optmain
6750
+ CONTEXT_WRITE optmain
6751
+ CLASSNAME PSRMaintenanceShared
6752
+ MODEL PSRMaintenanceShared
6753
+ END_AUTOMATIC_INFO
6754
+
6755
+ DEFINE_DATA
6756
+ PSRMaintenanceShared REFERENCE,1
6757
+ PlantsThermal REFERENCE,2
6758
+ PlantsHydro REFERENCE,3
6759
+ PlantsGnd REFERENCE,4
6760
+ END_DATA
6761
+ DEFINE_HEADER
6762
+ $version=1
6763
+ !PSRMaintenanceShared,PlantsThermal,PlantsHydro,PlantsGnd
6764
+ END_HEADER
6765
+ END_MASK
6766
+ //--------------------------------------------------------------------------------------------------
6767
+ // OptMain V2 - PSRMaintenanceAssociation Identification and parameters
6768
+ //--------------------------------------------------------------------------------------------------
6769
+ DEFINE_MASK CSVDATA Optmain_optmass_v2
6770
+
6771
+ DEFINE_AUTOMATIC_INFO
6772
+ FILENAME optmass.dat
6773
+ VERSION 2
6774
+ CONTEXT_READ optmain
6775
+ CONTEXT_WRITE optmain
6776
+ CLASSNAME PSRMaintenanceAssociation
6777
+ MODEL PSRMaintenanceAssociation
6778
+ CREATE_OBJECTS TRUE
6779
+ END_AUTOMATIC_INFO
6780
+
6781
+ DEFINE_DATA
6782
+ SetName STRING,1 AUTOSET(model.parm("SetName"))
6783
+ END_DATA
6784
+ DEFINE_HEADER
6785
+ $version=2
6786
+ !SetName
6787
+ END_HEADER
6788
+ END_MASK
6789
+ //--------------------------------------------------------------------------------------------------
6790
+ // OptMain V2 - PSRMaintenanceAssociation Non indexed vectors
6791
+ //--------------------------------------------------------------------------------------------------
6792
+ DEFINE_MASK CSVDATA Optmain_optmassv
6793
+
6794
+ DEFINE_AUTOMATIC_INFO
6795
+ FILENAME optmassv.dat
6796
+ VERSION 1
6797
+ CONTEXT_READ optmain
6798
+ CONTEXT_WRITE optmain
6799
+ CLASSNAME PSRMaintenanceAssociation
6800
+ MODEL PSRMaintenanceAssociation
6801
+ END_AUTOMATIC_INFO
6802
+
6803
+ DEFINE_DATA
6804
+ PSRMaintenanceAssociation REFERENCE,1
6805
+ Solicitations REFERENCE,2
6806
+ END_DATA
6807
+ DEFINE_HEADER
6808
+ $version=1
6809
+ !PSRMaintenanceAssociation,Solicitations
6810
+ END_HEADER
6811
+ END_MASK
6812
+ //--------------------------------------------------------------------------------------------------
6813
+ // OptMain V2 - PSRMaintenanceExclusiveSol Identification and parameters
6814
+ //--------------------------------------------------------------------------------------------------
6815
+ DEFINE_MASK CSVDATA Optmain_optmexcls_v2
6816
+
6817
+ DEFINE_AUTOMATIC_INFO
6818
+ FILENAME optmexcls.dat
6819
+ VERSION 2
6820
+ CONTEXT_READ optmain
6821
+ CONTEXT_WRITE optmain
6822
+ CLASSNAME PSRMaintenanceExclusiveSol
6823
+ MODEL PSRMaintenanceExclusiveSol
6824
+ CREATE_OBJECTS TRUE
6825
+ END_AUTOMATIC_INFO
6826
+
6827
+ DEFINE_DATA
6828
+ SetName STRING,1 AUTOSET(model.parm("SetName"))
6829
+ END_DATA
6830
+ DEFINE_HEADER
6831
+ $version=2
6832
+ !SetName
6833
+ END_HEADER
6834
+ END_MASK
6835
+ //--------------------------------------------------------------------------------------------------
6836
+ // OptMain V2 - PSRMaintenanceExclusiveSol Non indexed vectors
6837
+ //--------------------------------------------------------------------------------------------------
6838
+ DEFINE_MASK CSVDATA Optmain_optmexclsv
6839
+
6840
+ DEFINE_AUTOMATIC_INFO
6841
+ FILENAME optmexclsv.dat
6842
+ VERSION 1
6843
+ CONTEXT_READ optmain
6844
+ CONTEXT_WRITE optmain
6845
+ CLASSNAME PSRMaintenanceExclusiveSol
6846
+ MODEL PSRMaintenanceExclusiveSol
6847
+ END_AUTOMATIC_INFO
6848
+
6849
+ DEFINE_DATA
6850
+ PSRMaintenanceExclusiveSol REFERENCE,1
6851
+ Solicitations REFERENCE,2
6852
+ END_DATA
6853
+ DEFINE_HEADER
6854
+ $version=1
6855
+ !PSRMaintenanceExclusiveSol,Solicitations
6856
+ END_HEADER
6857
+ END_MASK
6858
+ //--------------------------------------------------------------------------------------------------
6859
+ // OptMain V2 - PSRPlant Vectors indexed by RestDate
6860
+ //--------------------------------------------------------------------------------------------------
6861
+ DEFINE_MASK CSVDATA Optmain_optmstgcstr
6862
+ DEFINE_AUTOMATIC_INFO
6863
+ FILENAME optmstgcstr.dat
6864
+ VERSION 1
6865
+ CONTEXT_READ optmain
6866
+ CONTEXT_WRITE optmain
6867
+ CLASSNAME PSRPlant
6868
+ MODEL StageCstr
6869
+ END_AUTOMATIC_INFO
6870
+
6871
+ DEFINE_DATA
6872
+ PSRPlant REFERENCE,1
6873
+ RestDate DATE,2 YYYY/MM/DD AUTOSET
6874
+ RestrictedStages INTEGER,3 AUTOSET
6875
+ END_DATA
6876
+ DEFINE_HEADER
6877
+ $version=1
6878
+ !PSRPlant,RestDate,RestrictedStages
6879
+ END_HEADER
6880
+ END_MASK
6881
+ //--------------------------------------------------------------------------------------------------
6882
+ // OptMain V2 - PSRSystem Vectors indexed by MinResDate
6883
+ //--------------------------------------------------------------------------------------------------
6884
+ DEFINE_MASK CSVDATA Optmain_optmresmin_v2
6885
+ DEFINE_AUTOMATIC_INFO
6886
+ FILENAME optmresmin.dat
6887
+ VERSION 2
6888
+ CONTEXT_READ optmain
6889
+ CONTEXT_WRITE optmain
6890
+ CLASSNAME PSRSystem
6891
+ MODEL MinRes
6892
+ END_AUTOMATIC_INFO
6893
+
6894
+ DEFINE_DATA
6895
+ PSRSystem REFERENCE,1
6896
+ MinResDate DATE,2 YYYY/MM/DD AUTOSET
6897
+ MinimumReserve REAL,3 AUTOSET
6898
+ END_DATA
6899
+ DEFINE_HEADER
6900
+ $version=2
6901
+ !PSRSystem,MinResDate,MinimumReserve
6902
+ END_HEADER
6903
+ END_MASK
6904
+ //--------------------------------------------------------------------------------------------------
6905
+ // OptMain V2 - PSRSystem Non indexed vectors
6906
+ //--------------------------------------------------------------------------------------------------
6907
+ DEFINE_MASK CSVDATA Optmain_optmload_v2
6908
+
6909
+ DEFINE_AUTOMATIC_INFO
6910
+ FILENAME optmload.dat
6911
+ VERSION 2
6912
+ CONTEXT_READ optmain
6913
+ CONTEXT_WRITE optmain
6914
+ CLASSNAME PSRSystem
6915
+ MODEL InstDem
6916
+ END_AUTOMATIC_INFO
6917
+
6918
+ DEFINE_DATA
6919
+ PSRSystem REFERENCE,1
6920
+ InstantDemand REAL,2
6921
+ END_DATA
6922
+ DEFINE_HEADER
6923
+ $version=2
6924
+ !PSRSystem,InstantDemand
6925
+ END_HEADER
6926
+ END_MASK
6927
+ //--------------------------------------------------------------------------------------------------
6928
+ // OptMain V2 - PSRMaintenancePrecedence Identification and parameters
6929
+ //--------------------------------------------------------------------------------------------------
6930
+ DEFINE_MASK CSVDATA Optmain_optmprec_v2
6931
+
6932
+ DEFINE_AUTOMATIC_INFO
6933
+ FILENAME optmprec.dat
6934
+ VERSION 2
6935
+ CONTEXT_READ optmain
6936
+ CONTEXT_WRITE optmain
6937
+ CLASSNAME PSRMaintenancePrecedence
6938
+ MODEL PSRMaintenancePrecedence
6939
+ CREATE_OBJECTS TRUE
6940
+ END_AUTOMATIC_INFO
6941
+
6942
+ DEFINE_DATA
6943
+ PrecName STRING,1 AUTOSET(model.parm("PrecName"))
6944
+ END_DATA
6945
+ DEFINE_HEADER
6946
+ $version=2
6947
+ !PrecName
6948
+ END_HEADER
6949
+ END_MASK
6950
+ //--------------------------------------------------------------------------------------------------
6951
+ // OptMain V2 - PSRMaintenancePrecedence Non indexed vectors
6952
+ //--------------------------------------------------------------------------------------------------
6953
+ DEFINE_MASK CSVDATA Optmain_optmprecv
6954
+
6955
+ DEFINE_AUTOMATIC_INFO
6956
+ FILENAME optmprecv.dat
6957
+ VERSION 1
6958
+ CONTEXT_READ optmain
6959
+ CONTEXT_WRITE optmain
6960
+ CLASSNAME PSRMaintenancePrecedence
6961
+ MODEL PSRMaintenancePrecedence
6962
+ END_AUTOMATIC_INFO
6963
+
6964
+ DEFINE_DATA
6965
+ PSRMaintenancePrecedence REFERENCE,1
6966
+ DelayMin INTEGER,2
6967
+ DelayMax INTEGER,3
6968
+ Solicitations REFERENCE,4
6969
+ END_DATA
6970
+ DEFINE_HEADER
6971
+ $version=1
6972
+ !PSRMaintenancePrecedence,DelayMin,DelayMax,Solicitations
6973
+ END_HEADER
6974
+ END_MASK
6975
+ //--------------------------------------------------------------------------------------------------
6976
+ // OptMain V2 - PSRPlant Non indexed vectors
6977
+ //--------------------------------------------------------------------------------------------------
6978
+ DEFINE_MASK CSVDATA Optmain_optmuntfct_v2
6979
+
6980
+ DEFINE_AUTOMATIC_INFO
6981
+ FILENAME optmuntfct.dat
6982
+ VERSION 2
6983
+ CONTEXT_READ optmain
6984
+ CONTEXT_WRITE optmain
6985
+ CLASSNAME PSRPlant
6986
+ MODEL UnitFactors
6987
+ END_AUTOMATIC_INFO
6988
+
6989
+ DEFINE_DATA
6990
+ PSRPlant REFERENCE,1
6991
+ UnitFactors REAL,2
6992
+ END_DATA
6993
+ DEFINE_HEADER
6994
+ $version=2
6995
+ !PSRPlant,UnitFactors
6996
+ END_HEADER
6997
+ END_MASK
6998
+ //--------------------------------------------------------------------------------------------------
6999
+ // OptMain V2 - PSRPlant Non indexed vectors
7000
+ //--------------------------------------------------------------------------------------------------
7001
+ DEFINE_MASK CSVDATA Optmain_optmuntcod_v2
7002
+
7003
+ DEFINE_AUTOMATIC_INFO
7004
+ FILENAME optmuntcod.dat
7005
+ VERSION 2
7006
+ CONTEXT_READ optmain
7007
+ CONTEXT_WRITE optmain
7008
+ CLASSNAME PSRPlant
7009
+ MODEL UnitCodes
7010
+ END_AUTOMATIC_INFO
7011
+
7012
+ DEFINE_DATA
7013
+ PSRPlant REFERENCE,1
7014
+ UnitCodes INTEGER,2
7015
+ END_DATA
7016
+ DEFINE_HEADER
7017
+ $version=2
7018
+ !PSRPlant,UnitCodes
7019
+ END_HEADER
7020
+ END_MASK
7021
+
6630
7022
  DEFINE_MASK CSVDATA Reliability_Generation
6631
7023
  DEFINE_HEADER
6632
7024
  Barra, Sis, Tp, Cod, Nome, Uni, Pmn, Pmx, Qmn, Qmx, tx.Falha, tx.Retor
@@ -14672,13 +15064,12 @@ DEFINE_MASK CSVDATA SDDP_darea
14672
15064
 
14673
15065
  DEFINE_HEADER
14674
15066
  $version=2
14675
- !Code,Name,SystemCode
15067
+ !Code,Name
14676
15068
  END_HEADER
14677
15069
 
14678
15070
  DEFINE_DATA
14679
15071
  Code INTEGER 1
14680
15072
  Name STRING 2
14681
- SystemCode INTEGER 3
14682
15073
  END_DATA
14683
15074
 
14684
15075
  END_MASK
@@ -16417,6 +16808,30 @@ $version=1
16417
16808
  !code,Date,block,MinFlow,MaxFlow,MinFlowEmergency,MaxFlowEmergency
16418
16809
  END_HEADER
16419
16810
  END_MASK
16811
+ //---------------------------------------------------------------------
16812
+ //---------------------------------------------------------------------
16813
+ DEFINE_MASK CSVDATA SDDP_dcbusvolt
16814
+ DEFINE_AUTOMATIC_INFO
16815
+ FILENAME dcbusvolt.dat
16816
+ VERSION 1
16817
+ CONTEXT_READ sddpac
16818
+ CONTEXT_WRITE sddpac
16819
+ CLASSNAME PSRBusDC
16820
+ MODEL MODL:SDDP_DCBus
16821
+ ATTRIBUTE_ID code
16822
+ END_AUTOMATIC_INFO
16823
+
16824
+ DEFINE_DATA
16825
+ code REFERENCE 1
16826
+ DateVolt DATE 2 YYYY/MM/DD AUTOSET
16827
+ block INTEGER 3
16828
+ Volt REAL 4
16829
+ END_DATA
16830
+ DEFINE_HEADER
16831
+ $version=1
16832
+ !code,Date,block,Volt
16833
+ END_HEADER
16834
+ END_MASK
16420
16835
 
16421
16836
  //---------------------------------------------------------------------
16422
16837
  //---------------------------------------------------------------------
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: psr-factory
3
- Version: 4.1.0b3
3
+ Version: 4.1.0b4
4
4
  Summary: PSR database management module.
5
5
  Author-email: "PSR Inc." <psrfactory@psr-inc.com>
6
6
  License: MIT License
@@ -46,7 +46,7 @@ Description-Content-Type: text/markdown
46
46
  License-File: LICENSE.txt
47
47
  Dynamic: license-file
48
48
 
49
- PSR Factory (version 4.1.0b3)
49
+ PSR Factory (version 4.1.0b4)
50
50
  ============================
51
51
 
52
52
  Factory is a library that helps to manage SDDP cases.
@@ -67,7 +67,7 @@ pip install psr-factory
67
67
  Or, if the package directly from the wheel (whl) file:
68
68
 
69
69
  ```bash
70
- pip install psr_factory-4.1.0b3-py3-none-win_amd64.whl
70
+ pip install psr_factory-4.1.0b4-py3-none-win_amd64.whl
71
71
  ```
72
72
 
73
73
  Factory will be available to all Python scripts in your system after importing it:
@@ -2,21 +2,21 @@ psr/apps/__init__.py,sha256=frSq1WIy5vIdU21xJIGX7U3XoAZRj0pcQmFb-R00b7I,228
2
2
  psr/apps/apps.py,sha256=8jVxTFZ73KFk_PbY-8rZDD8HBONdCjt-jzsDJyu2P50,6921
3
3
  psr/apps/version.py,sha256=vs459L6JsatAkUxna7BNG-vMCaXpO1Ye8c1bmkEx4U4,194
4
4
  psr/cloud/__init__.py,sha256=inZMwG7O9Fca9hg1BhqYObOYtTTJOkpuTIuXnkHJZkI,246
5
- psr/cloud/cloud.py,sha256=sl-Sbmhg7EPeECi1FH4fI12LGGzQA7eBtbb5zgINJ2A,42235
5
+ psr/cloud/cloud.py,sha256=5Id6YAVqUjcakttj9DqiCmgviYWK5IBccOHkb5d4ltA,43374
6
6
  psr/cloud/data.py,sha256=3zWh1qnBNFfI8K3N8jZKqDnzHWMQ5llc_wwGMZ4FtKs,3548
7
7
  psr/cloud/desktop.py,sha256=JFroCMEFV1Nz3has74n7OVrGCg2lS7Ev5bcjdw2hRxY,2980
8
8
  psr/cloud/log.py,sha256=Dvhz1enIWlFWeaRK7JAAuZVPfODgoEIRNcHEmbEliyQ,1366
9
9
  psr/cloud/status.py,sha256=vcI4B9S6wCt9maT5NNrVwYaEgGIvy6kkC1UVpJjYbtw,3607
10
10
  psr/cloud/tempfile.py,sha256=1IOeye0eKWnmBynK5K5FMWiTaEVhn4GbQ8_y0THEva0,3893
11
- psr/cloud/version.py,sha256=FMkUnJ7LLpNt9YmROO5l8D4w-g7A6-Fo0eI9JbYZh0o,192
11
+ psr/cloud/version.py,sha256=BpUfaGYiH-pI7AmsrOg4kw1AMIrzxQnhaYJhik3dXPA,192
12
12
  psr/cloud/xml.py,sha256=dmBh4iRieORCctm1obz1EGA2QN-KkZlH5_dQfBud-AI,1847
13
- psr/factory/__init__.py,sha256=IVy9wUtd7XwVWcncZkrnNFvxa6H-DdlVgggY6VReIPk,218
14
- psr/factory/api.py,sha256=Ruz9klp70FJnsarb-Se5b5G5FAyqa11mBsP7CqBAzuo,95439
15
- psr/factory/factory.dll,sha256=C4cVo0_k0GHWTkktG6_Eu_gg6rgsR7_RTgLJxd8PPPk,17828912
16
- psr/factory/factory.pmd,sha256=r-2idBk98sKzDC-h0-nn6CF8Pr-mxz1RtnpEpvIEaU0,229581
17
- psr/factory/factory.pmk,sha256=NzPpz4_bR3hvBAff9BWqf-6IWcHNwDd31PHUizo4YYs,555896
13
+ psr/factory/__init__.py,sha256=lgKVj-eqOOmnk_p7wb2ScOICXmUf_P_eILgZE2sJuI0,218
14
+ psr/factory/api.py,sha256=A7MQ5uhCWHuy4dDwOf9i2zDZ7Jm-9lSYtkDgMFlw3n8,95962
15
+ psr/factory/factory.dll,sha256=-D_fB_YeX-0qYDWdrqm5poGsbbCHx3946rcSGgGBazI,17805344
16
+ psr/factory/factory.pmd,sha256=8AKUfKW1fQHT76oCzaCWLTpd0jwPTg2MV83C-KN4zA8,229668
17
+ psr/factory/factory.pmk,sha256=cOMeJvl_magd8mfOwdt-IJ77nQx2CCutPzC_AYPurCo,568182
18
18
  psr/factory/factorylib.py,sha256=Orcg4X47J3J1CNr0WEERucqsTJLqt0TV9VFFZXLv6WE,26978
19
- psr/factory/libcurl-x64.dll,sha256=d8hRt8TBfeZxKiqQj1ZLxOjdgtZTawVMimzV3KGykRw,5328944
19
+ psr/factory/libcurl-x64.dll,sha256=i1buVpg57cf1FMEI_ddD0ocD3fk74vqeosyBA7IJ5QQ,5319200
20
20
  psr/factory/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
21
  psr/psrfcommon/__init__.py,sha256=WXR560XQllIjtFpWd0jiJEbUAQIyh5-6lwj-42_J95c,200
22
22
  psr/psrfcommon/psrfcommon.py,sha256=NABM5ahvyfSizDC9c0Vu9dVK1pD_vOzIGFHL1oz2E1o,1464
@@ -24,8 +24,8 @@ psr/psrfcommon/tempfile.py,sha256=5S13wa2DCLYTUdwbLm_KMBRnDRJ0WDlu8GO2BmZoNdg,39
24
24
  psr/runner/__init__.py,sha256=kI9HDX-B_LMQJUHHylFHas2rNpWfNNa0pZXoIvX_Alw,230
25
25
  psr/runner/runner.py,sha256=fiuwKDRnqOLfV5UKJamLMZqm7PneeVjgEEmhpZbMm98,26340
26
26
  psr/runner/version.py,sha256=mch2Y8anSXGMn9w72Z78PhSRhOyn55EwaoLAYhY4McE,194
27
- psr_factory-4.1.0b3.dist-info/licenses/LICENSE.txt,sha256=N6mqZK2Ft3iXGHj-by_MHC_dJo9qwn0URjakEPys3H4,1089
28
- psr_factory-4.1.0b3.dist-info/METADATA,sha256=e3ajWcmlXdJYZfnNBcpHI6cjg8lMBx6Ay1pm1XDdwuE,3721
29
- psr_factory-4.1.0b3.dist-info/WHEEL,sha256=GRAwO4abswPoD8u6X5Ix8yKoy-wTIXRf_V-PAIDNIsM,97
30
- psr_factory-4.1.0b3.dist-info/top_level.txt,sha256=Jb393O96WQk3b5D1gMcrZBLKJJgZpzNjTPoldUi00ck,4
31
- psr_factory-4.1.0b3.dist-info/RECORD,,
27
+ psr_factory-4.1.0b4.dist-info/licenses/LICENSE.txt,sha256=N6mqZK2Ft3iXGHj-by_MHC_dJo9qwn0URjakEPys3H4,1089
28
+ psr_factory-4.1.0b4.dist-info/METADATA,sha256=2OmQazPLiYvF_1958lyh2C6GtOBf24nuWTjD7lpNBKU,3721
29
+ psr_factory-4.1.0b4.dist-info/WHEEL,sha256=jcBIzWeetTfKWoqh1t37_3WRou9luDyd3A1574l0jA4,97
30
+ psr_factory-4.1.0b4.dist-info/top_level.txt,sha256=Jb393O96WQk3b5D1gMcrZBLKJJgZpzNjTPoldUi00ck,4
31
+ psr_factory-4.1.0b4.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (78.1.0)
2
+ Generator: setuptools (79.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-win_amd64
5
5