myokit 1.37.1__tar.gz → 1.37.3__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 (416) hide show
  1. {myokit-1.37.1 → myokit-1.37.3}/LICENSE.txt +1 -1
  2. {myokit-1.37.1/myokit.egg-info → myokit-1.37.3}/PKG-INFO +17 -2
  3. {myokit-1.37.1 → myokit-1.37.3}/myokit/__init__.py +2 -2
  4. {myokit-1.37.1 → myokit-1.37.3}/myokit/_datalog.py +15 -6
  5. {myokit-1.37.1 → myokit-1.37.3}/myokit/_myokit_version.py +1 -1
  6. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/cvodessim.py +3 -3
  7. {myokit-1.37.1 → myokit-1.37.3}/myokit/_unit.py +48 -40
  8. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/heka/__init__.py +4 -0
  9. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/heka/_patchmaster.py +128 -100
  10. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/sbml/__init__.py +21 -1
  11. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/sbml/_api.py +160 -6
  12. myokit-1.37.3/myokit/formats/sbml/_exporter.py +53 -0
  13. myokit-1.37.3/myokit/formats/sbml/_writer.py +355 -0
  14. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_formats_exporters_run.py +3 -0
  15. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_formats_sbml.py +57 -1
  16. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_quantity.py +2 -2
  17. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_sbml_api.py +90 -0
  18. myokit-1.37.3/myokit/tests/test_sbml_export.py +327 -0
  19. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_unit.py +28 -7
  20. {myokit-1.37.1 → myokit-1.37.3/myokit.egg-info}/PKG-INFO +17 -2
  21. {myokit-1.37.1 → myokit-1.37.3}/myokit.egg-info/SOURCES.txt +3 -0
  22. {myokit-1.37.1 → myokit-1.37.3}/MANIFEST.in +0 -0
  23. {myokit-1.37.1 → myokit-1.37.3}/README.md +0 -0
  24. {myokit-1.37.1 → myokit-1.37.3}/myokit/__main__.py +0 -0
  25. {myokit-1.37.1 → myokit-1.37.3}/myokit/_aux.py +0 -0
  26. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/example.mmt +0 -0
  27. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/find.png +0 -0
  28. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/icon-datablock-viewer-128.xpm +0 -0
  29. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/icon-datablock-viewer-16.xpm +0 -0
  30. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/icon-datablock-viewer-24.xpm +0 -0
  31. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/icon-datablock-viewer-256.xpm +0 -0
  32. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/icon-datablock-viewer-32.xpm +0 -0
  33. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/icon-datablock-viewer-48.xpm +0 -0
  34. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/icon-datablock-viewer-64.xpm +0 -0
  35. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/icon-datablock-viewer-96.xpm +0 -0
  36. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/icon-datablock-viewer.ico +0 -0
  37. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/icon-datablock-viewer.png +0 -0
  38. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/icon-ide-128.xpm +0 -0
  39. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/icon-ide-16.xpm +0 -0
  40. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/icon-ide-24.xpm +0 -0
  41. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/icon-ide-256.xpm +0 -0
  42. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/icon-ide-32.xpm +0 -0
  43. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/icon-ide-48.xpm +0 -0
  44. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/icon-ide-64.xpm +0 -0
  45. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/icon-ide-96.xpm +0 -0
  46. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/icon-ide.ico +0 -0
  47. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/icon-ide.png +0 -0
  48. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/new.png +0 -0
  49. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/open.png +0 -0
  50. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/redo.png +0 -0
  51. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/run.png +0 -0
  52. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/save.png +0 -0
  53. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/gui/undo.png +0 -0
  54. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/install-lin/myokit-datablock-viewer.desktop +0 -0
  55. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/install-lin/myokit-datalog-viewer.desktop +0 -0
  56. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/install-lin/myokit-ide.desktop +0 -0
  57. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/install-lin/myokit.lang +0 -0
  58. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/install-lin/x-abf.xml +0 -0
  59. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/install-lin/x-cellml.xml +0 -0
  60. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/install-lin/x-myokit.xml +0 -0
  61. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/install-lin/x-wcp.xml +0 -0
  62. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/install-win/menu.json +0 -0
  63. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/LICENSE +0 -0
  64. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/cvodes/cvodes.h +0 -0
  65. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/cvodes/cvodes_direct.h +0 -0
  66. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/cvodes/cvodes_ls.h +0 -0
  67. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/nvector/nvector_serial.h +0 -0
  68. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sundials/sundials_config.h +0 -0
  69. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sundials/sundials_dense.h +0 -0
  70. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sundials/sundials_direct.h +0 -0
  71. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sundials/sundials_export.h +0 -0
  72. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sundials/sundials_iterative.h +0 -0
  73. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sundials/sundials_linearsolver.h +0 -0
  74. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sundials/sundials_matrix.h +0 -0
  75. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sundials/sundials_nonlinearsolver.h +0 -0
  76. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sundials/sundials_nvector.h +0 -0
  77. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sundials/sundials_types.h +0 -0
  78. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sundials/sundials_version.h +0 -0
  79. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sunlinsol/sunlinsol_dense.h +0 -0
  80. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sunmatrix/sunmatrix_dense.h +0 -0
  81. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/lib/sundials_cvodes.dll +0 -0
  82. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/lib/sundials_cvodes.lib +0 -0
  83. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/lib/sundials_nvecserial.dll +0 -0
  84. {myokit-1.37.1 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/lib/sundials_nvecserial.lib +0 -0
  85. {myokit-1.37.1 → myokit-1.37.3}/myokit/_config.py +0 -0
  86. {myokit-1.37.1 → myokit-1.37.3}/myokit/_datablock.py +0 -0
  87. {myokit-1.37.1 → myokit-1.37.3}/myokit/_err.py +0 -0
  88. {myokit-1.37.1 → myokit-1.37.3}/myokit/_expressions.py +0 -0
  89. {myokit-1.37.1 → myokit-1.37.3}/myokit/_io.py +0 -0
  90. {myokit-1.37.1 → myokit-1.37.3}/myokit/_model_api.py +0 -0
  91. {myokit-1.37.1 → myokit-1.37.3}/myokit/_parsing.py +0 -0
  92. {myokit-1.37.1 → myokit-1.37.3}/myokit/_progress.py +0 -0
  93. {myokit-1.37.1 → myokit-1.37.3}/myokit/_protocol.py +0 -0
  94. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/__init__.py +0 -0
  95. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/cable.c +0 -0
  96. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/cable.py +0 -0
  97. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/cmodel.h +0 -0
  98. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/cmodel.py +0 -0
  99. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/compiler.c +0 -0
  100. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/compiler.py +0 -0
  101. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/cvodessim.c +0 -0
  102. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/differential.hpp +0 -0
  103. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/fiber_tissue.c +0 -0
  104. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/fiber_tissue.py +0 -0
  105. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/jacobian.cpp +0 -0
  106. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/jacobian.py +0 -0
  107. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/mcl.h +0 -0
  108. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/opencl.c +0 -0
  109. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/opencl.py +0 -0
  110. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/openclsim.c +0 -0
  111. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/openclsim.cl +0 -0
  112. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/openclsim.py +0 -0
  113. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/pacing.h +0 -0
  114. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/rhs.c +0 -0
  115. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/rhs.py +0 -0
  116. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/sundials.c +0 -0
  117. {myokit-1.37.1 → myokit-1.37.3}/myokit/_sim/sundials.py +0 -0
  118. {myokit-1.37.1 → myokit-1.37.3}/myokit/_system.py +0 -0
  119. {myokit-1.37.1 → myokit-1.37.3}/myokit/float.py +0 -0
  120. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/__init__.py +0 -0
  121. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/ansic/__init__.py +0 -0
  122. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/ansic/_ewriter.py +0 -0
  123. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/ansic/_exporter.py +0 -0
  124. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/ansic/template/cable.c +0 -0
  125. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/ansic/template/euler.c +0 -0
  126. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/ansic/template/sim.c +0 -0
  127. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/axon/__init__.py +0 -0
  128. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/axon/_abf.py +0 -0
  129. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/axon/_atf.py +0 -0
  130. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/axon/_importer.py +0 -0
  131. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/cellml/__init__.py +0 -0
  132. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/cellml/_ewriter.py +0 -0
  133. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/cellml/_exporter.py +0 -0
  134. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/cellml/_importer.py +0 -0
  135. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/cellml/v1/__init__.py +0 -0
  136. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/cellml/v1/_api.py +0 -0
  137. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/cellml/v1/_parser.py +0 -0
  138. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/cellml/v1/_writer.py +0 -0
  139. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/cellml/v2/__init__.py +0 -0
  140. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/cellml/v2/_api.py +0 -0
  141. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/cellml/v2/_parser.py +0 -0
  142. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/cellml/v2/_writer.py +0 -0
  143. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/channelml/__init__.py +0 -0
  144. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/channelml/_importer.py +0 -0
  145. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/cpp/__init__.py +0 -0
  146. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/cpp/_ewriter.py +0 -0
  147. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/cuda/__init__.py +0 -0
  148. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/cuda/_ewriter.py +0 -0
  149. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/cuda/_exporter.py +0 -0
  150. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/cuda/template/kernel.cu +0 -0
  151. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/diffsl/__init__.py +0 -0
  152. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/diffsl/_ewriter.py +0 -0
  153. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/diffsl/_exporter.py +0 -0
  154. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/easyml/__init__.py +0 -0
  155. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/easyml/_ewriter.py +0 -0
  156. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/easyml/_exporter.py +0 -0
  157. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/heka/_importer.py +0 -0
  158. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/html/__init__.py +0 -0
  159. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/html/_exporter.py +0 -0
  160. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/html/_flatten.py +0 -0
  161. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/latex/__init__.py +0 -0
  162. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/latex/_ewriter.py +0 -0
  163. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/latex/_exporter.py +0 -0
  164. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/mathml/__init__.py +0 -0
  165. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/mathml/_ewriter.py +0 -0
  166. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/mathml/_parser.py +0 -0
  167. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/matlab/__init__.py +0 -0
  168. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/matlab/_ewriter.py +0 -0
  169. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/matlab/_exporter.py +0 -0
  170. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/matlab/template/constants.m +0 -0
  171. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/matlab/template/ifthenelse.m +0 -0
  172. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/matlab/template/main.m +0 -0
  173. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/matlab/template/model.m +0 -0
  174. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/matlab/template/model_wrapper.m +0 -0
  175. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/opencl/__init__.py +0 -0
  176. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/opencl/_ewriter.py +0 -0
  177. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/opencl/_exporter.py +0 -0
  178. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/opencl/template/cable.c +0 -0
  179. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/opencl/template/kernel.cl +0 -0
  180. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/opencl/template/minilog.py +0 -0
  181. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/opencl/template/plot.py +0 -0
  182. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/opencl/template/test.sh +0 -0
  183. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/python/__init__.py +0 -0
  184. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/python/_ewriter.py +0 -0
  185. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/python/_exporter.py +0 -0
  186. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/python/template/sim.py +0 -0
  187. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/sbml/_importer.py +0 -0
  188. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/sbml/_parser.py +0 -0
  189. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/stan/__init__.py +0 -0
  190. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/stan/_ewriter.py +0 -0
  191. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/stan/_exporter.py +0 -0
  192. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/stan/template/cell.stan +0 -0
  193. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/stan/template/run.py +0 -0
  194. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/sympy/__init__.py +0 -0
  195. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/sympy/_ereader.py +0 -0
  196. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/sympy/_ewriter.py +0 -0
  197. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/wcp/__init__.py +0 -0
  198. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/wcp/_wcp.py +0 -0
  199. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/xml/__init__.py +0 -0
  200. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/xml/_exporter.py +0 -0
  201. {myokit-1.37.1 → myokit-1.37.3}/myokit/formats/xml/_split.py +0 -0
  202. {myokit-1.37.1 → myokit-1.37.3}/myokit/gui/__init__.py +0 -0
  203. {myokit-1.37.1 → myokit-1.37.3}/myokit/gui/datablock_viewer.py +0 -0
  204. {myokit-1.37.1 → myokit-1.37.3}/myokit/gui/datalog_viewer.py +0 -0
  205. {myokit-1.37.1 → myokit-1.37.3}/myokit/gui/explorer.py +0 -0
  206. {myokit-1.37.1 → myokit-1.37.3}/myokit/gui/ide.py +0 -0
  207. {myokit-1.37.1 → myokit-1.37.3}/myokit/gui/progress.py +0 -0
  208. {myokit-1.37.1 → myokit-1.37.3}/myokit/gui/source.py +0 -0
  209. {myokit-1.37.1 → myokit-1.37.3}/myokit/gui/vargrapher.py +0 -0
  210. {myokit-1.37.1 → myokit-1.37.3}/myokit/lib/__init__.py +0 -0
  211. {myokit-1.37.1 → myokit-1.37.3}/myokit/lib/deps.py +0 -0
  212. {myokit-1.37.1 → myokit-1.37.3}/myokit/lib/guess.py +0 -0
  213. {myokit-1.37.1 → myokit-1.37.3}/myokit/lib/hh.py +0 -0
  214. {myokit-1.37.1 → myokit-1.37.3}/myokit/lib/markov.py +0 -0
  215. {myokit-1.37.1 → myokit-1.37.3}/myokit/lib/multi.py +0 -0
  216. {myokit-1.37.1 → myokit-1.37.3}/myokit/lib/plots.py +0 -0
  217. {myokit-1.37.1 → myokit-1.37.3}/myokit/pacing.py +0 -0
  218. {myokit-1.37.1 → myokit-1.37.3}/myokit/pype.py +0 -0
  219. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/__init__.py +0 -0
  220. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/ansic_event_based_pacing.py +0 -0
  221. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/ansic_time_series_pacing.py +0 -0
  222. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/beeler-1977-model-compare-a.mmt +0 -0
  223. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/beeler-1977-model-compare-b.mmt +0 -0
  224. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/beeler-1977-model.mmt +0 -0
  225. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/beeler-1977-protocol.mmt +0 -0
  226. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/beeler-1977-script.mmt +0 -0
  227. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/beeler-1977-units.mmt +0 -0
  228. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/clancy-1999-fitting.mmt +0 -0
  229. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/conditional.mmt +0 -0
  230. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/cv1d.mmt +0 -0
  231. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/cv1d.zip +0 -0
  232. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/decker-2009.mmt +0 -0
  233. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/decker.model +0 -0
  234. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/dn-1985-normalised.mmt +0 -0
  235. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/dom-markov.mmt +0 -0
  236. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/abf-protocol.pro +0 -0
  237. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/abf-v1.abf +0 -0
  238. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/abf-v2.abf +0 -0
  239. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/cellml/LICENSE +0 -0
  240. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/cellml/br-1977-dot.cellml +0 -0
  241. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/cellml/br-1977.cellml +0 -0
  242. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/cellml/corrias.cellml +0 -0
  243. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/cellml/decker-2009.cellml +0 -0
  244. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/cellml/documentation.cellml +0 -0
  245. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/cellml/invalid-file.cellml +0 -0
  246. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/cellml/lr-1991-exported-1.cellml +0 -0
  247. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/cellml/lr-1991-exported-2.cellml +0 -0
  248. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-00-valid-file.channelml +0 -0
  249. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-01-wrong-root.channelml +0 -0
  250. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-02-no-channel-type.channelml +0 -0
  251. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-03-overlapping-name.channelml +0 -0
  252. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-04-no-cvr.channelml +0 -0
  253. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-05-two-cvrs.channelml +0 -0
  254. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-06-no-q10.channelml +0 -0
  255. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-07-three-transitions.channelml +0 -0
  256. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-08-no-closed-to-open.channelml +0 -0
  257. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-09-no-open-to-closed.channelml +0 -0
  258. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-10-tco-bad-expression.channelml +0 -0
  259. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-11-toc-bad-expression.channelml +0 -0
  260. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-12-no-steady-state.channelml +0 -0
  261. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-13-no-time-course.channelml +0 -0
  262. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-14-inf-bad-expression.channelml +0 -0
  263. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-15-tau-bad-expression.channelml +0 -0
  264. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-16-no-gates.channelml +0 -0
  265. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-17-invalid-name.channelml +0 -0
  266. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-18-c-style-if.channelml +0 -0
  267. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/sbml/00004-sbml-l2v1-modified.xml +0 -0
  268. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/sbml/00004-sbml-l3v2-modified.xml +0 -0
  269. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/sbml/HodgkinHuxley.xml +0 -0
  270. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/sbml/LICENSE +0 -0
  271. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/sbml/model/00001-sbml-l3v2.xml +0 -0
  272. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/sbml/model/00004-sbml-l3v2.xml +0 -0
  273. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/sbml/model/01103-sbml-l3v2.xml +0 -0
  274. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/sbml/result/00001-results.csv +0 -0
  275. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/sbml/result/00004-results.csv +0 -0
  276. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/sbml/result/01103-results.csv +0 -0
  277. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/wcp-file-empty.wcp +0 -0
  278. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/formats/wcp-file.wcp +0 -0
  279. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/bad1d-1-not-enough-files.zip +0 -0
  280. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/bad1d-2-no-header.zip +0 -0
  281. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/bad1d-3-no-data.zip +0 -0
  282. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/bad1d-4-not-a-zip.zip +0 -0
  283. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/bad1d-5-bad-data-type.zip +0 -0
  284. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/bad1d-6-time-too-short.zip +0 -0
  285. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/bad1d-7-0d-too-short.zip +0 -0
  286. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/bad1d-8-1d-too-short.zip +0 -0
  287. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/bad2d-1-not-enough-files.zip +0 -0
  288. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/bad2d-2-no-header.zip +0 -0
  289. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/bad2d-3-no-data.zip +0 -0
  290. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/bad2d-4-not-a-zip.zip +0 -0
  291. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/bad2d-5-bad-data-type.zip +0 -0
  292. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/bad2d-6-time-too-short.zip +0 -0
  293. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/bad2d-7-0d-too-short.zip +0 -0
  294. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/bad2d-8-2d-too-short.zip +0 -0
  295. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/badlog-1-no-data.zip +0 -0
  296. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/badlog-2-no-structure.zip +0 -0
  297. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/badlog-3-not-a-zip.zip +0 -0
  298. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/badlog-4-invalid-n-fields.zip +0 -0
  299. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/badlog-5-invalid-data-size.zip +0 -0
  300. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/badlog-6-bad-data-type.zip +0 -0
  301. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/badlog-7-not-enough-data.zip +0 -0
  302. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/block1d.mmt +0 -0
  303. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/block2d.mmt +0 -0
  304. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/block2d.zip +0 -0
  305. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/datalog-1-empty.csv +0 -0
  306. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/datalog-10-just-spaces.csv +0 -0
  307. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/datalog-11-just-a-semicolon.csv +0 -0
  308. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/datalog-12-bad-header.csv +0 -0
  309. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/datalog-13-header-with-empty-1.csv +0 -0
  310. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/datalog-14-header-with-empty-2.csv +0 -0
  311. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/datalog-15-header-with-empty-3.csv +0 -0
  312. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/datalog-16-wrong-columns-in-data.csv +0 -0
  313. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/datalog-17-non-float-data.csv +0 -0
  314. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/datalog-18-duplicate-keys.csv +0 -0
  315. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/datalog-2-windows.csv +0 -0
  316. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/datalog-3-old-mac.csv +0 -0
  317. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/datalog-4-empty-lines.csv +0 -0
  318. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/datalog-5-semicolons.csv +0 -0
  319. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/datalog-6-open-string.csv +0 -0
  320. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/datalog-7-empty-lines-2.csv +0 -0
  321. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/datalog-8-unquoted-header.csv +0 -0
  322. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/datalog-9-double-quoted-header.csv +0 -0
  323. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/datalog.csv +0 -0
  324. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/io/goodlog.zip +0 -0
  325. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/lr-1991-dep.mmt +0 -0
  326. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/lr-1991-fitting.mmt +0 -0
  327. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/lr-1991-testing.mmt +0 -0
  328. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/lr-1991.mmt +0 -0
  329. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/multi/beeler-1977-protocol.mmt +0 -0
  330. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/multi/beeler-1977-script.mmt +0 -0
  331. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/multi/beeler-no-name.mmt +0 -0
  332. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/multi/lr-1991.mmt +0 -0
  333. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/multi/not-a-model.csv +0 -0
  334. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/multi/subdir/beeler-no-name.mmt +0 -0
  335. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/data/noble-1962.mmt +0 -0
  336. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_aux.py +0 -0
  337. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_cellml_v1_api.py +0 -0
  338. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_cellml_v1_parser.py +0 -0
  339. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_cellml_v1_writer.py +0 -0
  340. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_cellml_v2_api.py +0 -0
  341. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_cellml_v2_parser.py +0 -0
  342. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_cellml_v2_writer.py +0 -0
  343. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_cmodel.py +0 -0
  344. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_compiler_detection.py +0 -0
  345. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_component.py +0 -0
  346. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_config.py +0 -0
  347. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_datablock.py +0 -0
  348. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_datalog.py +0 -0
  349. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_dependency_checking.py +0 -0
  350. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_expressions.py +0 -0
  351. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_float.py +0 -0
  352. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_formats.py +0 -0
  353. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_formats_ansic.py +0 -0
  354. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_formats_axon.py +0 -0
  355. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_formats_cellml.py +0 -0
  356. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_formats_channelml.py +0 -0
  357. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_formats_cpp.py +0 -0
  358. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_formats_cuda.py +0 -0
  359. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_formats_diffsl.py +0 -0
  360. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_formats_easyml.py +0 -0
  361. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_formats_html.py +0 -0
  362. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_formats_latex.py +0 -0
  363. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_formats_mathml_content.py +0 -0
  364. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_formats_mathml_presentation.py +0 -0
  365. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_formats_matlab.py +0 -0
  366. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_formats_opencl.py +0 -0
  367. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_formats_python.py +0 -0
  368. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_formats_stan.py +0 -0
  369. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_formats_sympy.py +0 -0
  370. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_formats_wcp.py +0 -0
  371. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_io.py +0 -0
  372. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_jacobian_calculator.py +0 -0
  373. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_jacobian_tracer.py +0 -0
  374. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_lib_deps.py +0 -0
  375. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_lib_guess.py +0 -0
  376. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_lib_hh.py +0 -0
  377. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_lib_markov.py +0 -0
  378. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_lib_multi.py +0 -0
  379. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_lib_plots.py +0 -0
  380. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_meta.py +0 -0
  381. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_model.py +0 -0
  382. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_model_building.py +0 -0
  383. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_opencl_info.py +0 -0
  384. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_pacing_factory.py +0 -0
  385. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_pacing_system_c.py +0 -0
  386. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_pacing_system_py.py +0 -0
  387. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_parsing.py +0 -0
  388. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_progress_reporters.py +0 -0
  389. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_protocol.py +0 -0
  390. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_protocol_floating_point.py +0 -0
  391. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_protocol_time_series.py +0 -0
  392. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_pype.py +0 -0
  393. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_rhs_benchmarker.py +0 -0
  394. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_sbml_parser.py +0 -0
  395. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_simulation_1d.py +0 -0
  396. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_simulation_cvodes.py +0 -0
  397. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_simulation_cvodes_from_disk.py +0 -0
  398. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_simulation_fiber_tissue.py +0 -0
  399. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_simulation_log_interval.py +0 -0
  400. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_simulation_opencl.py +0 -0
  401. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_simulation_opencl_log_interval.py +0 -0
  402. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_simulation_opencl_vs_cvode.py +0 -0
  403. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_simulation_opencl_vs_sim1d.py +0 -0
  404. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_system_info.py +0 -0
  405. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_tools.py +0 -0
  406. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_user_functions.py +0 -0
  407. {myokit-1.37.1 → myokit-1.37.3}/myokit/tests/test_variable.py +0 -0
  408. {myokit-1.37.1 → myokit-1.37.3}/myokit/tools.py +0 -0
  409. {myokit-1.37.1 → myokit-1.37.3}/myokit/units.py +0 -0
  410. {myokit-1.37.1 → myokit-1.37.3}/myokit.egg-info/dependency_links.txt +0 -0
  411. {myokit-1.37.1 → myokit-1.37.3}/myokit.egg-info/entry_points.txt +0 -0
  412. {myokit-1.37.1 → myokit-1.37.3}/myokit.egg-info/not-zip-safe +0 -0
  413. {myokit-1.37.1 → myokit-1.37.3}/myokit.egg-info/requires.txt +0 -0
  414. {myokit-1.37.1 → myokit-1.37.3}/myokit.egg-info/top_level.txt +0 -0
  415. {myokit-1.37.1 → myokit-1.37.3}/setup.cfg +0 -0
  416. {myokit-1.37.1 → myokit-1.37.3}/setup.py +0 -0
@@ -3,7 +3,7 @@ BSD 3-Clause License
3
3
  Copyright (c) 2011-2017 Maastricht University. All rights reserved.
4
4
  Copyright (c) 2017-2020 University of Oxford. All rights reserved.
5
5
  (University of Oxford means the Chancellor, Masters and Scholars of the University of Oxford, having an administrative office at Wellington Square, Oxford OX1 2JD, UK).
6
- Copyright (c) 2020-2024 University of Nottingham. All rights reserved.
6
+ Copyright (c) 2020-2025 University of Nottingham. All rights reserved.
7
7
 
8
8
  Redistribution and use in source and binary forms, with or without
9
9
  modification, are permitted provided that the following conditions are met:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: myokit
3
- Version: 1.37.1
3
+ Version: 1.37.3
4
4
  Summary: A modeling and simulation tool for cardiac cellular electrophysiology
5
5
  Home-page: http://myokit.org
6
6
  Author: Michael Clerx
@@ -22,13 +22,28 @@ Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
22
22
  Classifier: Topic :: Scientific/Engineering :: Physics
23
23
  Requires-Python: >=3.7
24
24
  Description-Content-Type: text/markdown
25
+ License-File: LICENSE.txt
26
+ Requires-Dist: configparser
27
+ Requires-Dist: lxml
28
+ Requires-Dist: matplotlib>=2.2
29
+ Requires-Dist: numpy
30
+ Requires-Dist: setuptools
25
31
  Provides-Extra: docs
32
+ Requires-Dist: sphinx>=1.7.4; extra == "docs"
26
33
  Provides-Extra: dev
34
+ Requires-Dist: coverage; extra == "dev"
35
+ Requires-Dist: flake8>=3; extra == "dev"
27
36
  Provides-Extra: optional
37
+ Requires-Dist: scipy; extra == "optional"
38
+ Requires-Dist: sympy; extra == "optional"
28
39
  Provides-Extra: gui
40
+ Requires-Dist: pyqt6; extra == "gui"
41
+ Requires-Dist: sip; extra == "gui"
29
42
  Provides-Extra: pyqt
43
+ Requires-Dist: pyqt6; extra == "pyqt"
44
+ Requires-Dist: sip; extra == "pyqt"
30
45
  Provides-Extra: pyside
31
- License-File: LICENSE.txt
46
+ Requires-Dist: pyside6; extra == "pyside"
32
47
 
33
48
  [![Ubuntu unit tests](https://github.com/myokit/myokit/actions/workflows/unit-tests-ubuntu.yml/badge.svg)](https://github.com/myokit/myokit/actions/workflows/unit-tests-ubuntu.yml)
34
49
  [![MacOS unit tests](https://github.com/myokit/myokit/actions/workflows/unit-tests-macos.yml/badge.svg)](https://github.com/myokit/myokit/actions/workflows/unit-tests-macos.yml)
@@ -79,7 +79,7 @@ Copyright (c) 2017-2020 University of Oxford. All rights reserved.
79
79
  (University of Oxford means the Chancellor, Masters and Scholars of the
80
80
  University of Oxford, having an administrative office at Wellington Square,
81
81
  Oxford OX1 2JD, UK).
82
- Copyright (c) 2020-2024 University of Nottingham. All rights reserved.
82
+ Copyright (c) 2020-2025 University of Nottingham. All rights reserved.
83
83
 
84
84
  Redistribution and use in source and binary forms, with or without
85
85
  modification, are permitted provided that the following conditions are met:
@@ -118,7 +118,7 @@ LICENSE_HTML = """
118
118
  <br />(University of Oxford means the Chancellor, Masters and Scholars of
119
119
  the University of Oxford, having an administrative office at Wellington
120
120
  Square, Oxford OX1 2JD, UK).
121
- <br />Copyright (c) 2020-2024 University of Nottingham. All rights
121
+ <br />Copyright (c) 2020-2025 University of Nottingham. All rights
122
122
  reserved.</br></p>
123
123
  <p>
124
124
  Redistribution and use in source and binary forms, with or without
@@ -329,23 +329,27 @@ class DataLog(OrderedDict):
329
329
  """
330
330
  Creates a copy of the log, split with the given ``period``.
331
331
 
332
- Split signals are given indexes so that "current" becomes "0.current",
333
- "1.current", "2.current", etc.
332
+ Split signals are given indexes so that ``current`` becomes
333
+ ``0.current``, ``1.current``, ``2.current``, etc.
334
334
 
335
335
  If the logs entries do not divide well by ``period``, the remainder
336
336
  will be ignored. This happens commonly due to rounding point errors (in
337
337
  which case the remainder is a single entry). To disable this behavior,
338
338
  set ``discard_remainder=False``.
339
+
340
+ To split a log into a list of logs, use :meth:`DataLog.split_periodic`.
339
341
  """
340
342
  # Note: Using closed intervals can lead to logs of unequal length, so
341
343
  # it should be disabled here to ensure a valid log
342
344
  logs = self.split_periodic(period, adjust=True, closed_intervals=False)
345
+
343
346
  # Discard remainder if present
344
347
  if discard_remainder:
345
348
  if len(logs) > 1:
346
349
  n = logs[0].length()
347
350
  if logs[-1].length() < n:
348
351
  logs = logs[:-1]
352
+
349
353
  # Create new log with folded data
350
354
  out = myokit.DataLog()
351
355
  out._time = self._time
@@ -1305,10 +1309,12 @@ class DataLog(OrderedDict):
1305
1309
 
1306
1310
  def split_periodic(self, period, adjust=False, closed_intervals=True):
1307
1311
  """
1308
- Splits this log into multiple logs, each covering an equal period of
1309
- time. For example a log covering the time span ``[0, 10000]`` can be
1310
- split with period ``1000`` to obtain ten logs covering ``[0, 1000]``,
1311
- ``[1000, 2000]`` etc.
1312
+ Splits this log into multiple logs, returning a list of
1313
+ :class:`DataLog` objects.
1314
+
1315
+ Each returned log covers an equal ``period`` of time. For example a log
1316
+ covering the time span ``[0, 10000]`` split with period ``1000`` will
1317
+ result in a list of ten logs ``[0, 1000]``, ``[1000, 2000]`` etc.
1312
1318
 
1313
1319
  The split log files can be returned as-is, or with the time variable's
1314
1320
  value adjusted so that all logs appear to cover the same span. To
@@ -1319,6 +1325,9 @@ class DataLog(OrderedDict):
1319
1325
  the duplication of some data points. To disable this behavior and
1320
1326
  return half-closed endpoints (containing only the left point), set
1321
1327
  ``closed_intervals`` to ``False``.
1328
+
1329
+ To return a single log with entries ``x`` split as ``x.0``, ``x.1``,
1330
+ etc., use :meth:`DataLog.fold`.
1322
1331
  """
1323
1332
  # Validate log before starting
1324
1333
  self.validate()
@@ -14,7 +14,7 @@ __release__ = True
14
14
  # incompatibility
15
15
  # - Changes to revision indicate bugfixes, tiny new features
16
16
  # - There is no significance to odd/even numbers
17
- __version_tuple__ = 1, 37, 1
17
+ __version_tuple__ = 1, 37, 3
18
18
 
19
19
  # String version of the version number
20
20
  __version__ = '.'.join([str(x) for x in __version_tuple__])
@@ -695,9 +695,9 @@ class Simulation(myokit.CModule):
695
695
  An optional fixed size log interval. Must be ``None`` if
696
696
  ``log_times`` is used. If both are ``None`` every step is logged.
697
697
  ``log_times``
698
- An optional set of pre-determined logging times. Must be ``None``
699
- if ``log_interval`` is used. If both are ``None`` every step is
700
- logged.
698
+ An optional sequence (e.g. a list or a numpy array) of
699
+ pre-determined logging times. Must be ``None`` if ``log_interval``
700
+ is used. If both are ``None`` every step is logged.
701
701
  ``sensitivities``
702
702
  An optional list-of-lists to append the calculated sensitivities
703
703
  to.
@@ -487,56 +487,55 @@ class Unit:
487
487
  return self.__rtruediv__(other)
488
488
 
489
489
  @staticmethod
490
- def register(name, unit, quantifiable=False, output=False):
490
+ def register(name, unit, quantifiable=False,
491
+ preferred_representation=False):
491
492
  """
492
- Registers a unit name with the Unit class. Registered units will be
493
- recognised by the parse() method.
493
+ Registers a unit name with the :class:`Unit` class so that it will be
494
+ recognised when parsing.
494
495
 
495
496
  Arguments:
496
497
 
497
498
  ``name``
498
- The unit name. A variable will be created using this name.
499
+ The unit name. This must be a valid myokit name, i.e.
500
+ ``myokit.check_name(name)`` should not raise any errors.
499
501
  ``unit``
500
502
  A valid unit object
501
503
  ``quantifiable``
502
504
  ``True`` if this unit should be registered with the unit class as a
503
- quantifiable unit. Typically this should only be done for the
504
- unquantified symbol notation of SI or SI derived units. For example
505
- m, g, Hz, N but not meter, kg, hertz or forthnight.
506
- ``output``
507
- ``True`` if this units name should be used to display this unit in.
508
- This should be set for all common units (m, kg, nm, Hz) but not for
509
- more obscure units (furlong, parsec). Having ``output`` set to
510
- ``False`` will cause one-way behavior: Myokit will recognise the
511
- unit name but never use it in output.
512
- Setting this to ``True`` will also register the given name as a
513
- preferred representation format.
514
-
515
- """
516
- if not isinstance(name, str):
517
- raise TypeError('Given name must be a string.')
505
+ _quantifiable_ unit, i.e. a unit that can be preceded by an SI
506
+ prefix such as "m" or "G". Typically this should only be done
507
+ for the unquantified symbol notation of SI or SI derived units. For
508
+ example "m", "g", or "Hz" but not "km", "meter", or "bushel".
509
+ ``preferred_representation``
510
+ Set to ``True`` to also register ``name`` as the preferred
511
+ representation for ``unit``.
512
+
513
+ """
514
+ name = myokit.check_name(name)
518
515
  if not isinstance(unit, Unit):
519
516
  raise TypeError('Given unit must be myokit.Unit')
520
517
  Unit._units[name] = unit
521
518
  if quantifiable:
522
519
  # Overwrite existing entries without warning
523
520
  Unit._quantifiable.add(name)
524
- if output:
521
+ if preferred_representation:
525
522
  # Overwrite existing entries without warning
526
523
  Unit._preferred_representations[unit] = name
527
524
 
528
525
  @staticmethod
529
526
  def register_preferred_representation(rep, unit):
530
527
  """
531
- Registers a preferred representation for the given unit without
532
- registering it as a new type. This method can be used to register
533
- common representations such as "umol/L" and "km/h".
528
+ Sets the preferred representation for the a unit, in terms of already
529
+ defined units.
530
+
531
+ This method can be used to register common representations such as
532
+ "umol/L" and "km/h". The given representation should be parseable by
533
+ Myokit, with the result equalling ``unit``.
534
534
 
535
535
  Arguments:
536
536
 
537
537
  ``rep``
538
- A string, containing the preferred name for this unit. This should
539
- be something that Myokit can parse.
538
+ A string containing the preferred representation for this unit.
540
539
  ``unit``
541
540
  The unit to register a notation for.
542
541
 
@@ -545,9 +544,14 @@ class Unit:
545
544
  # Overwrite existing entries without warning
546
545
  if not isinstance(unit, myokit.Unit):
547
546
  raise ValueError(
548
- 'Second argument to register_preferred_representation must be'
549
- ' a myokit.Unit')
550
- Unit._preferred_representations[unit] = str(rep)
547
+ 'The second argument to register_preferred_representation must'
548
+ ' be a myokit.Unit')
549
+ rep = str(rep)
550
+ if not myokit.parse_unit(rep) == unit:
551
+ raise ValueError(
552
+ f'The representation [{rep}] does not equal {unit._str(True)}'
553
+ ' when parsed.')
554
+ Unit._preferred_representations[unit] = rep
551
555
 
552
556
  def __repr__(self):
553
557
  """
@@ -616,7 +620,8 @@ class Unit:
616
620
 
617
621
  def __str__(self):
618
622
 
619
- # Strategy 1: Try simple look-up (using float.eq comparison)
623
+ # Strategy 1: Try simple look-up (using hash based on _str() followed
624
+ # by check of exponents in __eq__ for comparison
620
625
  try:
621
626
  return '[' + Unit._preferred_representations[self] + ']'
622
627
  except KeyError:
@@ -629,8 +634,8 @@ class Unit:
629
634
  rep = '[' + test + ']'
630
635
  break
631
636
 
632
- # Strategy 3: Try finding a representation for the exponent and adding
633
- # a multiplier to that.
637
+ # Strategy 3: Try finding a representation for the exponent (without a
638
+ # multiplier) and adding a multiplier to that.
634
639
  if rep is None:
635
640
 
636
641
  # Because kilos are defined with a multiplier of 1000, the
@@ -640,17 +645,20 @@ class Unit:
640
645
  u = Unit(list(self._x), m)
641
646
  rep = Unit._preferred_representations.get(u, None)
642
647
 
643
- # Add multiplier part
648
+ # Add multiplier part:
644
649
  if rep is not None:
645
- m = myokit.float.cround(self._m - m)
646
- m = 10**m
647
- if m >= 1:
648
- m = myokit.float.cround(m)
649
- if m < 1e6:
650
- m = str(m)
650
+ if '(' in rep:
651
+ rep = None
651
652
  else:
652
- m = '{:<1.0e}'.format(m)
653
- rep = '[' + rep + ' (' + m + ')]'
653
+ m = myokit.float.cround(self._m - m)
654
+ m = 10**m
655
+ if m >= 1:
656
+ m = myokit.float.cround(m)
657
+ if m < 1e6:
658
+ m = str(m)
659
+ else:
660
+ m = '{:<1.0e}'.format(m)
661
+ rep = '[' + rep + ' (' + m + ')]'
654
662
 
655
663
  # Strategy 4: Build a new representation
656
664
  if rep is None:
@@ -9,7 +9,10 @@ from ._patchmaster import ( # noqa
9
9
  AmplifierSeries,
10
10
  AmplifierState,
11
11
  AmplifierStateRecord,
12
+ CSlowRange,
12
13
  EndianAwareReader,
14
+ Filter1Setting,
15
+ Filter2Type,
13
16
  Group,
14
17
  NoSupportedDAChannelError,
15
18
  PatchMasterFile,
@@ -22,6 +25,7 @@ from ._patchmaster import ( # noqa
22
25
  Stimulus,
23
26
  StimulusChannel,
24
27
  StimulusFile,
28
+ StimulusFilterSetting,
25
29
  Sweep,
26
30
  Trace,
27
31
  TreeNode,