res2df 1.2.0__tar.gz → 1.2.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.
Files changed (256) hide show
  1. {res2df-1.2.0 → res2df-1.2.1}/PKG-INFO +2 -1
  2. res2df-1.2.1/SECURITY.md +16 -0
  3. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/rft.rst +1 -1
  4. {res2df-1.2.0 → res2df-1.2.1}/res2df/summary.py +3 -2
  5. {res2df-1.2.0 → res2df-1.2.1}/res2df/version.py +2 -2
  6. {res2df-1.2.0 → res2df-1.2.1}/res2df.egg-info/PKG-INFO +2 -1
  7. {res2df-1.2.0 → res2df-1.2.1}/res2df.egg-info/SOURCES.txt +1 -0
  8. {res2df-1.2.0 → res2df-1.2.1}/res2df.egg-info/requires.txt +1 -0
  9. {res2df-1.2.0 → res2df-1.2.1}/test_requirements.txt +1 -0
  10. {res2df-1.2.0 → res2df-1.2.1}/tests/test_summary.py +18 -0
  11. {res2df-1.2.0 → res2df-1.2.1}/.codacy.yml +0 -0
  12. {res2df-1.2.0 → res2df-1.2.1}/.github/workflows/codecov.yml +0 -0
  13. {res2df-1.2.0 → res2df-1.2.1}/.github/workflows/res2df.yml +0 -0
  14. {res2df-1.2.0 → res2df-1.2.1}/.github/workflows/style.yml +0 -0
  15. {res2df-1.2.0 → res2df-1.2.1}/.github/workflows/typing.yml +0 -0
  16. {res2df-1.2.0 → res2df-1.2.1}/.gitignore +0 -0
  17. {res2df-1.2.0 → res2df-1.2.1}/.pre-commit-config.yaml +0 -0
  18. {res2df-1.2.0 → res2df-1.2.1}/LICENSE +0 -0
  19. {res2df-1.2.0 → res2df-1.2.1}/README.md +0 -0
  20. {res2df-1.2.0 → res2df-1.2.1}/ci/testkomodo.sh +0 -0
  21. {res2df-1.2.0 → res2df-1.2.1}/docs/_static/equinor-logo.png +0 -0
  22. {res2df-1.2.0 → res2df-1.2.1}/docs/_static/equinor-logo2.jpg +0 -0
  23. {res2df-1.2.0 → res2df-1.2.1}/docs/_static/equinor_logo.jpg +0 -0
  24. {res2df-1.2.0 → res2df-1.2.1}/docs/_static/equinor_logo_only.jpg +0 -0
  25. {res2df-1.2.0 → res2df-1.2.1}/docs/_templates/layout.html +0 -0
  26. {res2df-1.2.0 → res2df-1.2.1}/docs/conf.py +0 -0
  27. {res2df-1.2.0 → res2df-1.2.1}/docs/contribution.rst +0 -0
  28. {res2df-1.2.0 → res2df-1.2.1}/docs/csv2res.rst +0 -0
  29. {res2df-1.2.0 → res2df-1.2.1}/docs/glossary.rst +0 -0
  30. {res2df-1.2.0 → res2df-1.2.1}/docs/history.rst +0 -0
  31. {res2df-1.2.0 → res2df-1.2.1}/docs/index.rst +0 -0
  32. {res2df-1.2.0 → res2df-1.2.1}/docs/installation.rst +0 -0
  33. {res2df-1.2.0 → res2df-1.2.1}/docs/introduction.rst +0 -0
  34. {res2df-1.2.0 → res2df-1.2.1}/docs/res2csv.rst +0 -0
  35. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/compdat.csv +0 -0
  36. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/compdat.rst +0 -0
  37. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/equil-example.csv +0 -0
  38. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/equil.rst +0 -0
  39. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/fipnum.inc +0 -0
  40. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/fipreports-example.csv +0 -0
  41. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/fipreports-example.txt +0 -0
  42. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/fipreports.rst +0 -0
  43. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/grid.csv +0 -0
  44. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/grid.rst +0 -0
  45. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/gruptree.csv +0 -0
  46. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/gruptree.rst +0 -0
  47. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/gruptreenet.csv +0 -0
  48. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/images/injectoranalysis.png +0 -0
  49. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/images/multibranch-rftanalysis.png +0 -0
  50. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/nnc.csv +0 -0
  51. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/nnc.rst +0 -0
  52. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/outflow.csv +0 -0
  53. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/pillars-dyn1-stacked.csv +0 -0
  54. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/pillars-dyn1-unstacked.csv +0 -0
  55. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/pillars-example1.csv +0 -0
  56. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/pillars.rst +0 -0
  57. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/pvt.csv +0 -0
  58. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/pvt.rst +0 -0
  59. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/rft_columns.csv +0 -0
  60. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/satfunc.csv +0 -0
  61. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/satfunc.rst +0 -0
  62. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/summary.csv +0 -0
  63. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/summary.rst +0 -0
  64. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/trans-boundaries.csv +0 -0
  65. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/trans-group.csv +0 -0
  66. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/trans.rst +0 -0
  67. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/trans1.csv +0 -0
  68. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/wcon.csv +0 -0
  69. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/wcon.rst +0 -0
  70. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/well_connection_status.csv +0 -0
  71. {res2df-1.2.0 → res2df-1.2.1}/docs/usage/wellconnstatus.rst +0 -0
  72. {res2df-1.2.0 → res2df-1.2.1}/docs/usage.rst +0 -0
  73. {res2df-1.2.0 → res2df-1.2.1}/mypy.ini +0 -0
  74. {res2df-1.2.0 → res2df-1.2.1}/py.typed +0 -0
  75. {res2df-1.2.0 → res2df-1.2.1}/res2df/__init__.py +0 -0
  76. {res2df-1.2.0 → res2df-1.2.1}/res2df/__version__.py +0 -0
  77. {res2df-1.2.0 → res2df-1.2.1}/res2df/common.py +0 -0
  78. {res2df-1.2.0 → res2df-1.2.1}/res2df/compdat.py +0 -0
  79. {res2df-1.2.0 → res2df-1.2.1}/res2df/config_jobs/CSV2RES +0 -0
  80. {res2df-1.2.0 → res2df-1.2.1}/res2df/config_jobs/RES2CSV +0 -0
  81. {res2df-1.2.0 → res2df-1.2.1}/res2df/constants.py +0 -0
  82. {res2df-1.2.0 → res2df-1.2.1}/res2df/csv2res.py +0 -0
  83. {res2df-1.2.0 → res2df-1.2.1}/res2df/equil.py +0 -0
  84. {res2df-1.2.0 → res2df-1.2.1}/res2df/faults.py +0 -0
  85. {res2df-1.2.0 → res2df-1.2.1}/res2df/fipreports.py +0 -0
  86. {res2df-1.2.0 → res2df-1.2.1}/res2df/grid.py +0 -0
  87. {res2df-1.2.0 → res2df-1.2.1}/res2df/gruptree.py +0 -0
  88. {res2df-1.2.0 → res2df-1.2.1}/res2df/hook_implementations/__init__.py +0 -0
  89. {res2df-1.2.0 → res2df-1.2.1}/res2df/hook_implementations/jobs.py +0 -0
  90. {res2df-1.2.0 → res2df-1.2.1}/res2df/inferdims.py +0 -0
  91. {res2df-1.2.0 → res2df-1.2.1}/res2df/nnc.py +0 -0
  92. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/BRANPROP +0 -0
  93. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/COMPDAT +0 -0
  94. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/COMPLUMP +0 -0
  95. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/COMPSEGS +0 -0
  96. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/DENSITY +0 -0
  97. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/EQLDIMS +0 -0
  98. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/EQUIL +0 -0
  99. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/FAULTS +0 -0
  100. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/GRUPNET +0 -0
  101. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/GRUPTREE +0 -0
  102. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/NODEPROP +0 -0
  103. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/PBVD +0 -0
  104. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/PDVD +0 -0
  105. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/PVDG +0 -0
  106. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/PVDO +0 -0
  107. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/PVTG +0 -0
  108. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/PVTO +0 -0
  109. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/PVTW +0 -0
  110. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/ROCK +0 -0
  111. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/RSVD +0 -0
  112. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/RVVD +0 -0
  113. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/SGFN +0 -0
  114. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/SGOF +0 -0
  115. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/SGWFN +0 -0
  116. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/SLGOF +0 -0
  117. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/SOF2 +0 -0
  118. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/SOF3 +0 -0
  119. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/SWFN +0 -0
  120. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/SWOF +0 -0
  121. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/TABDIMS +0 -0
  122. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/VFPINJ +0 -0
  123. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/VFPPROD +0 -0
  124. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/WCONHIST +0 -0
  125. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/WCONINJE +0 -0
  126. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/WCONINJH +0 -0
  127. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/WCONPROD +0 -0
  128. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/WELOPEN +0 -0
  129. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/WELSEGS +0 -0
  130. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/WELSPECS +0 -0
  131. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/WLIST +0 -0
  132. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/WSEGAICD +0 -0
  133. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/WSEGSICD +0 -0
  134. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/WSEGVALV +0 -0
  135. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/readme +0 -0
  136. {res2df-1.2.0 → res2df-1.2.1}/res2df/opmkeywords/runmetoupdate.sh +0 -0
  137. {res2df-1.2.0 → res2df-1.2.1}/res2df/parameters.py +0 -0
  138. {res2df-1.2.0 → res2df-1.2.1}/res2df/pillars.py +0 -0
  139. {res2df-1.2.0 → res2df-1.2.1}/res2df/pvt.py +0 -0
  140. {res2df-1.2.0 → res2df-1.2.1}/res2df/res2csv.py +0 -0
  141. {res2df-1.2.0 → res2df-1.2.1}/res2df/res2csvlogger.py +0 -0
  142. {res2df-1.2.0 → res2df-1.2.1}/res2df/resdatafiles.py +0 -0
  143. {res2df-1.2.0 → res2df-1.2.1}/res2df/rft.py +0 -0
  144. {res2df-1.2.0 → res2df-1.2.1}/res2df/satfunc.py +0 -0
  145. {res2df-1.2.0 → res2df-1.2.1}/res2df/svg_color_keyword_names.txt +0 -0
  146. {res2df-1.2.0 → res2df-1.2.1}/res2df/trans.py +0 -0
  147. {res2df-1.2.0 → res2df-1.2.1}/res2df/vfp/__init__.py +0 -0
  148. {res2df-1.2.0 → res2df-1.2.1}/res2df/vfp/_vfp.py +0 -0
  149. {res2df-1.2.0 → res2df-1.2.1}/res2df/vfp/_vfpcommon.py +0 -0
  150. {res2df-1.2.0 → res2df-1.2.1}/res2df/vfp/_vfpdefs.py +0 -0
  151. {res2df-1.2.0 → res2df-1.2.1}/res2df/vfp/_vfpinj.py +0 -0
  152. {res2df-1.2.0 → res2df-1.2.1}/res2df/vfp/_vfpprod.py +0 -0
  153. {res2df-1.2.0 → res2df-1.2.1}/res2df/wcon.py +0 -0
  154. {res2df-1.2.0 → res2df-1.2.1}/res2df/wellcompletiondata.py +0 -0
  155. {res2df-1.2.0 → res2df-1.2.1}/res2df/wellconnstatus.py +0 -0
  156. {res2df-1.2.0 → res2df-1.2.1}/res2df.egg-info/dependency_links.txt +0 -0
  157. {res2df-1.2.0 → res2df-1.2.1}/res2df.egg-info/entry_points.txt +0 -0
  158. {res2df-1.2.0 → res2df-1.2.1}/res2df.egg-info/not-zip-safe +0 -0
  159. {res2df-1.2.0 → res2df-1.2.1}/res2df.egg-info/top_level.txt +0 -0
  160. {res2df-1.2.0 → res2df-1.2.1}/ruff.toml +0 -0
  161. {res2df-1.2.0 → res2df-1.2.1}/setup.cfg +0 -0
  162. {res2df-1.2.0 → res2df-1.2.1}/setup.py +0 -0
  163. {res2df-1.2.0 → res2df-1.2.1}/tests/__init__.py +0 -0
  164. {res2df-1.2.0 → res2df-1.2.1}/tests/conftest.py +0 -0
  165. {res2df-1.2.0 → res2df-1.2.1}/tests/data/eightcells/EIGHTCELLS.DATA +0 -0
  166. {res2df-1.2.0 → res2df-1.2.1}/tests/data/eightcells/EIGHTCELLS.EGRID +0 -0
  167. {res2df-1.2.0 → res2df-1.2.1}/tests/data/eightcells/EIGHTCELLS.INIT +0 -0
  168. {res2df-1.2.0 → res2df-1.2.1}/tests/data/eightcells/EIGHTCELLS.INSPEC +0 -0
  169. {res2df-1.2.0 → res2df-1.2.1}/tests/data/eightcells/EIGHTCELLS.PRT +0 -0
  170. {res2df-1.2.0 → res2df-1.2.1}/tests/data/eightcells/EIGHTCELLS.RFT +0 -0
  171. {res2df-1.2.0 → res2df-1.2.1}/tests/data/eightcells/EIGHTCELLS.RSSPEC +0 -0
  172. {res2df-1.2.0 → res2df-1.2.1}/tests/data/eightcells/EIGHTCELLS.SMSPEC +0 -0
  173. {res2df-1.2.0 → res2df-1.2.1}/tests/data/eightcells/EIGHTCELLS.UNRST +0 -0
  174. {res2df-1.2.0 → res2df-1.2.1}/tests/data/eightcells/EIGHTCELLS.UNSMRY +0 -0
  175. {res2df-1.2.0 → res2df-1.2.1}/tests/data/eightcells/eightcells_duplicated_summary_vector/EIGHTCELLS_DUPES.DATA +0 -0
  176. {res2df-1.2.0 → res2df-1.2.1}/tests/data/eightcells/eightcells_duplicated_summary_vector/EIGHTCELLS_DUPES.SMSPEC +0 -0
  177. {res2df-1.2.0 → res2df-1.2.1}/tests/data/eightcells/eightcells_duplicated_summary_vector/EIGHTCELLS_DUPES.UNSMRY +0 -0
  178. {res2df-1.2.0 → res2df-1.2.1}/tests/data/eightcells/zones.lyr +0 -0
  179. {res2df-1.2.0 → res2df-1.2.1}/tests/data/fipreports/TEST1.PRT +0 -0
  180. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/include/grid/reek.faults +0 -0
  181. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/include/grid/reek.grid +0 -0
  182. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/include/grid/reek.multflt +0 -0
  183. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/include/grid/reek.multz +0 -0
  184. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/include/grid/reek.perm +0 -0
  185. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/include/grid/reek.poro +0 -0
  186. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/include/props/let-sgof.txt +0 -0
  187. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/include/props/let-swof.txt +0 -0
  188. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/include/props/reek.endpoints +0 -0
  189. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/include/props/reek.pvt +0 -0
  190. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/include/props/reek.swatinit +0 -0
  191. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/include/props/sgof.txt +0 -0
  192. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/include/props/swof.inc +0 -0
  193. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/include/props/swof.txt +0 -0
  194. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/include/regions/reek.eqlnum +0 -0
  195. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/include/regions/reek.fipnum +0 -0
  196. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/include/schedule/op6_aicd1_gp.sch +0 -0
  197. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/include/schedule/op6_icd1_gp.sch +0 -0
  198. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/include/schedule/op6_valve1_gp.sch +0 -0
  199. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/include/schedule/reek_history.sch +0 -0
  200. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/include/solution/reek.equil +0 -0
  201. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/include/summary/reek.smry +0 -0
  202. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/model/2_R001_REEK-0-OPMFLOW.PRT +0 -0
  203. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.DATA +0 -0
  204. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.ECLEND +0 -0
  205. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.EGRID +0 -0
  206. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.INIT +0 -0
  207. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.LOG +0 -0
  208. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.PRT +0 -0
  209. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.RFT +0 -0
  210. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.SMSPEC +0 -0
  211. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.UNRST +0 -0
  212. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/model/2_R001_REEK-0.UNSMRY +0 -0
  213. {res2df-1.2.0 → res2df-1.2.1}/tests/data/reek/eclipse/model/zones.lyr +0 -0
  214. {res2df-1.2.0 → res2df-1.2.1}/tests/data/timesteps/SHORT_STEP.DATA +0 -0
  215. {res2df-1.2.0 → res2df-1.2.1}/tests/data/timesteps/SHORT_STEP.SMSPEC +0 -0
  216. {res2df-1.2.0 → res2df-1.2.1}/tests/data/timesteps/SHORT_STEP.UNSMRY +0 -0
  217. {res2df-1.2.0 → res2df-1.2.1}/tests/data/timesteps/SHORT_STEP_LONG.DATA +0 -0
  218. {res2df-1.2.0 → res2df-1.2.1}/tests/data/timesteps/SHORT_STEP_LONG.SMSPEC +0 -0
  219. {res2df-1.2.0 → res2df-1.2.1}/tests/data/timesteps/SHORT_STEP_LONG.UNSMRY +0 -0
  220. {res2df-1.2.0 → res2df-1.2.1}/tests/data/timesteps/SHORT_STEP_WITH_TIMESTEP.DATA +0 -0
  221. {res2df-1.2.0 → res2df-1.2.1}/tests/data/timesteps/SHORT_STEP_WITH_TIMESTEP.SMSPEC +0 -0
  222. {res2df-1.2.0 → res2df-1.2.1}/tests/data/timesteps/SHORT_STEP_WITH_TIMESTEP.UNSMRY +0 -0
  223. {res2df-1.2.0 → res2df-1.2.1}/tests/data/timesteps/SHORT_STEP_WITH_TIMESTEP_LONG.DATA +0 -0
  224. {res2df-1.2.0 → res2df-1.2.1}/tests/data/timesteps/SHORT_STEP_WITH_TIMESTEP_LONG.SMSPEC +0 -0
  225. {res2df-1.2.0 → res2df-1.2.1}/tests/data/timesteps/SHORT_STEP_WITH_TIMESTEP_LONG.UNSMRY +0 -0
  226. {res2df-1.2.0 → res2df-1.2.1}/tests/test_common.py +0 -0
  227. {res2df-1.2.0 → res2df-1.2.1}/tests/test_compdat.py +0 -0
  228. {res2df-1.2.0 → res2df-1.2.1}/tests/test_eclfiles.py +0 -0
  229. {res2df-1.2.0 → res2df-1.2.1}/tests/test_equil.py +0 -0
  230. {res2df-1.2.0 → res2df-1.2.1}/tests/test_ert_hooks.py +0 -0
  231. {res2df-1.2.0 → res2df-1.2.1}/tests/test_faults.py +0 -0
  232. {res2df-1.2.0 → res2df-1.2.1}/tests/test_fipreports.py +0 -0
  233. {res2df-1.2.0 → res2df-1.2.1}/tests/test_grid.py +0 -0
  234. {res2df-1.2.0 → res2df-1.2.1}/tests/test_gruptree.py +0 -0
  235. {res2df-1.2.0 → res2df-1.2.1}/tests/test_hook_implementations.py +0 -0
  236. {res2df-1.2.0 → res2df-1.2.1}/tests/test_inferdims.py +0 -0
  237. {res2df-1.2.0 → res2df-1.2.1}/tests/test_init.py +0 -0
  238. {res2df-1.2.0 → res2df-1.2.1}/tests/test_integration.py +0 -0
  239. {res2df-1.2.0 → res2df-1.2.1}/tests/test_logging.py +0 -0
  240. {res2df-1.2.0 → res2df-1.2.1}/tests/test_nnc.py +0 -0
  241. {res2df-1.2.0 → res2df-1.2.1}/tests/test_parameters.py +0 -0
  242. {res2df-1.2.0 → res2df-1.2.1}/tests/test_pillars.py +0 -0
  243. {res2df-1.2.0 → res2df-1.2.1}/tests/test_pvt.py +0 -0
  244. {res2df-1.2.0 → res2df-1.2.1}/tests/test_rft.py +0 -0
  245. {res2df-1.2.0 → res2df-1.2.1}/tests/test_satfunc.py +0 -0
  246. {res2df-1.2.0 → res2df-1.2.1}/tests/test_summary_restarts.py +0 -0
  247. {res2df-1.2.0 → res2df-1.2.1}/tests/test_trans.py +0 -0
  248. {res2df-1.2.0 → res2df-1.2.1}/tests/test_userapi.py +0 -0
  249. {res2df-1.2.0 → res2df-1.2.1}/tests/test_vfp.py +0 -0
  250. {res2df-1.2.0 → res2df-1.2.1}/tests/test_wcon.py +0 -0
  251. {res2df-1.2.0 → res2df-1.2.1}/tests/test_wellcompletiondata.py +0 -0
  252. {res2df-1.2.0 → res2df-1.2.1}/tests/test_wellconnstatus.py +0 -0
  253. {res2df-1.2.0 → res2df-1.2.1}/tests/test_welopen.py +0 -0
  254. {res2df-1.2.0 → res2df-1.2.1}/tests/test_wlist.py +0 -0
  255. {res2df-1.2.0 → res2df-1.2.1}/tests/test_zonemap.py +0 -0
  256. {res2df-1.2.0 → res2df-1.2.1}/types_requirements.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: res2df
3
- Version: 1.2.0
3
+ Version: 1.2.1
4
4
  Summary: Convert reservoir simulator input and output to DataFrames
5
5
  Home-page: http://github.com/equinor/res2df
6
6
  Author: Håvard Berland
@@ -21,6 +21,7 @@ Requires-Dist: networkx; extra == "tests"
21
21
  Requires-Dist: pytest; extra == "tests"
22
22
  Requires-Dist: pytest-cov; extra == "tests"
23
23
  Requires-Dist: pytest-mock; extra == "tests"
24
+ Requires-Dist: pytest-timeout; extra == "tests"
24
25
  Provides-Extra: style
25
26
  Requires-Dist: pre-commit; extra == "style"
26
27
  Provides-Extra: types
@@ -0,0 +1,16 @@
1
+ If you discover a security vulnerability in this project, please follow these steps to responsibly disclose it:
2
+
3
+ 1. **Do not** create a public GitHub issue for the vulnerability.
4
+ 2. Follow our guideline for Responsible Disclosure Policy at [https://www.equinor.com/about-us/csirt](https://www.equinor.com/about-us/csirt) to report the issue
5
+
6
+ The following information will help us triage your report more quickly:
7
+
8
+ - Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
9
+ - Full paths of source file(s) related to the manifestation of the issue
10
+ - The location of the affected source code (tag/branch/commit or direct URL)
11
+ - Any special configuration required to reproduce the issue
12
+ - Step-by-step instructions to reproduce the issue
13
+ - Proof-of-concept or exploit code (if possible)
14
+ - Impact of the issue, including how an attacker might exploit the issue
15
+
16
+ We prefer all communications to be in English.
@@ -20,7 +20,7 @@ Eclipse usage
20
20
  ^^^^^^^^^^^^^
21
21
 
22
22
  In order to get RFT files emitted from Eclipse, you need the ``WRFTPLT`` keyword
23
- in your :term`.DATA file`, example:
23
+ in your :term:`.DATA file`, example:
24
24
 
25
25
  .. code-block:: console
26
26
 
@@ -499,7 +499,8 @@ def _df2pyarrow(dframe: pd.DataFrame) -> pyarrow.Table:
499
499
  field_list.append(pyarrow.field("DATE", pyarrow.timestamp("ms")))
500
500
  column_arrays = [dframe.index.to_numpy().astype("datetime64[ms]")]
501
501
 
502
- for colname in dframe.columns:
502
+ dframe_values = dframe.values.transpose()
503
+ for col_idx, colname in enumerate(dframe.columns):
503
504
  if "meta" in dframe.attrs and colname in dframe.attrs["meta"]:
504
505
  # Boolean objects in the metadata dictionary must be converted to bytes:
505
506
  field_metadata = {
@@ -516,7 +517,7 @@ def _df2pyarrow(dframe: pd.DataFrame) -> pyarrow.Table:
516
517
  else:
517
518
  dtype = pyarrow.float32()
518
519
  field_list.append(pyarrow.field(colname, dtype, metadata=field_metadata))
519
- column_arrays.append(dframe[colname].to_numpy())
520
+ column_arrays.append(dframe_values[col_idx])
520
521
 
521
522
  schema = pyarrow.schema(field_list)
522
523
 
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '1.2.0'
16
- __version_tuple__ = version_tuple = (1, 2, 0)
15
+ __version__ = version = '1.2.1'
16
+ __version_tuple__ = version_tuple = (1, 2, 1)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: res2df
3
- Version: 1.2.0
3
+ Version: 1.2.1
4
4
  Summary: Convert reservoir simulator input and output to DataFrames
5
5
  Home-page: http://github.com/equinor/res2df
6
6
  Author: Håvard Berland
@@ -21,6 +21,7 @@ Requires-Dist: networkx; extra == "tests"
21
21
  Requires-Dist: pytest; extra == "tests"
22
22
  Requires-Dist: pytest-cov; extra == "tests"
23
23
  Requires-Dist: pytest-mock; extra == "tests"
24
+ Requires-Dist: pytest-timeout; extra == "tests"
24
25
  Provides-Extra: style
25
26
  Requires-Dist: pre-commit; extra == "style"
26
27
  Provides-Extra: types
@@ -3,6 +3,7 @@
3
3
  .pre-commit-config.yaml
4
4
  LICENSE
5
5
  README.md
6
+ SECURITY.md
6
7
  mypy.ini
7
8
  py.typed
8
9
  ruff.toml
@@ -27,6 +27,7 @@ networkx
27
27
  pytest
28
28
  pytest-cov
29
29
  pytest-mock
30
+ pytest-timeout
30
31
 
31
32
  [types]
32
33
  mypy
@@ -2,3 +2,4 @@ networkx
2
2
  pytest
3
3
  pytest-cov
4
4
  pytest-mock
5
+ pytest-timeout
@@ -1108,6 +1108,24 @@ def test_df2pyarrow_mix_int_float():
1108
1108
  pd.testing.assert_frame_equal(dframe, pyat_df[["FOO", "BAR"]])
1109
1109
 
1110
1110
 
1111
+ @pytest.mark.timeout(10)
1112
+ def test_df2pyarrow_10000cols():
1113
+ """Summary files with thousands of columns should not be an issue"""
1114
+ columncount = 10000
1115
+ dateindex = [dt(2024, 1, 1, 0, 0, 0), dt(2025, 1, 1, 0, 0, 0)]
1116
+ dframe = pd.DataFrame(
1117
+ columns=[f"FOO{num}" for num in range(columncount)],
1118
+ index=dateindex,
1119
+ data=[[1] * columncount, [2] * columncount],
1120
+ ).astype("int32")
1121
+ dframe.attrs["meta"] = {f"FOO{num}": {"unit": "barf"} for num in range(columncount)}
1122
+ pyat = _df2pyarrow(dframe)
1123
+ for num in range(columncount):
1124
+ assert pyat.select([f"FOO{num}"]).schema[0].metadata == {
1125
+ b"unit": b"barf",
1126
+ }
1127
+
1128
+
1111
1129
  def test_df2pyarrow_500years():
1112
1130
  """Summary files can have DATE columns with timespans outside the
1113
1131
  Pandas dataframe nanosecond limitation. This should not present
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
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
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
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
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