myokit 1.35.4__tar.gz → 1.36.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 (416) hide show
  1. {myokit-1.35.4 → myokit-1.36.1}/LICENSE.txt +1 -1
  2. {myokit-1.35.4/myokit.egg-info → myokit-1.36.1}/PKG-INFO +19 -8
  3. {myokit-1.35.4 → myokit-1.36.1}/README.md +18 -7
  4. {myokit-1.35.4 → myokit-1.36.1}/myokit/__init__.py +5 -3
  5. {myokit-1.35.4 → myokit-1.36.1}/myokit/__main__.py +9 -159
  6. {myokit-1.35.4 → myokit-1.36.1}/myokit/_config.py +2 -2
  7. {myokit-1.35.4 → myokit-1.36.1}/myokit/_expressions.py +6 -6
  8. {myokit-1.35.4 → myokit-1.36.1}/myokit/_model_api.py +11 -7
  9. {myokit-1.35.4 → myokit-1.36.1}/myokit/_myokit_version.py +1 -1
  10. {myokit-1.35.4 → myokit-1.36.1}/myokit/_protocol.py +4 -0
  11. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/__init__.py +1 -0
  12. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/cvodessim.c +321 -177
  13. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/cvodessim.py +107 -43
  14. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/mcl.h +54 -0
  15. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/__init__.py +63 -12
  16. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/ansic/__init__.py +2 -1
  17. myokit-1.36.1/myokit/formats/ansic/_ewriter.py +237 -0
  18. myokit-1.36.1/myokit/formats/cpp/_ewriter.py +26 -0
  19. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/cuda/_ewriter.py +15 -51
  20. myokit-1.36.1/myokit/formats/easyml/_ewriter.py +97 -0
  21. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/heka/_patchmaster.py +15 -3
  22. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/latex/_ewriter.py +103 -88
  23. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/latex/_exporter.py +1 -1
  24. myokit-1.36.1/myokit/formats/matlab/_ewriter.py +131 -0
  25. myokit-1.36.1/myokit/formats/opencl/_ewriter.py +150 -0
  26. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/python/_ewriter.py +81 -50
  27. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/stan/_ewriter.py +29 -37
  28. {myokit-1.35.4 → myokit-1.36.1}/myokit/gui/source.py +1 -1
  29. {myokit-1.35.4 → myokit-1.36.1}/myokit/lib/hh.py +3 -0
  30. {myokit-1.35.4 → myokit-1.36.1}/myokit/lib/markov.py +6 -0
  31. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/__init__.py +70 -0
  32. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/decker.model +59 -59
  33. myokit-1.36.1/myokit/tests/test_formats.py +239 -0
  34. myokit-1.36.1/myokit/tests/test_formats_ansic.py +344 -0
  35. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_formats_axon.py +17 -0
  36. myokit-1.36.1/myokit/tests/test_formats_cpp.py +97 -0
  37. myokit-1.36.1/myokit/tests/test_formats_cuda.py +226 -0
  38. myokit-1.36.1/myokit/tests/test_formats_easyml.py +427 -0
  39. myokit-1.35.4/myokit/tests/test_formats_exporters.py → myokit-1.36.1/myokit/tests/test_formats_exporters_run.py +1 -69
  40. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_formats_html.py +1 -3
  41. myokit-1.36.1/myokit/tests/test_formats_latex.py +211 -0
  42. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_formats_mathml_content.py +13 -0
  43. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_formats_mathml_presentation.py +54 -42
  44. myokit-1.36.1/myokit/tests/test_formats_matlab.py +218 -0
  45. myokit-1.36.1/myokit/tests/test_formats_opencl.py +226 -0
  46. myokit-1.36.1/myokit/tests/test_formats_python.py +557 -0
  47. myokit-1.36.1/myokit/tests/test_formats_stan.py +175 -0
  48. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_formats_sympy.py +9 -2
  49. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_lib_hh.py +36 -0
  50. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_lib_plots.py +0 -16
  51. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_model.py +21 -1
  52. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_simulation_cvodes.py +137 -56
  53. {myokit-1.35.4 → myokit-1.36.1}/myokit/tools.py +3 -2
  54. {myokit-1.35.4 → myokit-1.36.1/myokit.egg-info}/PKG-INFO +19 -8
  55. {myokit-1.35.4 → myokit-1.36.1}/myokit.egg-info/SOURCES.txt +8 -3
  56. myokit-1.35.4/myokit/formats/ansic/_ewriter.py +0 -118
  57. myokit-1.35.4/myokit/formats/cpp/_ewriter.py +0 -15
  58. myokit-1.35.4/myokit/formats/easyml/_ewriter.py +0 -125
  59. myokit-1.35.4/myokit/formats/matlab/_ewriter.py +0 -109
  60. myokit-1.35.4/myokit/formats/opencl/_ewriter.py +0 -167
  61. myokit-1.35.4/myokit/tests/test_formats.py +0 -131
  62. myokit-1.35.4/myokit/tests/test_formats_easyml.py +0 -410
  63. myokit-1.35.4/myokit/tests/test_formats_expression_writers.py +0 -1281
  64. myokit-1.35.4/myokit/tests/test_formats_importers.py +0 -53
  65. myokit-1.35.4/myokit/tests/test_formats_opencl.py +0 -400
  66. {myokit-1.35.4 → myokit-1.36.1}/MANIFEST.in +0 -0
  67. {myokit-1.35.4 → myokit-1.36.1}/myokit/_aux.py +0 -0
  68. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/example.mmt +0 -0
  69. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/find.png +0 -0
  70. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/icon-datablock-viewer-128.xpm +0 -0
  71. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/icon-datablock-viewer-16.xpm +0 -0
  72. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/icon-datablock-viewer-24.xpm +0 -0
  73. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/icon-datablock-viewer-256.xpm +0 -0
  74. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/icon-datablock-viewer-32.xpm +0 -0
  75. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/icon-datablock-viewer-48.xpm +0 -0
  76. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/icon-datablock-viewer-64.xpm +0 -0
  77. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/icon-datablock-viewer-96.xpm +0 -0
  78. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/icon-datablock-viewer.ico +0 -0
  79. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/icon-datablock-viewer.png +0 -0
  80. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/icon-ide-128.xpm +0 -0
  81. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/icon-ide-16.xpm +0 -0
  82. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/icon-ide-24.xpm +0 -0
  83. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/icon-ide-256.xpm +0 -0
  84. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/icon-ide-32.xpm +0 -0
  85. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/icon-ide-48.xpm +0 -0
  86. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/icon-ide-64.xpm +0 -0
  87. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/icon-ide-96.xpm +0 -0
  88. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/icon-ide.ico +0 -0
  89. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/icon-ide.png +0 -0
  90. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/new.png +0 -0
  91. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/open.png +0 -0
  92. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/redo.png +0 -0
  93. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/run.png +0 -0
  94. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/save.png +0 -0
  95. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/gui/undo.png +0 -0
  96. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/install-lin/myokit-datablock-viewer.desktop +0 -0
  97. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/install-lin/myokit-datalog-viewer.desktop +0 -0
  98. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/install-lin/myokit-ide.desktop +0 -0
  99. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/install-lin/myokit.lang +0 -0
  100. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/install-lin/x-abf.xml +0 -0
  101. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/install-lin/x-cellml.xml +0 -0
  102. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/install-lin/x-myokit.xml +0 -0
  103. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/install-lin/x-wcp.xml +0 -0
  104. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/install-win/menu.json +0 -0
  105. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/sundials-win-vs/LICENSE +0 -0
  106. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/sundials-win-vs/include/cvodes/cvodes.h +0 -0
  107. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/sundials-win-vs/include/cvodes/cvodes_direct.h +0 -0
  108. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/sundials-win-vs/include/cvodes/cvodes_ls.h +0 -0
  109. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/sundials-win-vs/include/nvector/nvector_serial.h +0 -0
  110. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/sundials-win-vs/include/sundials/sundials_config.h +0 -0
  111. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/sundials-win-vs/include/sundials/sundials_dense.h +0 -0
  112. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/sundials-win-vs/include/sundials/sundials_direct.h +0 -0
  113. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/sundials-win-vs/include/sundials/sundials_export.h +0 -0
  114. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/sundials-win-vs/include/sundials/sundials_iterative.h +0 -0
  115. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/sundials-win-vs/include/sundials/sundials_linearsolver.h +0 -0
  116. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/sundials-win-vs/include/sundials/sundials_matrix.h +0 -0
  117. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/sundials-win-vs/include/sundials/sundials_nonlinearsolver.h +0 -0
  118. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/sundials-win-vs/include/sundials/sundials_nvector.h +0 -0
  119. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/sundials-win-vs/include/sundials/sundials_types.h +0 -0
  120. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/sundials-win-vs/include/sundials/sundials_version.h +0 -0
  121. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/sundials-win-vs/include/sunlinsol/sunlinsol_dense.h +0 -0
  122. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/sundials-win-vs/include/sunmatrix/sunmatrix_dense.h +0 -0
  123. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/sundials-win-vs/lib/sundials_cvodes.dll +0 -0
  124. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/sundials-win-vs/lib/sundials_cvodes.lib +0 -0
  125. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/sundials-win-vs/lib/sundials_nvecserial.dll +0 -0
  126. {myokit-1.35.4 → myokit-1.36.1}/myokit/_bin/sundials-win-vs/lib/sundials_nvecserial.lib +0 -0
  127. {myokit-1.35.4 → myokit-1.36.1}/myokit/_datablock.py +0 -0
  128. {myokit-1.35.4 → myokit-1.36.1}/myokit/_datalog.py +0 -0
  129. {myokit-1.35.4 → myokit-1.36.1}/myokit/_err.py +0 -0
  130. {myokit-1.35.4 → myokit-1.36.1}/myokit/_io.py +0 -0
  131. {myokit-1.35.4 → myokit-1.36.1}/myokit/_parsing.py +0 -0
  132. {myokit-1.35.4 → myokit-1.36.1}/myokit/_progress.py +0 -0
  133. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/cable.c +0 -0
  134. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/cable.py +0 -0
  135. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/cmodel.h +0 -0
  136. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/cmodel.py +0 -0
  137. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/compiler.c +0 -0
  138. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/compiler.py +0 -0
  139. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/differential.hpp +0 -0
  140. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/fiber_tissue.c +0 -0
  141. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/fiber_tissue.py +0 -0
  142. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/jacobian.cpp +0 -0
  143. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/jacobian.py +0 -0
  144. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/opencl.c +0 -0
  145. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/opencl.py +0 -0
  146. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/openclsim.c +0 -0
  147. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/openclsim.cl +0 -0
  148. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/openclsim.py +0 -0
  149. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/pacing.h +0 -0
  150. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/rhs.c +0 -0
  151. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/rhs.py +0 -0
  152. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/sundials.c +0 -0
  153. {myokit-1.35.4 → myokit-1.36.1}/myokit/_sim/sundials.py +0 -0
  154. {myokit-1.35.4 → myokit-1.36.1}/myokit/_system.py +0 -0
  155. {myokit-1.35.4 → myokit-1.36.1}/myokit/_unit.py +0 -0
  156. {myokit-1.35.4 → myokit-1.36.1}/myokit/float.py +0 -0
  157. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/ansic/_exporter.py +0 -0
  158. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/ansic/template/cable.c +0 -0
  159. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/ansic/template/euler.c +0 -0
  160. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/ansic/template/sim.c +0 -0
  161. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/axon/__init__.py +0 -0
  162. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/axon/_abf.py +0 -0
  163. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/axon/_atf.py +0 -0
  164. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/axon/_importer.py +0 -0
  165. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/cellml/__init__.py +0 -0
  166. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/cellml/_ewriter.py +0 -0
  167. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/cellml/_exporter.py +0 -0
  168. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/cellml/_importer.py +0 -0
  169. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/cellml/v1/__init__.py +0 -0
  170. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/cellml/v1/_api.py +0 -0
  171. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/cellml/v1/_parser.py +0 -0
  172. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/cellml/v1/_writer.py +0 -0
  173. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/cellml/v2/__init__.py +0 -0
  174. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/cellml/v2/_api.py +0 -0
  175. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/cellml/v2/_parser.py +0 -0
  176. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/cellml/v2/_writer.py +0 -0
  177. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/channelml/__init__.py +0 -0
  178. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/channelml/_importer.py +0 -0
  179. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/cpp/__init__.py +0 -0
  180. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/cuda/__init__.py +0 -0
  181. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/cuda/_exporter.py +0 -0
  182. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/cuda/template/kernel.cu +0 -0
  183. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/easyml/__init__.py +0 -0
  184. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/easyml/_exporter.py +0 -0
  185. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/heka/__init__.py +0 -0
  186. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/heka/_importer.py +0 -0
  187. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/html/__init__.py +0 -0
  188. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/html/_exporter.py +0 -0
  189. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/html/_flatten.py +0 -0
  190. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/latex/__init__.py +0 -0
  191. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/mathml/__init__.py +0 -0
  192. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/mathml/_ewriter.py +2 -2
  193. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/mathml/_parser.py +0 -0
  194. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/matlab/__init__.py +0 -0
  195. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/matlab/_exporter.py +0 -0
  196. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/matlab/template/constants.m +0 -0
  197. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/matlab/template/ifthenelse.m +0 -0
  198. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/matlab/template/main.m +0 -0
  199. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/matlab/template/model.m +0 -0
  200. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/matlab/template/model_wrapper.m +0 -0
  201. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/opencl/__init__.py +0 -0
  202. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/opencl/_exporter.py +0 -0
  203. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/opencl/template/cable.c +0 -0
  204. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/opencl/template/kernel.cl +0 -0
  205. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/opencl/template/minilog.py +0 -0
  206. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/opencl/template/plot.py +0 -0
  207. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/opencl/template/test.sh +0 -0
  208. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/python/__init__.py +0 -0
  209. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/python/_exporter.py +0 -0
  210. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/python/template/sim.py +0 -0
  211. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/sbml/__init__.py +0 -0
  212. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/sbml/_api.py +0 -0
  213. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/sbml/_importer.py +0 -0
  214. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/sbml/_parser.py +0 -0
  215. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/stan/__init__.py +0 -0
  216. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/stan/_exporter.py +0 -0
  217. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/stan/template/cell.stan +0 -0
  218. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/stan/template/run.py +0 -0
  219. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/sympy/__init__.py +0 -0
  220. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/sympy/_ereader.py +0 -0
  221. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/sympy/_ewriter.py +0 -0
  222. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/wcp/__init__.py +0 -0
  223. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/wcp/_wcp.py +0 -0
  224. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/xml/__init__.py +0 -0
  225. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/xml/_exporter.py +0 -0
  226. {myokit-1.35.4 → myokit-1.36.1}/myokit/formats/xml/_split.py +0 -0
  227. {myokit-1.35.4 → myokit-1.36.1}/myokit/gui/__init__.py +0 -0
  228. {myokit-1.35.4 → myokit-1.36.1}/myokit/gui/datablock_viewer.py +0 -0
  229. {myokit-1.35.4 → myokit-1.36.1}/myokit/gui/datalog_viewer.py +0 -0
  230. {myokit-1.35.4 → myokit-1.36.1}/myokit/gui/explorer.py +0 -0
  231. {myokit-1.35.4 → myokit-1.36.1}/myokit/gui/ide.py +0 -0
  232. {myokit-1.35.4 → myokit-1.36.1}/myokit/gui/progress.py +0 -0
  233. {myokit-1.35.4 → myokit-1.36.1}/myokit/gui/vargrapher.py +0 -0
  234. {myokit-1.35.4 → myokit-1.36.1}/myokit/lib/__init__.py +0 -0
  235. {myokit-1.35.4 → myokit-1.36.1}/myokit/lib/deps.py +0 -0
  236. {myokit-1.35.4 → myokit-1.36.1}/myokit/lib/guess.py +0 -0
  237. {myokit-1.35.4 → myokit-1.36.1}/myokit/lib/multi.py +0 -0
  238. {myokit-1.35.4 → myokit-1.36.1}/myokit/lib/plots.py +0 -0
  239. {myokit-1.35.4 → myokit-1.36.1}/myokit/pacing.py +0 -0
  240. {myokit-1.35.4 → myokit-1.36.1}/myokit/pype.py +0 -0
  241. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/ansic_event_based_pacing.py +0 -0
  242. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/ansic_time_series_pacing.py +0 -0
  243. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/beeler-1977-model-compare-a.mmt +0 -0
  244. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/beeler-1977-model-compare-b.mmt +0 -0
  245. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/beeler-1977-model.mmt +0 -0
  246. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/beeler-1977-protocol.mmt +0 -0
  247. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/beeler-1977-script.mmt +0 -0
  248. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/beeler-1977-units.mmt +0 -0
  249. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/clancy-1999-fitting.mmt +0 -0
  250. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/conditional.mmt +0 -0
  251. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/cv1d.mmt +0 -0
  252. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/cv1d.zip +0 -0
  253. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/decker-2009.mmt +0 -0
  254. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/dn-1985-normalised.mmt +0 -0
  255. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/dom-markov.mmt +0 -0
  256. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/abf-protocol.pro +0 -0
  257. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/abf-v1.abf +0 -0
  258. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/abf-v2.abf +0 -0
  259. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/cellml/LICENSE +0 -0
  260. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/cellml/br-1977-dot.cellml +0 -0
  261. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/cellml/br-1977.cellml +0 -0
  262. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/cellml/corrias.cellml +0 -0
  263. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/cellml/decker-2009.cellml +0 -0
  264. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/cellml/documentation.cellml +0 -0
  265. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/cellml/invalid-file.cellml +0 -0
  266. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/cellml/lr-1991-exported-1.cellml +0 -0
  267. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/cellml/lr-1991-exported-2.cellml +0 -0
  268. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/channelml/ch-00-valid-file.channelml +0 -0
  269. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/channelml/ch-01-wrong-root.channelml +0 -0
  270. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/channelml/ch-02-no-channel-type.channelml +0 -0
  271. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/channelml/ch-03-overlapping-name.channelml +0 -0
  272. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/channelml/ch-04-no-cvr.channelml +0 -0
  273. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/channelml/ch-05-two-cvrs.channelml +0 -0
  274. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/channelml/ch-06-no-q10.channelml +0 -0
  275. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/channelml/ch-07-three-transitions.channelml +0 -0
  276. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/channelml/ch-08-no-closed-to-open.channelml +0 -0
  277. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/channelml/ch-09-no-open-to-closed.channelml +0 -0
  278. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/channelml/ch-10-tco-bad-expression.channelml +0 -0
  279. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/channelml/ch-11-toc-bad-expression.channelml +0 -0
  280. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/channelml/ch-12-no-steady-state.channelml +0 -0
  281. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/channelml/ch-13-no-time-course.channelml +0 -0
  282. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/channelml/ch-14-inf-bad-expression.channelml +0 -0
  283. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/channelml/ch-15-tau-bad-expression.channelml +0 -0
  284. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/channelml/ch-16-no-gates.channelml +0 -0
  285. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/channelml/ch-17-invalid-name.channelml +0 -0
  286. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/channelml/ch-18-c-style-if.channelml +0 -0
  287. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/sbml/00004-sbml-l2v1-modified.xml +0 -0
  288. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/sbml/00004-sbml-l3v2-modified.xml +0 -0
  289. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/sbml/HodgkinHuxley.xml +0 -0
  290. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/sbml/LICENSE +0 -0
  291. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/sbml/model/00001-sbml-l3v2.xml +0 -0
  292. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/sbml/model/00004-sbml-l3v2.xml +0 -0
  293. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/sbml/model/01103-sbml-l3v2.xml +0 -0
  294. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/sbml/result/00001-results.csv +0 -0
  295. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/sbml/result/00004-results.csv +0 -0
  296. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/sbml/result/01103-results.csv +0 -0
  297. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/formats/wcp-file.wcp +0 -0
  298. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/bad1d-1-not-enough-files.zip +0 -0
  299. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/bad1d-2-no-header.zip +0 -0
  300. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/bad1d-3-no-data.zip +0 -0
  301. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/bad1d-4-not-a-zip.zip +0 -0
  302. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/bad1d-5-bad-data-type.zip +0 -0
  303. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/bad1d-6-time-too-short.zip +0 -0
  304. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/bad1d-7-0d-too-short.zip +0 -0
  305. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/bad1d-8-1d-too-short.zip +0 -0
  306. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/bad2d-1-not-enough-files.zip +0 -0
  307. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/bad2d-2-no-header.zip +0 -0
  308. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/bad2d-3-no-data.zip +0 -0
  309. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/bad2d-4-not-a-zip.zip +0 -0
  310. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/bad2d-5-bad-data-type.zip +0 -0
  311. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/bad2d-6-time-too-short.zip +0 -0
  312. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/bad2d-7-0d-too-short.zip +0 -0
  313. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/bad2d-8-2d-too-short.zip +0 -0
  314. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/badlog-1-no-data.zip +0 -0
  315. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/badlog-2-no-structure.zip +0 -0
  316. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/badlog-3-not-a-zip.zip +0 -0
  317. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/badlog-4-invalid-n-fields.zip +0 -0
  318. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/badlog-5-invalid-data-size.zip +0 -0
  319. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/badlog-6-bad-data-type.zip +0 -0
  320. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/badlog-7-not-enough-data.zip +0 -0
  321. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/block2d.mmt +0 -0
  322. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/block2d.zip +0 -0
  323. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/datalog-1-empty.csv +0 -0
  324. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/datalog-10-just-spaces.csv +0 -0
  325. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/datalog-11-just-a-semicolon.csv +0 -0
  326. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/datalog-12-bad-header.csv +0 -0
  327. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/datalog-13-header-with-empty-1.csv +0 -0
  328. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/datalog-14-header-with-empty-2.csv +0 -0
  329. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/datalog-15-header-with-empty-3.csv +0 -0
  330. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/datalog-16-wrong-columns-in-data.csv +0 -0
  331. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/datalog-17-non-float-data.csv +0 -0
  332. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/datalog-2-windows.csv +0 -0
  333. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/datalog-3-old-mac.csv +0 -0
  334. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/datalog-4-empty-lines.csv +0 -0
  335. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/datalog-5-semicolons.csv +0 -0
  336. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/datalog-6-open-string.csv +0 -0
  337. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/datalog-7-empty-lines-2.csv +0 -0
  338. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/datalog-8-unquoted-header.csv +0 -0
  339. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/datalog-9-double-quoted-header.csv +0 -0
  340. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/datalog.csv +0 -0
  341. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/io/goodlog.zip +0 -0
  342. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/lr-1991-dep.mmt +0 -0
  343. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/lr-1991-fitting.mmt +0 -0
  344. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/lr-1991-testing.mmt +0 -0
  345. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/lr-1991.mmt +0 -0
  346. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/multi/beeler-1977-protocol.mmt +0 -0
  347. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/multi/beeler-1977-script.mmt +0 -0
  348. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/multi/beeler-no-name.mmt +0 -0
  349. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/multi/lr-1991.mmt +0 -0
  350. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/multi/not-a-model.csv +0 -0
  351. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/multi/subdir/beeler-no-name.mmt +0 -0
  352. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/data/noble-1962.mmt +0 -0
  353. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_aux.py +0 -0
  354. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_cellml_v1_api.py +0 -0
  355. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_cellml_v1_parser.py +0 -0
  356. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_cellml_v1_writer.py +0 -0
  357. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_cellml_v2_api.py +0 -0
  358. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_cellml_v2_parser.py +0 -0
  359. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_cellml_v2_writer.py +0 -0
  360. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_cmodel.py +0 -0
  361. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_compiler_detection.py +0 -0
  362. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_component.py +0 -0
  363. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_config.py +0 -0
  364. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_datablock.py +0 -0
  365. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_datalog.py +0 -0
  366. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_dependency_checking.py +0 -0
  367. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_expressions.py +0 -0
  368. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_float.py +0 -0
  369. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_formats_cellml.py +0 -0
  370. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_formats_channelml.py +0 -0
  371. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_formats_sbml.py +0 -0
  372. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_formats_wcp.py +0 -0
  373. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_io.py +0 -0
  374. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_jacobian_calculator.py +0 -0
  375. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_jacobian_tracer.py +0 -0
  376. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_lib_deps.py +0 -0
  377. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_lib_guess.py +0 -0
  378. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_lib_markov.py +0 -0
  379. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_lib_multi.py +0 -0
  380. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_meta.py +0 -0
  381. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_model_building.py +0 -0
  382. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_opencl_info.py +0 -0
  383. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_pacing_factory.py +0 -0
  384. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_pacing_system_c.py +0 -0
  385. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_pacing_system_py.py +0 -0
  386. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_parsing.py +0 -0
  387. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_progress_reporters.py +0 -0
  388. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_protocol.py +0 -0
  389. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_protocol_floating_point.py +0 -0
  390. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_protocol_time_series.py +0 -0
  391. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_pype.py +0 -0
  392. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_quantity.py +0 -0
  393. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_rhs_benchmarker.py +0 -0
  394. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_sbml_api.py +0 -0
  395. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_sbml_parser.py +0 -0
  396. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_simulation_1d.py +0 -0
  397. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_simulation_cvodes_from_disk.py +0 -0
  398. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_simulation_fiber_tissue.py +0 -0
  399. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_simulation_log_interval.py +0 -0
  400. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_simulation_opencl.py +0 -0
  401. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_simulation_opencl_log_interval.py +0 -0
  402. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_simulation_opencl_vs_cvode.py +0 -0
  403. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_simulation_opencl_vs_sim1d.py +0 -0
  404. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_system_info.py +0 -0
  405. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_tools.py +0 -0
  406. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_unit.py +0 -0
  407. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_user_functions.py +0 -0
  408. {myokit-1.35.4 → myokit-1.36.1}/myokit/tests/test_variable.py +0 -0
  409. {myokit-1.35.4 → myokit-1.36.1}/myokit/units.py +0 -0
  410. {myokit-1.35.4 → myokit-1.36.1}/myokit.egg-info/dependency_links.txt +0 -0
  411. {myokit-1.35.4 → myokit-1.36.1}/myokit.egg-info/entry_points.txt +0 -0
  412. {myokit-1.35.4 → myokit-1.36.1}/myokit.egg-info/not-zip-safe +0 -0
  413. {myokit-1.35.4 → myokit-1.36.1}/myokit.egg-info/requires.txt +0 -0
  414. {myokit-1.35.4 → myokit-1.36.1}/myokit.egg-info/top_level.txt +0 -0
  415. {myokit-1.35.4 → myokit-1.36.1}/setup.cfg +0 -0
  416. {myokit-1.35.4 → myokit-1.36.1}/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-2023 University of Nottingham. All rights reserved.
6
+ Copyright (c) 2020-2024 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.35.4
3
+ Version: 1.36.1
4
4
  Summary: A modeling and simulation tool for cardiac cellular electrophysiology
5
5
  Home-page: http://myokit.org
6
6
  Author: Michael Clerx
@@ -37,19 +37,19 @@ License-File: LICENSE.txt
37
37
  [![codecov](https://codecov.io/gh/myokit/myokit/branch/main/graph/badge.svg)](https://codecov.io/gh/myokit/myokit)
38
38
  [![Documentation Status](https://readthedocs.org/projects/myokit/badge/?version=latest)](https://myokit.readthedocs.io/?badge=latest)
39
39
 
40
- ![Myokit](http://myokit.org/static/img/logo.png)
40
+ ![Myokit](https://myokit.org/static/img/logo.png)
41
41
 
42
- [Myokit](http://myokit.org) is a tool for modeling and simulation of cardiac cellular electrophysiology.
42
+ [Myokit](https://myokit.org) is a tool for modeling and simulation of cardiac cellular electrophysiology.
43
43
  It's [open-source](https://github.com/myokit/myokit/blob/main/LICENSE.txt), written in Python, hosted on [GitHub](https://github.com/myokit/myokit/) and available on [PyPi](https://pypi.org/project/myokit/).
44
44
  For the latest documentation, see [myokit.readthedocs.io](https://myokit.readthedocs.io/).
45
45
 
46
- More information, including examples and an installation guide, is available on [myokit.org](http://myokit.org).
46
+ More information, including examples and an installation guide, is available on [myokit.org](https://myokit.org).
47
47
  A list of changes introduced in each Myokit release is provided in the [Changelog](https://github.com/myokit/myokit/blob/main/CHANGELOG.md).
48
48
 
49
49
 
50
50
  ## Install
51
51
 
52
- For full installation details (on linux, mac, or windows), please see [http://myokit.org/install](http://myokit.org/install).
52
+ For full installation details (on linux, mac, or windows), please see [https://myokit.org/install](https://myokit.org/install).
53
53
  A shorter installation guide for experienced users is given below.
54
54
 
55
55
  To install Myokit, using PyQt5 for Myokit's GUI components, run:
@@ -97,12 +97,23 @@ To see what else Myokit can do, type
97
97
 
98
98
  ## Contributing to Myokit
99
99
 
100
- You can contribute to Myokit by [reporting issues](https://github.com/myokit/myokit/issues), but code contributions (bugfixes, new formats, new features etc.) are also very welcome!
101
- New features are best discussed in an issue before starting any implementation work, and guidelines for code style (and more) can be found in [CONTRIBUTING.md](https://github.com/myokit/myokit/blob/main/CONTRIBUTING.md).
100
+ Contributing to Myokit is as easy as [asking questions](https://github.com/myokit/myokit/discussions) or posting [issues and feature requests](https://github.com/myokit/myokit/issues), and we have [pledged](./CODE_OF_CONDUCT.md) to make this an inclusive experience.
101
+
102
+ We are always looking for people to contribute code too!
103
+ Guidelines to help you do this are provided in [CONTRIBUTING.md](./CONTRIBUTING.md), but before diving in please [open an issue](https://github.com/myokit/myokit/issues) so that we can first discuss what needs to be done.
104
+
105
+ A high-level plan for Myokit's future is provided in the [roadmap](./ROADMAP.md).
106
+
107
+
108
+ ### Meet the team!
109
+
110
+ Myokit's development is driven by a [team](https://github.com/orgs/myokit/people) at the Universities of Nottingham, Oxford, and Macao, led by Michael Clerx (Nottingham).
111
+ It is guided by an external advisory board composed of Jordi Heijman (Maastricht University), Trine Krogh-Madsen (Weill Cornell Medicine), and David Gavaghan (Oxford).
102
112
 
103
113
 
104
114
  ## Citing Myokit
105
115
 
106
116
  If you use Myokit in your research, please cite it using the information in our [CITATION file](https://github.com/myokit/myokit/blob/main/CITATION).
107
117
 
108
- I like to [keep track of who's using Myokit](http://myokit.org/publications/) (for my CV!). If you are using Myokit for teaching, I'd love to hear about it. You can drop me a line at michael[at]myokit.org.
118
+ We like to [keep track of who's using Myokit](https://myokit.org/publications/) for research (based on publications) and teaching (based on peronsal correspondence).
119
+ If you've used Myokit in teaching, we're always happy to hear about it so please get in touch via the [discussion board](https://github.com/myokit/myokit/discussions)!
@@ -5,19 +5,19 @@
5
5
  [![codecov](https://codecov.io/gh/myokit/myokit/branch/main/graph/badge.svg)](https://codecov.io/gh/myokit/myokit)
6
6
  [![Documentation Status](https://readthedocs.org/projects/myokit/badge/?version=latest)](https://myokit.readthedocs.io/?badge=latest)
7
7
 
8
- ![Myokit](http://myokit.org/static/img/logo.png)
8
+ ![Myokit](https://myokit.org/static/img/logo.png)
9
9
 
10
- [Myokit](http://myokit.org) is a tool for modeling and simulation of cardiac cellular electrophysiology.
10
+ [Myokit](https://myokit.org) is a tool for modeling and simulation of cardiac cellular electrophysiology.
11
11
  It's [open-source](https://github.com/myokit/myokit/blob/main/LICENSE.txt), written in Python, hosted on [GitHub](https://github.com/myokit/myokit/) and available on [PyPi](https://pypi.org/project/myokit/).
12
12
  For the latest documentation, see [myokit.readthedocs.io](https://myokit.readthedocs.io/).
13
13
 
14
- More information, including examples and an installation guide, is available on [myokit.org](http://myokit.org).
14
+ More information, including examples and an installation guide, is available on [myokit.org](https://myokit.org).
15
15
  A list of changes introduced in each Myokit release is provided in the [Changelog](https://github.com/myokit/myokit/blob/main/CHANGELOG.md).
16
16
 
17
17
 
18
18
  ## Install
19
19
 
20
- For full installation details (on linux, mac, or windows), please see [http://myokit.org/install](http://myokit.org/install).
20
+ For full installation details (on linux, mac, or windows), please see [https://myokit.org/install](https://myokit.org/install).
21
21
  A shorter installation guide for experienced users is given below.
22
22
 
23
23
  To install Myokit, using PyQt5 for Myokit's GUI components, run:
@@ -65,12 +65,23 @@ To see what else Myokit can do, type
65
65
 
66
66
  ## Contributing to Myokit
67
67
 
68
- You can contribute to Myokit by [reporting issues](https://github.com/myokit/myokit/issues), but code contributions (bugfixes, new formats, new features etc.) are also very welcome!
69
- New features are best discussed in an issue before starting any implementation work, and guidelines for code style (and more) can be found in [CONTRIBUTING.md](https://github.com/myokit/myokit/blob/main/CONTRIBUTING.md).
68
+ Contributing to Myokit is as easy as [asking questions](https://github.com/myokit/myokit/discussions) or posting [issues and feature requests](https://github.com/myokit/myokit/issues), and we have [pledged](./CODE_OF_CONDUCT.md) to make this an inclusive experience.
69
+
70
+ We are always looking for people to contribute code too!
71
+ Guidelines to help you do this are provided in [CONTRIBUTING.md](./CONTRIBUTING.md), but before diving in please [open an issue](https://github.com/myokit/myokit/issues) so that we can first discuss what needs to be done.
72
+
73
+ A high-level plan for Myokit's future is provided in the [roadmap](./ROADMAP.md).
74
+
75
+
76
+ ### Meet the team!
77
+
78
+ Myokit's development is driven by a [team](https://github.com/orgs/myokit/people) at the Universities of Nottingham, Oxford, and Macao, led by Michael Clerx (Nottingham).
79
+ It is guided by an external advisory board composed of Jordi Heijman (Maastricht University), Trine Krogh-Madsen (Weill Cornell Medicine), and David Gavaghan (Oxford).
70
80
 
71
81
 
72
82
  ## Citing Myokit
73
83
 
74
84
  If you use Myokit in your research, please cite it using the information in our [CITATION file](https://github.com/myokit/myokit/blob/main/CITATION).
75
85
 
76
- I like to [keep track of who's using Myokit](http://myokit.org/publications/) (for my CV!). If you are using Myokit for teaching, I'd love to hear about it. You can drop me a line at michael[at]myokit.org.
86
+ We like to [keep track of who's using Myokit](https://myokit.org/publications/) for research (based on publications) and teaching (based on peronsal correspondence).
87
+ If you've used Myokit in teaching, we're always happy to hear about it so please get in touch via the [discussion board](https://github.com/myokit/myokit/discussions)!
@@ -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-2023 University of Nottingham. All rights reserved.
82
+ Copyright (c) 2020-2024 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-2023 University of Nottingham. All rights
121
+ <br />Copyright (c) 2020-2024 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
@@ -220,8 +220,10 @@ DEBUG_WG = False
220
220
  DEBUG_SC = False
221
221
  # Show C debug Messages when running compiled code:
222
222
  DEBUG_SM = False
223
- # Show C Profiling information when running compiled code:
223
+ # Show C profiling information when running compiled code:
224
224
  DEBUG_SP = False
225
+ # Show C detailed simulator stats when running simulations
226
+ DEBUG_SS = False
225
227
 
226
228
  #
227
229
  # Compatibility settings: Some users report problems with output capturing.
@@ -924,10 +924,8 @@ def add_reset_parser(subparsers):
924
924
  # Run
925
925
  #
926
926
 
927
- def run(source, debug_sg, debug_wg, debug_sc, debug_sm, debug_sp):
928
- """
929
- Runs an mmt file script.
930
- """
927
+ def run(source, debug_sg, debug_wg, debug_sc, debug_sm, debug_sp, debug_ss):
928
+ """ Runs an mmt file script. """
931
929
  import sys
932
930
  import myokit
933
931
 
@@ -942,6 +940,8 @@ def run(source, debug_sg, debug_wg, debug_sc, debug_sm, debug_sp):
942
940
  myokit.DEBUG_SM = myokit.DEBUG_SM or debug_sm
943
941
  # Show profiling information when running compiled code
944
942
  myokit.DEBUG_SP = myokit.DEBUG_SP or debug_sp
943
+ # Show CVODES stats
944
+ myokit.DEBUG_SS = myokit.DEBUG_SS or debug_ss
945
945
 
946
946
  # Read mmt file
947
947
  try:
@@ -1011,31 +1011,31 @@ def add_run_parser(subparsers):
1011
1011
  '--debug-sg',
1012
1012
  action='store_true',
1013
1013
  help='Show the generated code instead of executing it.',
1014
- #metavar='debug_sg',
1015
1014
  )
1016
1015
  parser.add_argument(
1017
1016
  '--debug-wg',
1018
1017
  action='store_true',
1019
1018
  help='Write the generated code to file(s) instead of executing it.',
1020
- #metavar='debug_wg',
1021
1019
  )
1022
1020
  parser.add_argument(
1023
1021
  '--debug-sc',
1024
1022
  action='store_true',
1025
1023
  help='Show compiler output.',
1026
- #metavar='debug_sc',
1027
1024
  )
1028
1025
  parser.add_argument(
1029
1026
  '--debug-sm',
1030
1027
  action='store_true',
1031
1028
  help='Show debug messages when executing compiled code.',
1032
- #metavar='debug_sm',
1033
1029
  )
1034
1030
  parser.add_argument(
1035
1031
  '--debug-sp',
1036
1032
  action='store_true',
1037
1033
  help='Show profiling information when executing compiled code.',
1038
- #metavar='debug_sp',
1034
+ )
1035
+ parser.add_argument(
1036
+ '--debug-ss',
1037
+ action='store_true',
1038
+ help='Show CVODES stats when running simulations.',
1039
1039
  )
1040
1040
  parser.set_defaults(func=run)
1041
1041
 
@@ -1239,11 +1239,6 @@ def add_test_parser(subparsers):
1239
1239
  help='Test documentation cover, building, and doc tests.')
1240
1240
  doc_parser.set_defaults(testfunc=test_documentation)
1241
1241
 
1242
- # Example notebooks
1243
- example_parser = subparsers.add_parser(
1244
- 'examples', help='Test example notebooks.')
1245
- example_parser.set_defaults(testfunc=test_examples)
1246
-
1247
1242
  # Style tests
1248
1243
  style_parser = subparsers.add_parser('style', help='Run code style tests.')
1249
1244
  style_parser.set_defaults(testfunc=test_style)
@@ -1643,151 +1638,6 @@ def test_doc_coverage_index(modules, classes, functions):
1643
1638
  return n == 0
1644
1639
 
1645
1640
 
1646
- def test_examples(args):
1647
- """
1648
- Tests the example notebooks.
1649
- """
1650
- books = test_examples_list('examples')
1651
- print(books)
1652
-
1653
- print('Found ' + str(len(books)) + ' notebook(s).')
1654
- test_examples_index('examples', books)
1655
- test_examples_all('examples', books)
1656
-
1657
-
1658
- def test_examples_index(root, books):
1659
- """ Check that every notebook is included in the index. """
1660
- import os
1661
- import sys
1662
-
1663
- print('Checking index...')
1664
-
1665
- # Index file is in ./examples/README.md
1666
- index_file = os.path.join(root, 'README.md')
1667
- with open(index_file, 'r') as f:
1668
- index_contents = f.read()
1669
-
1670
- # Find which are not indexed
1671
- not_indexed = [book for book in books if book not in index_contents]
1672
-
1673
- # Report any failures
1674
- if len(not_indexed) > 0:
1675
- print('FAIL: Unindexed notebooks')
1676
- for book in sorted(not_indexed):
1677
- print(' ' + str(book))
1678
- sys.exit(1)
1679
- else:
1680
- print('ok: All (' + str(len(books)) + ') notebooks are indexed.')
1681
-
1682
-
1683
- def test_examples_list(root, recursive=True):
1684
- """ Returns a list of all notebooks in a directory. """
1685
- import os
1686
-
1687
- def scan(root, recursive, notebooks):
1688
- for filename in os.listdir(root):
1689
- path = os.path.join(root, filename)
1690
-
1691
- # Add notebook
1692
- if os.path.splitext(path)[1] == '.ipynb':
1693
- notebooks.append(path)
1694
-
1695
- # Recurse into subdirectories
1696
- elif recursive and os.path.isdir(path):
1697
- # Ignore hidden directories
1698
- if filename[:1] == '.':
1699
- continue
1700
- scan(path, recursive, notebooks)
1701
- return notebooks
1702
-
1703
- notebooks = []
1704
- scan(root, recursive, notebooks)
1705
- notebooks = [os.path.relpath(book, root) for book in notebooks]
1706
-
1707
- return notebooks
1708
-
1709
-
1710
- def test_examples_single(root, path):
1711
- """ Tests a notebook in a subprocess, exists if it doesn't finish. """
1712
- import myokit
1713
- import nbconvert
1714
- import os
1715
- import subprocess
1716
- import sys
1717
-
1718
- b = myokit.tools.Benchmarker()
1719
- print('Running ' + path + ' ... ', end='')
1720
- sys.stdout.flush()
1721
-
1722
- # Load notebook, convert to python
1723
- e = nbconvert.exporters.PythonExporter()
1724
- code, _ = e.from_filename(os.path.join(root, path))
1725
-
1726
- # Remove coding statement, if present
1727
- code = '\n'.join([x for x in code.splitlines() if x[:9] != '# coding'])
1728
-
1729
- # Tell matplotlib not to produce any figures
1730
- env = os.environ.copy()
1731
- env['MPLBACKEND'] = 'Template'
1732
-
1733
- # Run in subprocess
1734
- cmd = [sys.executable, '-c', code]
1735
- curdir = os.getcwd()
1736
- try:
1737
- os.chdir(root)
1738
- p = subprocess.Popen(
1739
- cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=env
1740
- )
1741
- stdout, stderr = p.communicate(timeout=3600)
1742
- if p.returncode != 0:
1743
- # Show failing code, output and errors before returning
1744
- print('ERROR')
1745
- print('-- script ' + '-' * (79 - 10))
1746
- for i, line in enumerate(code.splitlines()):
1747
- j = str(1 + i)
1748
- print(j + ' ' * (5 - len(j)) + line)
1749
- print('-- stdout ' + '-' * (79 - 10))
1750
- print(stdout)
1751
- print('-- stderr ' + '-' * (79 - 10))
1752
- print(stderr)
1753
- print('-' * 79)
1754
- return False
1755
- except KeyboardInterrupt:
1756
- p.terminate()
1757
- print('ABORTED')
1758
- sys.exit(1)
1759
- finally:
1760
- os.chdir(curdir)
1761
-
1762
- # Successfully run
1763
- print('ok (' + b.format(b.time()) + ')')
1764
- return True
1765
-
1766
-
1767
- def test_examples_all(root, books):
1768
- """ Runs all notebooks, and exits if one fails. """
1769
- import sys
1770
-
1771
- # Ignore books with deliberate errors, but check they still exist
1772
- ignore_list = [
1773
- ]
1774
- books = set(books) - set(ignore_list)
1775
-
1776
- # Scan and run
1777
- print('Testing notebooks')
1778
- failed = []
1779
- for book in books:
1780
- if not test_examples_single(root, book):
1781
- failed.append(book)
1782
- if failed:
1783
- print('FAIL: Errors encountered in notebooks')
1784
- for book in failed:
1785
- print(' ' + str(book))
1786
- sys.exit(1)
1787
- else:
1788
- print('ok: Successfully ran all (' + str(len(books)) + ') notebooks.')
1789
-
1790
-
1791
1641
  def test_examples_web(args):
1792
1642
  """
1793
1643
  Runs all web examples, exits if one of them fails.
@@ -139,7 +139,7 @@ def _create(path):
139
139
  config.set('opencl', 'lib', ';'.join([
140
140
  c64 + 'Intel\\OpenCL SDK\\6.3\\lib\\x64',
141
141
  c64 + 'AMD APP SDK\\2.9\\bin\\x64',
142
- c64 + 'NVIDIA GPU Computing Toolkit\CUDA\\v11.8\\lib\\x64',
142
+ c64 + 'NVIDIA GPU Computing Toolkit\\CUDA\\v11.8\\lib\\x64',
143
143
  ]))
144
144
  else:
145
145
  # Linux and mac
@@ -199,7 +199,7 @@ def _load():
199
199
  lines = f.readlines()
200
200
 
201
201
  import re
202
- inline_comment = re.compile('[\w]+[\s]*=[\s]*.+?\s+(;)')
202
+ inline_comment = re.compile(r'[\w]+[\s]*=[\s]*.+?\s+(;)')
203
203
  for i, line in enumerate(lines):
204
204
  m = inline_comment.match(line)
205
205
  if m is not None:
@@ -665,8 +665,8 @@ class Expression:
665
665
 
666
666
  # Create function text
667
667
  args = [w.ex(x) for x in self._references]
668
- c = 'def ex_pyfunc_generated(' + ','.join(args) + '):\n return ' \
669
- + w.ex(self)
668
+ c = ('def ex_pyfunc_generated(' + ','.join(sorted(args))
669
+ + '):\n return ' + w.ex(self))
670
670
 
671
671
  # Create function
672
672
  local = {}
@@ -682,8 +682,8 @@ class Expression:
682
682
  """
683
683
  Returns a string representing this expression in Python syntax.
684
684
 
685
- By default, built-in functions such as 'exp' are converted to the
686
- Python version 'math.exp'. To use the numpy versions, set
685
+ By default, built-in functions such as ``exp`` are converted to the
686
+ Python version ``math.exp``. To use the numpy versions, set
687
687
  ``numpy=True``.
688
688
  """
689
689
  # Get expression writer
@@ -810,7 +810,6 @@ class Expression:
810
810
  class Number(Expression):
811
811
  """
812
812
  Represents a number with an optional unit for use in Myokit expressions.
813
- All numbers used in Myokit expressions are floating point.
814
813
 
815
814
  >>> import myokit
816
815
  >>> x = myokit.Number(10)
@@ -821,11 +820,12 @@ class Number(Expression):
821
820
  >>> print(x)
822
821
  5 [V]
823
822
 
823
+ All numbers used in Myokit expressions are floating point.
824
+
824
825
  Arguments:
825
826
 
826
827
  ``value``
827
828
  A numerical value (something that can be converted to a ``float``).
828
- Number objects are immutable so no clone constructor is provided.
829
829
  ``unit``
830
830
  A unit to associate with this number. If no unit is specified the
831
831
  number's unit will be left undefined.
@@ -10,6 +10,8 @@ import re
10
10
 
11
11
  from collections import OrderedDict
12
12
 
13
+ import numpy
14
+
13
15
  import myokit
14
16
 
15
17
 
@@ -1406,11 +1408,13 @@ class Model(ObjectWithMetaData, VarProvider):
1406
1408
  value = float('nan')
1407
1409
  values[eq.lhs] = value
1408
1410
  else:
1409
- for group in order.values():
1410
- for eq in group:
1411
- if eq.lhs in values:
1412
- continue
1413
- values[eq.lhs] = eq.rhs.eval(values, precision=precision)
1411
+ with numpy.errstate(all='raise'):
1412
+ for group in order.values():
1413
+ for eq in group:
1414
+ if eq.lhs in values:
1415
+ continue
1416
+ values[eq.lhs] = eq.rhs.eval(
1417
+ values, precision=precision)
1414
1418
 
1415
1419
  # Return calculated state
1416
1420
  return [values[state.lhs()] for state in self._state_vars]
@@ -1571,7 +1575,7 @@ class Model(ObjectWithMetaData, VarProvider):
1571
1575
  ``derivatives=None``
1572
1576
  An optional list or other sequence of evaluated derivatives. If not
1573
1577
  given, the values will be calculed from ``state`` using
1574
- :meth:`eval_derivatives()`.
1578
+ :meth:`evaluate_derivatives()`.
1575
1579
  ``precision=myokit.DOUBLE_PRECISION``
1576
1580
  An optional precision argument to use when evaluating the state
1577
1581
  derivatives, and to pass into :meth:`myokit.float.str` when
@@ -2196,7 +2200,7 @@ class Model(ObjectWithMetaData, VarProvider):
2196
2200
  """
2197
2201
  # Deprecated since 2023-02-22
2198
2202
  import warnings
2199
- warnings.warn('The method `load_state` is deprecated.')
2203
+ warnings.warn('The method `Model.load_state` is deprecated.')
2200
2204
  self.set_initial_values(myokit.load_state(filename, self))
2201
2205
 
2202
2206
  def map_component_dependencies(
@@ -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, 35, 4
17
+ __version_tuple__ = 1, 36, 1
18
18
 
19
19
  # String version of the version number
20
20
  __version__ = '.'.join([str(x) for x in __version_tuple__])
@@ -858,6 +858,10 @@ class TimeSeriesProtocol:
858
858
  Protocols can be compared with ``==``, which will check if the sequence of
859
859
  time value pairs is the same, and the interpolation method is the same.
860
860
  Protocols can be serialized with ``pickle``.
861
+
862
+ **Note**: Time series protocols cannot be used to represent signals
863
+ containing discontinuities, as these will be smoothed out by the
864
+ interpolation.
861
865
  """
862
866
 
863
867
  def __init__(self, times, values, method=None):
@@ -150,6 +150,7 @@ class CModule:
150
150
  if platform.system() == 'Linux':
151
151
  carg.extend([
152
152
  '-Wextra',
153
+ #'-Wpedantic',
153
154
  '-Wstrict-prototypes',
154
155
  '-Wold-style-definition',
155
156
  #'-Wmissing-prototypes',