gamsapi 53.2.0__tar.gz → 53.3.0__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.
Files changed (285) hide show
  1. {gamsapi-53.2.0/src/gamsapi.egg-info → gamsapi-53.3.0}/PKG-INFO +12 -12
  2. gamsapi-53.3.0/VERSION +1 -0
  3. gamsapi-53.3.0/src/gams/_version.py +1 -0
  4. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/_internals/algorithms.py +21 -11
  5. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/_internals/specialvalues.py +31 -11
  6. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/containers/_container.py +92 -94
  7. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/containers/_io/gdx.py +34 -27
  8. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/containers/_io/gmd.py +5 -4
  9. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/containers/_mixins/ccc.py +77 -64
  10. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/_methods/tables.py +6 -3
  11. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/_mixins/equals.py +16 -10
  12. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/_mixins/generateRecords.py +24 -12
  13. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/_mixins/pivot.py +24 -13
  14. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/_mixins/pve.py +38 -34
  15. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/_mixins/spve.py +69 -55
  16. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/_mixins/ve.py +45 -16
  17. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/container_syms/_alias.py +73 -72
  18. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/container_syms/_parameter.py +44 -22
  19. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/container_syms/_set.py +20 -13
  20. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/container_syms/_universe_alias.py +20 -17
  21. {gamsapi-53.2.0 → gamsapi-53.3.0/src/gamsapi.egg-info}/PKG-INFO +12 -12
  22. gamsapi-53.2.0/VERSION +0 -1
  23. gamsapi-53.2.0/src/gams/_version.py +0 -1
  24. {gamsapi-53.2.0 → gamsapi-53.3.0}/LICENSE +0 -0
  25. {gamsapi-53.2.0 → gamsapi-53.3.0}/MANIFEST.in +0 -0
  26. {gamsapi-53.2.0 → gamsapi-53.3.0}/README.md +0 -0
  27. {gamsapi-53.2.0 → gamsapi-53.3.0}/pyproject.toml +0 -0
  28. {gamsapi-53.2.0 → gamsapi-53.3.0}/setup.cfg +0 -0
  29. {gamsapi-53.2.0 → gamsapi-53.3.0}/setup.py +0 -0
  30. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/__init__.py +0 -0
  31. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/__init__.py +0 -0
  32. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/__init__.py +0 -0
  33. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/_excel/__init__.py +0 -0
  34. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/_excel/excelagent.py +0 -0
  35. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/_excel/workbook.py +0 -0
  36. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/_sqlconnectors/__init__.py +0 -0
  37. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/_sqlconnectors/_accesshandler.py +0 -0
  38. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/_sqlconnectors/_databasehandler.py +0 -0
  39. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/_sqlconnectors/_mysqlhandler.py +0 -0
  40. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/_sqlconnectors/_postgreshandler.py +0 -0
  41. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/_sqlconnectors/_pyodbchandler.py +0 -0
  42. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/_sqlconnectors/_sqlalchemyhandler.py +0 -0
  43. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/_sqlconnectors/_sqlitehandler.py +0 -0
  44. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/_sqlconnectors/_sqlserverhandler.py +0 -0
  45. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/concatenate.py +0 -0
  46. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/connectagent.py +0 -0
  47. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/csvreader.py +0 -0
  48. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/csvwriter.py +0 -0
  49. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/domainwriter.py +0 -0
  50. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/excelreader.py +0 -0
  51. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/excelwriter.py +0 -0
  52. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/filter.py +0 -0
  53. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/gamsreader.py +0 -0
  54. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/gamswriter.py +0 -0
  55. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/gdxreader.py +0 -0
  56. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/gdxwriter.py +0 -0
  57. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/labelmanipulator.py +0 -0
  58. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/projection.py +0 -0
  59. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/pythoncode.py +0 -0
  60. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/rawcsvreader.py +0 -0
  61. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/rawexcelreader.py +0 -0
  62. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/schema/CSVReader.yaml +0 -0
  63. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/schema/CSVWriter.yaml +0 -0
  64. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/schema/Concatenate.yaml +0 -0
  65. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/schema/DomainWriter.yaml +0 -0
  66. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/schema/ExcelReader.yaml +0 -0
  67. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/schema/ExcelWriter.yaml +0 -0
  68. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/schema/Filter.yaml +0 -0
  69. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/schema/GAMSReader.yaml +0 -0
  70. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/schema/GAMSWriter.yaml +0 -0
  71. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/schema/GDXReader.yaml +0 -0
  72. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/schema/GDXWriter.yaml +0 -0
  73. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/schema/LabelManipulator.yaml +0 -0
  74. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/schema/Projection.yaml +0 -0
  75. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/schema/PythonCode.yaml +0 -0
  76. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/schema/RawCSVReader.yaml +0 -0
  77. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/schema/RawExcelReader.yaml +0 -0
  78. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/schema/SQLReader.yaml +0 -0
  79. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/schema/SQLWriter.yaml +0 -0
  80. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/sqlreader.py +0 -0
  81. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/agents/sqlwriter.py +0 -0
  82. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/connectdatabase.py +0 -0
  83. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/connectvalidator.py +0 -0
  84. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/connect/errors.py +0 -0
  85. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/control/__init__.py +0 -0
  86. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/control/database.py +0 -0
  87. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/control/execution.py +0 -0
  88. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/control/options.py +0 -0
  89. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/control/workspace.py +0 -0
  90. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/__init__.py +0 -0
  91. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/cfg/__init__.py +0 -0
  92. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/cfg/cfgmcc.c +0 -0
  93. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/cfg/cfgmcc.h +0 -0
  94. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/cfg/cfgmcc.py +0 -0
  95. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/cfg/cfgmcc_wrap.c +0 -0
  96. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/dct/__init__.py +0 -0
  97. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/dct/dctmcc.c +0 -0
  98. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/dct/dctmcc.h +0 -0
  99. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/dct/dctmcc.py +0 -0
  100. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/dct/dctmcc_wrap.c +0 -0
  101. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/embedded/__init__.py +0 -0
  102. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/embedded/gamsemb.py +0 -0
  103. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/emp/__init__.py +0 -0
  104. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/emp/emplexer.py +0 -0
  105. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/emp/empyacc.py +0 -0
  106. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/gclgms.h +0 -0
  107. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/gdx/__init__.py +0 -0
  108. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/gdx/gdxcc.c +0 -0
  109. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/gdx/gdxcc.h +0 -0
  110. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/gdx/gdxcc.py +0 -0
  111. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/gdx/gdxcc_wrap.c +0 -0
  112. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/gev/__init__.py +0 -0
  113. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/gev/gevmcc.c +0 -0
  114. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/gev/gevmcc.h +0 -0
  115. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/gev/gevmcc.py +0 -0
  116. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/gev/gevmcc_wrap.c +0 -0
  117. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/gmd/__init__.py +0 -0
  118. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/gmd/gmdcc.c +0 -0
  119. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/gmd/gmdcc.h +0 -0
  120. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/gmd/gmdcc.py +0 -0
  121. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/gmd/gmdcc_wrap.c +0 -0
  122. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/gmo/__init__.py +0 -0
  123. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/gmo/gmomcc.c +0 -0
  124. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/gmo/gmomcc.h +0 -0
  125. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/gmo/gmomcc.py +0 -0
  126. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/gmo/gmomcc_wrap.c +0 -0
  127. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/idx/__init__.py +0 -0
  128. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/idx/idxcc.c +0 -0
  129. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/idx/idxcc.h +0 -0
  130. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/idx/idxcc.py +0 -0
  131. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/idx/idxcc_wrap.c +0 -0
  132. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/numpy/__init__.py +0 -0
  133. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/numpy/_gams2numpy.c +0 -0
  134. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/numpy/gams2numpy.py +0 -0
  135. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/opt/__init__.py +0 -0
  136. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/opt/optcc.c +0 -0
  137. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/opt/optcc.h +0 -0
  138. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/opt/optcc.py +0 -0
  139. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/core/opt/optcc_wrap.c +0 -0
  140. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/__init__.py +0 -0
  141. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/api/__init__.py +0 -0
  142. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/api/auth_api.py +0 -0
  143. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/api/cleanup_api.py +0 -0
  144. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/api/default_api.py +0 -0
  145. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/api/hypercube_api.py +0 -0
  146. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/api/jobs_api.py +0 -0
  147. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/api/licenses_api.py +0 -0
  148. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/api/namespaces_api.py +0 -0
  149. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/api/usage_api.py +0 -0
  150. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/api/users_api.py +0 -0
  151. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/api_client.py +0 -0
  152. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/api_response.py +0 -0
  153. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/configuration.py +0 -0
  154. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/exceptions.py +0 -0
  155. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/__init__.py +0 -0
  156. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/bad_input.py +0 -0
  157. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/cleanable_job_result.py +0 -0
  158. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/cleanable_job_result_page.py +0 -0
  159. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/engine_license.py +0 -0
  160. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/files_not_found.py +0 -0
  161. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/forwarded_token_response.py +0 -0
  162. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/generic_key_value_pair.py +0 -0
  163. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/hypercube.py +0 -0
  164. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/hypercube_page.py +0 -0
  165. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/hypercube_summary.py +0 -0
  166. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/hypercube_token.py +0 -0
  167. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/identity_provider.py +0 -0
  168. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/identity_provider_ldap.py +0 -0
  169. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/identity_provider_oauth2.py +0 -0
  170. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/identity_provider_oauth2_scope.py +0 -0
  171. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/identity_provider_oauth2_with_secret.py +0 -0
  172. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/identity_provider_oidc.py +0 -0
  173. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/identity_provider_oidc_with_secret.py +0 -0
  174. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/inex.py +0 -0
  175. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/invitation.py +0 -0
  176. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/invitation_quota.py +0 -0
  177. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/invitation_token.py +0 -0
  178. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/job.py +0 -0
  179. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/job_no_text_entry.py +0 -0
  180. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/job_no_text_entry_page.py +0 -0
  181. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/license.py +0 -0
  182. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/log_piece.py +0 -0
  183. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/message.py +0 -0
  184. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/message_and_token.py +0 -0
  185. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/message_with_webhook_id.py +0 -0
  186. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/model_auth_token.py +0 -0
  187. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/model_configuration.py +0 -0
  188. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/model_default_instance.py +0 -0
  189. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/model_default_user_instance.py +0 -0
  190. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/model_hypercube_job.py +0 -0
  191. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/model_hypercube_usage.py +0 -0
  192. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/model_instance_info.py +0 -0
  193. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/model_instance_info_full.py +0 -0
  194. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/model_instance_pool_info.py +0 -0
  195. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/model_job_labels.py +0 -0
  196. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/model_job_usage.py +0 -0
  197. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/model_pool_usage.py +0 -0
  198. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/model_usage.py +0 -0
  199. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/model_user.py +0 -0
  200. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/model_userinstance_info.py +0 -0
  201. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/model_userinstancepool_info.py +0 -0
  202. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/model_version.py +0 -0
  203. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/models.py +0 -0
  204. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/namespace.py +0 -0
  205. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/namespace_quota.py +0 -0
  206. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/namespace_with_permission.py +0 -0
  207. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/not_found.py +0 -0
  208. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/password_policy.py +0 -0
  209. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/perm_and_username.py +0 -0
  210. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/quota.py +0 -0
  211. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/quota_exceeded.py +0 -0
  212. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/status_code_meaning.py +0 -0
  213. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/stream_entry.py +0 -0
  214. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/system_wide_license.py +0 -0
  215. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/text_entries.py +0 -0
  216. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/text_entry.py +0 -0
  217. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/time_span.py +0 -0
  218. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/time_span_pool_worker.py +0 -0
  219. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/token_forward_error.py +0 -0
  220. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/user.py +0 -0
  221. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/user_group_member.py +0 -0
  222. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/user_groups.py +0 -0
  223. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/vapid_info.py +0 -0
  224. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/webhook.py +0 -0
  225. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/models/webhook_parameterized_event.py +0 -0
  226. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/py.typed +0 -0
  227. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/engine/rest.py +0 -0
  228. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/magic/__init__.py +0 -0
  229. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/magic/gams_magic.py +0 -0
  230. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/magic/interactive.py +0 -0
  231. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/__init__.py +0 -0
  232. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/errors.py +0 -0
  233. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/toolcollection/__init__.py +0 -0
  234. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/toolcollection/alg/__init__.py +0 -0
  235. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/toolcollection/alg/rank.py +0 -0
  236. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/toolcollection/data/__init__.py +0 -0
  237. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/toolcollection/data/csvread.py +0 -0
  238. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/toolcollection/data/csvwrite.py +0 -0
  239. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/toolcollection/data/exceldump.py +0 -0
  240. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/toolcollection/data/sqlitewrite.py +0 -0
  241. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/toolcollection/gdxservice/__init__.py +0 -0
  242. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/toolcollection/gdxservice/gdxencoding.py +0 -0
  243. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/toolcollection/gdxservice/gdxrename.py +0 -0
  244. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/toolcollection/linalg/__init__.py +0 -0
  245. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/toolcollection/linalg/cholesky.py +0 -0
  246. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/toolcollection/linalg/eigenvalue.py +0 -0
  247. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/toolcollection/linalg/eigenvector.py +0 -0
  248. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/toolcollection/linalg/invert.py +0 -0
  249. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/toolcollection/linalg/ols.py +0 -0
  250. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/toolcollection/tooltemplate.py +0 -0
  251. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/toolcollection/win32/__init__.py +0 -0
  252. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/toolcollection/win32/excelmerge.py +0 -0
  253. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/toolcollection/win32/exceltalk.py +0 -0
  254. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/toolcollection/win32/msappavail.py +0 -0
  255. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/toolcollection/win32/shellexecute.py +0 -0
  256. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/tools/tools.py +0 -0
  257. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/__init__.py +0 -0
  258. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/_abcs/__init__.py +0 -0
  259. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/_abcs/container_abcs.py +0 -0
  260. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/_internals/__init__.py +0 -0
  261. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/_internals/_cache.py +0 -0
  262. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/_internals/casepreservingdict.py +0 -0
  263. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/_internals/constants.py +0 -0
  264. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/_internals/domainviolation.py +0 -0
  265. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/containers/__init__.py +0 -0
  266. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/containers/_io/__init__.py +0 -0
  267. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/containers/_io/containers.py +0 -0
  268. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/containers/_mixins/__init__.py +0 -0
  269. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/__init__.py +0 -0
  270. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/_methods/__init__.py +0 -0
  271. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/_methods/toDict.py +0 -0
  272. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/_methods/toList.py +0 -0
  273. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/_methods/toValue.py +0 -0
  274. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/_mixins/__init__.py +0 -0
  275. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/_mixins/sa.py +0 -0
  276. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/_mixins/sapve.py +0 -0
  277. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/_mixins/saua.py +0 -0
  278. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/_mixins/sauapve.py +0 -0
  279. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/container_syms/__init__.py +0 -0
  280. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/container_syms/_equation.py +0 -0
  281. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gams/transfer/syms/container_syms/_variable.py +0 -0
  282. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gamsapi.egg-info/SOURCES.txt +0 -0
  283. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gamsapi.egg-info/dependency_links.txt +0 -0
  284. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gamsapi.egg-info/requires.txt +11 -11
  285. {gamsapi-53.2.0 → gamsapi-53.3.0}/src/gamsapi.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gamsapi
3
- Version: 53.2.0
3
+ Version: 53.3.0
4
4
  Summary: GAMS Python API
5
5
  Home-page: https://www.gams.com/
6
6
  Author: GAMS Development Corporation
@@ -52,23 +52,23 @@ Provides-Extra: transfer
52
52
  Requires-Dist: pandas<3.1,>=2.2.2; extra == "transfer"
53
53
  Requires-Dist: scipy; extra == "transfer"
54
54
  Provides-Extra: all
55
- Requires-Dist: sqlalchemy; extra == "all"
56
- Requires-Dist: pyodbc; extra == "all"
57
- Requires-Dist: pymysql; extra == "all"
58
- Requires-Dist: urllib3; extra == "all"
59
- Requires-Dist: pyyaml; extra == "all"
60
- Requires-Dist: openpyxl>=3.1.0; extra == "all"
61
- Requires-Dist: cerberus; extra == "all"
62
- Requires-Dist: python_dateutil; extra == "all"
63
55
  Requires-Dist: ipython; extra == "all"
56
+ Requires-Dist: python_dateutil; extra == "all"
57
+ Requires-Dist: scipy; extra == "all"
64
58
  Requires-Dist: numpy; extra == "all"
59
+ Requires-Dist: ply; extra == "all"
60
+ Requires-Dist: psycopg2-binary; extra == "all"
61
+ Requires-Dist: pymysql; extra == "all"
65
62
  Requires-Dist: pymssql; extra == "all"
66
63
  Requires-Dist: pydantic; extra == "all"
67
- Requires-Dist: psycopg2-binary; extra == "all"
68
- Requires-Dist: ply; extra == "all"
69
- Requires-Dist: scipy; extra == "all"
64
+ Requires-Dist: urllib3; extra == "all"
65
+ Requires-Dist: pyodbc; extra == "all"
66
+ Requires-Dist: cerberus; extra == "all"
67
+ Requires-Dist: openpyxl>=3.1.0; extra == "all"
70
68
  Requires-Dist: certifi; extra == "all"
71
69
  Requires-Dist: pandas<3.1,>=2.2.2; extra == "all"
70
+ Requires-Dist: sqlalchemy; extra == "all"
71
+ Requires-Dist: pyyaml; extra == "all"
72
72
  Dynamic: author
73
73
  Dynamic: author-email
74
74
  Dynamic: classifier
gamsapi-53.3.0/VERSION ADDED
@@ -0,0 +1 @@
1
+ 53.3.0
@@ -0,0 +1 @@
1
+ __version__ = "53.3.0"
@@ -22,15 +22,17 @@
22
22
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
23
  # SOFTWARE.
24
24
  #
25
+ from __future__ import annotations
25
26
 
26
27
  import itertools
27
28
  import random
28
- import numpy as np
29
- import pandas as pd
30
29
  import gams.transfer._abcs as abcs
31
- from typing import Sequence, Tuple, Union, List, Optional, TYPE_CHECKING
30
+ from typing import Sequence, TYPE_CHECKING
32
31
 
33
32
  if TYPE_CHECKING:
33
+ import pandas as pd
34
+ import numpy as np
35
+
34
36
  from gams.transfer.syms import Set, Parameter, Variable, Equation
35
37
 
36
38
 
@@ -62,8 +64,8 @@ def check_all_same(iterable1: Sequence, iterable2: Sequence) -> bool:
62
64
 
63
65
 
64
66
  def get_keys_and_values(
65
- symobj: Union["Set", "Parameter", "Variable", "Equation"], mode: str
66
- ) -> Tuple[np.ndarray, np.ndarray]:
67
+ symobj: Set | Parameter | Variable | Equation, mode: str
68
+ ) -> tuple[np.ndarray, np.ndarray]:
67
69
  """
68
70
  Gets the keys and values of a specific symbol.
69
71
 
@@ -76,7 +78,7 @@ def get_keys_and_values(
76
78
 
77
79
  Returns
78
80
  -------
79
- Tuple[ndarray, ndarray]
81
+ tuple[ndarray, ndarray]
80
82
  The tuple includes the symbol's keys and values.
81
83
 
82
84
  Raises
@@ -84,6 +86,8 @@ def get_keys_and_values(
84
86
  ValueError
85
87
  If the given mode is niether 'string' nor 'category'.
86
88
  """
89
+ import numpy as np
90
+
87
91
  if symobj.records is None:
88
92
  if isinstance(symobj, abcs.ABCSet):
89
93
  arrkeys = np.full(
@@ -201,6 +205,8 @@ def convert_to_categoricals_str(
201
205
  -----
202
206
  - This function assumes that the lengths of `arrkeys` and `arrvals` are compatible.
203
207
  """
208
+ import pandas as pd
209
+
204
210
  has_domains = arrkeys.size > 0
205
211
  has_values = arrvals.size > 0
206
212
 
@@ -234,6 +240,8 @@ def convert_to_categoricals_str(
234
240
  def convert_to_categoricals_cat(
235
241
  arrkeys: np.ndarray, arrvals: np.ndarray, unique_uels: Sequence
236
242
  ) -> pd.DataFrame:
243
+ import pandas as pd
244
+
237
245
  has_domains = arrkeys.size > 0
238
246
  has_values = arrvals.size > 0
239
247
 
@@ -262,7 +270,7 @@ def convert_to_categoricals_cat(
262
270
  return df
263
271
 
264
272
 
265
- def generate_unique_labels(labels: Union[list, str]) -> List[str]:
273
+ def generate_unique_labels(labels: list | str) -> list[str]:
266
274
  """
267
275
  Generate unique labels from a list of labels.
268
276
 
@@ -273,7 +281,7 @@ def generate_unique_labels(labels: Union[list, str]) -> List[str]:
273
281
 
274
282
  Returns
275
283
  -------
276
- List[str]
284
+ list[str]
277
285
  A list of labels with uniqueness enforced. If the input list contains duplicates, this
278
286
  function appends numeric suffixes to make the labels unique. If the input is not a list,
279
287
  it is converted to a single-element list.
@@ -295,7 +303,7 @@ def generate_unique_labels(labels: Union[list, str]) -> List[str]:
295
303
  return labels
296
304
 
297
305
 
298
- def cartesian_product(*arrays: Tuple[np.ndarray]) -> np.ndarray:
306
+ def cartesian_product(*arrays: tuple[np.ndarray]) -> np.ndarray:
299
307
  """
300
308
  Calculate the Cartesian product of multiple input arrays.
301
309
 
@@ -305,7 +313,7 @@ def cartesian_product(*arrays: Tuple[np.ndarray]) -> np.ndarray:
305
313
 
306
314
  Parameters
307
315
  ----------
308
- *arrays : Tuple[ndarray]
316
+ *arrays : tuple[ndarray]
309
317
  Multiple input arrays for which the Cartesian product is calculated.
310
318
 
311
319
  Returns
@@ -339,6 +347,7 @@ def cartesian_product(*arrays: Tuple[np.ndarray]) -> np.ndarray:
339
347
  [2, 'B', 0.2]], dtype=object)
340
348
 
341
349
  """
350
+ import numpy as np
342
351
 
343
352
  la = len(arrays)
344
353
  dtype = np.result_type(*arrays)
@@ -353,7 +362,7 @@ def cartesian_product(*arrays: Tuple[np.ndarray]) -> np.ndarray:
353
362
  def choice_no_replace(
354
363
  choose_from: int,
355
364
  n_choose: int,
356
- seed: Optional[int] = None,
365
+ seed: int | None = None,
357
366
  ) -> np.ndarray:
358
367
  """
359
368
  Randomly select 'n_choose' unique items from a pool of 'choose_from' items without replacement.
@@ -398,6 +407,7 @@ def choice_no_replace(
398
407
  >>> choice_no_replace(100, 10, seed=42)
399
408
  array([8, 9, 19, 41, 60, 68, 71, 82, 94, 96])
400
409
  """
410
+ import numpy as np
401
411
 
402
412
  if not isinstance(seed, (int, type(None))):
403
413
  raise TypeError("Argument 'seed' must be type int or NoneType")
@@ -22,22 +22,25 @@
22
22
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
23
  # SOFTWARE.
24
24
  #
25
+ from __future__ import annotations
25
26
 
26
27
  import struct
27
- import numpy as np
28
- import pandas as pd
29
- from typing import Union
28
+ from typing import TYPE_CHECKING
30
29
 
30
+ if TYPE_CHECKING:
31
+ import pandas as pd
31
32
 
32
33
  class SpecialValues:
33
34
  NA = struct.unpack(">d", bytes.fromhex("fffffffffffffffe"))[0]
34
- _NA_INT64 = np.float64(NA).view(np.uint64)
35
35
  EPS = -0.0
36
36
  UNDEF = float("nan")
37
37
  POSINF = float("inf")
38
38
  NEGINF = float("-inf")
39
39
 
40
+ @staticmethod
40
41
  def _convertNPfloat64(records, sv_name):
42
+ import numpy as np
43
+
41
44
  if not (
42
45
  isinstance(records, np.ndarray) and np.issubdtype(records.dtype, np.float64)
43
46
  ):
@@ -51,7 +54,8 @@ class SpecialValues:
51
54
  ) from err
52
55
  return records
53
56
 
54
- def isEps(records: Union[int, float, str, pd.Series, pd.DataFrame]) -> bool:
57
+ @staticmethod
58
+ def isEps(records: int | float | str | pd.Series | pd.DataFrame) -> bool:
55
59
  """
56
60
  Check if the input records represent a value close to zero with specific considerations for different data types.
57
61
 
@@ -72,10 +76,13 @@ class SpecialValues:
72
76
  Exception
73
77
  If the data structure passed in 'records' could not be converted to a numpy array (dtype=float) for testing.
74
78
  """
79
+ import numpy as np
80
+
75
81
  records = SpecialValues._convertNPfloat64(records, "EPS")
76
82
  return (records == 0) & (np.signbit(records))
77
83
 
78
- def isNA(records: Union[int, float, str, pd.Series, pd.DataFrame]) -> bool:
84
+ @staticmethod
85
+ def isNA(records: int | float | str | pd.Series | pd.DataFrame) -> bool:
79
86
  """
80
87
  Check if values in records represent GAMS NA (Not Available) values.
81
88
 
@@ -96,10 +103,14 @@ class SpecialValues:
96
103
  Exception
97
104
  If the data structure passed in 'records' could not be converted to a numpy array (dtype=float) for testing.
98
105
  """
106
+ import numpy as np
107
+
108
+ _NA_INT64 = np.float64(SpecialValues.NA).view(np.uint64)
99
109
  records = SpecialValues._convertNPfloat64(records, "NA")
100
- return records.view(np.uint64) == SpecialValues._NA_INT64
110
+ return records.view(np.uint64) == _NA_INT64
101
111
 
102
- def isUndef(records: Union[int, float, str, pd.Series, pd.DataFrame]) -> bool:
112
+ @staticmethod
113
+ def isUndef(records: int | float | str | pd.Series | pd.DataFrame) -> bool:
103
114
  """
104
115
  Determine if the given input(s) represent GAMS "undef" values.
105
116
 
@@ -120,10 +131,14 @@ class SpecialValues:
120
131
  Exception
121
132
  If the data structure passed in 'records' could not be converted to a numpy array (dtype=float) for testing.
122
133
  """
134
+ import numpy as np
135
+
136
+ _NA_INT64 = np.float64(SpecialValues.NA).view(np.uint64)
123
137
  records = SpecialValues._convertNPfloat64(records, "UNDEF")
124
- return np.isnan(records) & (records.view(np.uint64) != SpecialValues._NA_INT64)
138
+ return np.isnan(records) & (records.view(np.uint64) != _NA_INT64)
125
139
 
126
- def isPosInf(records: Union[int, float, str, pd.Series, pd.DataFrame]) -> bool:
140
+ @staticmethod
141
+ def isPosInf(records: int | float | str | pd.Series | pd.DataFrame) -> bool:
127
142
  """
128
143
  Check if the input records represent positive infinity.
129
144
 
@@ -144,10 +159,13 @@ class SpecialValues:
144
159
  Exception
145
160
  If the data structure passed in 'records' could not be converted to a numpy array (dtype=float) for testing.
146
161
  """
162
+ import numpy as np
163
+
147
164
  records = SpecialValues._convertNPfloat64(records, "POSINF")
148
165
  return np.isposinf(records)
149
166
 
150
- def isNegInf(records: Union[int, float, str, pd.Series, pd.DataFrame]) -> bool:
167
+ @staticmethod
168
+ def isNegInf(records: int | float | str | pd.Series | pd.DataFrame) -> bool:
151
169
  """
152
170
  Check if the input records represent negative infinity.
153
171
 
@@ -168,5 +186,7 @@ class SpecialValues:
168
186
  Exception
169
187
  If the data structure passed in 'records' could not be converted to a numpy array (dtype=float) for testing.
170
188
  """
189
+ import numpy as np
190
+
171
191
  records = SpecialValues._convertNPfloat64(records, "NEGINF")
172
192
  return np.isneginf(records)