myokit 1.34.0__tar.gz → 1.35.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (401) hide show
  1. {myokit-1.34.0/myokit.egg-info → myokit-1.35.0}/PKG-INFO +2 -2
  2. {myokit-1.34.0 → myokit-1.35.0}/myokit/__init__.py +5 -23
  3. {myokit-1.34.0 → myokit-1.35.0}/myokit/__main__.py +70 -117
  4. {myokit-1.34.0 → myokit-1.35.0}/myokit/_aux.py +5 -8
  5. {myokit-1.34.0 → myokit-1.35.0}/myokit/_config.py +22 -31
  6. {myokit-1.34.0 → myokit-1.35.0}/myokit/_datablock.py +26 -70
  7. {myokit-1.34.0 → myokit-1.35.0}/myokit/_datalog.py +23 -53
  8. {myokit-1.34.0 → myokit-1.35.0}/myokit/_err.py +13 -15
  9. {myokit-1.34.0 → myokit-1.35.0}/myokit/_expressions.py +35 -55
  10. {myokit-1.34.0 → myokit-1.35.0}/myokit/_io.py +5 -22
  11. {myokit-1.34.0 → myokit-1.35.0}/myokit/_model_api.py +34 -47
  12. {myokit-1.34.0 → myokit-1.35.0}/myokit/_myokit_version.py +1 -5
  13. {myokit-1.34.0 → myokit-1.35.0}/myokit/_parsing.py +17 -25
  14. {myokit-1.34.0 → myokit-1.35.0}/myokit/_progress.py +4 -7
  15. {myokit-1.34.0 → myokit-1.35.0}/myokit/_protocol.py +6 -9
  16. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/__init__.py +7 -24
  17. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/cable.c +1 -3
  18. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/cable.py +3 -5
  19. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/cmodel.h +1 -3
  20. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/cmodel.py +1 -4
  21. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/compiler.py +1 -4
  22. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/cvodessim.c +1 -4
  23. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/cvodessim.py +1 -4
  24. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/fiber_tissue.c +2 -6
  25. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/fiber_tissue.py +3 -5
  26. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/jacobian.py +6 -7
  27. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/mcl.h +51 -53
  28. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/opencl.py +9 -22
  29. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/openclsim.c +2 -6
  30. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/openclsim.py +6 -6
  31. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/pacing.h +2 -6
  32. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/rhs.c +3 -10
  33. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/rhs.py +4 -13
  34. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/sundials.py +1 -4
  35. {myokit-1.34.0 → myokit-1.35.0}/myokit/_system.py +10 -16
  36. {myokit-1.34.0 → myokit-1.35.0}/myokit/_unit.py +3 -12
  37. {myokit-1.34.0 → myokit-1.35.0}/myokit/float.py +0 -3
  38. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/__init__.py +8 -10
  39. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/ansic/__init__.py +0 -3
  40. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/ansic/_ewriter.py +2 -4
  41. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/ansic/_exporter.py +0 -3
  42. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/axon/__init__.py +1 -3
  43. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/axon/_abf.py +12 -15
  44. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/axon/_atf.py +5 -6
  45. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/axon/_importer.py +0 -3
  46. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/cellml/__init__.py +0 -3
  47. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/cellml/_ewriter.py +3 -6
  48. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/cellml/_exporter.py +3 -6
  49. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/cellml/_importer.py +1 -4
  50. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/cellml/v1/__init__.py +0 -4
  51. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/cellml/v1/_api.py +7 -10
  52. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/cellml/v1/_parser.py +2 -5
  53. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/cellml/v1/_writer.py +2 -11
  54. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/cellml/v2/__init__.py +0 -3
  55. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/cellml/v2/_api.py +7 -16
  56. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/cellml/v2/_parser.py +2 -5
  57. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/cellml/v2/_writer.py +1 -4
  58. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/channelml/__init__.py +0 -3
  59. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/channelml/_importer.py +4 -14
  60. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/cpp/__init__.py +1 -3
  61. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/cpp/_ewriter.py +0 -3
  62. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/cuda/__init__.py +0 -3
  63. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/cuda/_ewriter.py +2 -4
  64. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/cuda/_exporter.py +0 -3
  65. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/easyml/__init__.py +0 -3
  66. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/easyml/_ewriter.py +9 -11
  67. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/easyml/_exporter.py +0 -3
  68. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/html/__init__.py +0 -3
  69. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/html/_exporter.py +0 -3
  70. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/html/_flatten.py +5 -21
  71. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/latex/__init__.py +0 -3
  72. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/latex/_ewriter.py +1 -4
  73. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/latex/_exporter.py +3 -5
  74. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/mathml/__init__.py +0 -3
  75. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/mathml/_ewriter.py +2 -11
  76. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/mathml/_parser.py +3 -5
  77. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/matlab/__init__.py +0 -3
  78. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/matlab/_ewriter.py +1 -4
  79. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/matlab/_exporter.py +0 -3
  80. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/opencl/__init__.py +0 -3
  81. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/opencl/_ewriter.py +2 -4
  82. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/opencl/_exporter.py +0 -3
  83. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/python/__init__.py +0 -3
  84. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/python/_ewriter.py +2 -5
  85. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/python/_exporter.py +0 -3
  86. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/python/template/sim.py +10 -10
  87. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/sbml/__init__.py +0 -3
  88. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/sbml/_api.py +17 -11
  89. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/sbml/_importer.py +1 -4
  90. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/sbml/_parser.py +2 -5
  91. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/stan/__init__.py +0 -3
  92. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/stan/_ewriter.py +2 -4
  93. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/stan/_exporter.py +1 -4
  94. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/sympy/__init__.py +0 -3
  95. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/sympy/_ereader.py +1 -4
  96. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/sympy/_ewriter.py +2 -5
  97. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/wcp/__init__.py +0 -3
  98. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/wcp/_wcp.py +1 -7
  99. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/xml/__init__.py +0 -3
  100. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/xml/_exporter.py +0 -3
  101. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/xml/_split.py +0 -3
  102. myokit-1.35.0/myokit/gui/__init__.py +240 -0
  103. {myokit-1.34.0 → myokit-1.35.0}/myokit/gui/datablock_viewer.py +100 -83
  104. {myokit-1.34.0 → myokit-1.35.0}/myokit/gui/datalog_viewer.py +32 -44
  105. {myokit-1.34.0 → myokit-1.35.0}/myokit/gui/explorer.py +15 -21
  106. {myokit-1.34.0 → myokit-1.35.0}/myokit/gui/ide.py +105 -125
  107. {myokit-1.34.0 → myokit-1.35.0}/myokit/gui/progress.py +9 -9
  108. {myokit-1.34.0 → myokit-1.35.0}/myokit/gui/source.py +405 -374
  109. {myokit-1.34.0 → myokit-1.35.0}/myokit/gui/vargrapher.py +2 -12
  110. {myokit-1.34.0 → myokit-1.35.0}/myokit/lib/deps.py +7 -8
  111. {myokit-1.34.0 → myokit-1.35.0}/myokit/lib/guess.py +1 -2
  112. {myokit-1.34.0 → myokit-1.35.0}/myokit/lib/hh.py +5 -7
  113. {myokit-1.34.0 → myokit-1.35.0}/myokit/lib/markov.py +9 -11
  114. {myokit-1.34.0 → myokit-1.35.0}/myokit/lib/multi.py +1 -3
  115. {myokit-1.34.0 → myokit-1.35.0}/myokit/lib/plots.py +1 -3
  116. {myokit-1.34.0 → myokit-1.35.0}/myokit/pacing.py +0 -3
  117. {myokit-1.34.0 → myokit-1.35.0}/myokit/pype.py +7 -18
  118. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/__init__.py +3 -6
  119. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/ansic_event_based_pacing.py +1 -4
  120. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/ansic_fixed_form_pacing.py +1 -4
  121. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_aux.py +9 -23
  122. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_cellml_v1_api.py +1 -16
  123. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_cellml_v1_parser.py +0 -15
  124. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_cellml_v1_writer.py +0 -9
  125. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_cellml_v2_api.py +1 -16
  126. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_cellml_v2_parser.py +0 -15
  127. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_cellml_v2_writer.py +0 -9
  128. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_cmodel.py +0 -9
  129. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_compiler_detection.py +1 -11
  130. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_component.py +0 -10
  131. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_config.py +33 -66
  132. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_datablock.py +1 -9
  133. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_datalog.py +4 -21
  134. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_dependency_checking.py +8 -23
  135. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_expressions.py +0 -9
  136. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_float.py +1 -5
  137. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_formats.py +0 -9
  138. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_formats_axon.py +1 -9
  139. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_formats_cellml.py +0 -15
  140. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_formats_channelml.py +0 -15
  141. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_formats_easyml.py +0 -14
  142. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_formats_exporters.py +1 -16
  143. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_formats_expression_writers.py +1 -17
  144. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_formats_html.py +0 -3
  145. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_formats_importers.py +1 -16
  146. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_formats_mathml_content.py +0 -9
  147. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_formats_mathml_presentation.py +0 -9
  148. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_formats_opencl.py +0 -10
  149. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_formats_sbml.py +0 -15
  150. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_formats_sympy.py +0 -9
  151. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_formats_wcp.py +1 -3
  152. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_io.py +6 -14
  153. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_jacobian_calculator.py +1 -9
  154. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_jacobian_tracer.py +0 -9
  155. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_lib_deps.py +0 -9
  156. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_lib_guess.py +0 -9
  157. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_lib_hh.py +1 -9
  158. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_lib_markov.py +1 -9
  159. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_lib_multi.py +0 -9
  160. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_lib_plots.py +0 -3
  161. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_meta.py +0 -3
  162. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_model.py +0 -10
  163. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_model_building.py +2 -17
  164. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_opencl_info.py +5 -14
  165. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_pacing_factory.py +0 -3
  166. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_pacing_system_c.py +0 -9
  167. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_pacing_system_py.py +0 -9
  168. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_parsing.py +5 -20
  169. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_progress_reporters.py +0 -3
  170. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_protocol.py +0 -9
  171. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_protocol_floating_point.py +0 -9
  172. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_protocol_time_series.py +0 -10
  173. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_pype.py +0 -9
  174. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_quantity.py +0 -9
  175. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_rhs_benchmarker.py +1 -9
  176. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_sbml_api.py +0 -15
  177. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_sbml_parser.py +0 -15
  178. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_simulation_1d.py +1 -10
  179. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_simulation_cvodes.py +8 -16
  180. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_simulation_cvodes_from_disk.py +0 -3
  181. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_simulation_fiber_tissue.py +1 -10
  182. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_simulation_log_interval.py +0 -9
  183. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_simulation_opencl.py +1 -10
  184. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_simulation_opencl_log_interval.py +1 -3
  185. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_simulation_opencl_vs_cvode.py +1 -10
  186. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_simulation_opencl_vs_sim1d.py +1 -10
  187. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_system_info.py +1 -11
  188. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_tools.py +0 -9
  189. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_unit.py +0 -9
  190. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_user_functions.py +0 -10
  191. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/test_variable.py +0 -10
  192. {myokit-1.34.0 → myokit-1.35.0}/myokit/tools.py +5 -21
  193. {myokit-1.34.0 → myokit-1.35.0}/myokit/units.py +0 -3
  194. {myokit-1.34.0 → myokit-1.35.0/myokit.egg-info}/PKG-INFO +2 -2
  195. {myokit-1.34.0 → myokit-1.35.0}/myokit.egg-info/SOURCES.txt +0 -2
  196. {myokit-1.34.0 → myokit-1.35.0}/myokit.egg-info/requires.txt +5 -5
  197. {myokit-1.34.0 → myokit-1.35.0}/setup.py +8 -8
  198. myokit-1.34.0/myokit/_exec_new.py +0 -15
  199. myokit-1.34.0/myokit/_exec_old.py +0 -15
  200. myokit-1.34.0/myokit/gui/__init__.py +0 -412
  201. {myokit-1.34.0 → myokit-1.35.0}/LICENSE.txt +0 -0
  202. {myokit-1.34.0 → myokit-1.35.0}/MANIFEST.in +0 -0
  203. {myokit-1.34.0 → myokit-1.35.0}/README.md +0 -0
  204. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/example.mmt +0 -0
  205. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/find.png +0 -0
  206. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/icon-datablock-viewer-128.xpm +0 -0
  207. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/icon-datablock-viewer-16.xpm +0 -0
  208. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/icon-datablock-viewer-24.xpm +0 -0
  209. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/icon-datablock-viewer-256.xpm +0 -0
  210. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/icon-datablock-viewer-32.xpm +0 -0
  211. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/icon-datablock-viewer-48.xpm +0 -0
  212. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/icon-datablock-viewer-64.xpm +0 -0
  213. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/icon-datablock-viewer-96.xpm +0 -0
  214. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/icon-datablock-viewer.ico +0 -0
  215. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/icon-datablock-viewer.png +0 -0
  216. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/icon-ide-128.xpm +0 -0
  217. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/icon-ide-16.xpm +0 -0
  218. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/icon-ide-24.xpm +0 -0
  219. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/icon-ide-256.xpm +0 -0
  220. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/icon-ide-32.xpm +0 -0
  221. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/icon-ide-48.xpm +0 -0
  222. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/icon-ide-64.xpm +0 -0
  223. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/icon-ide-96.xpm +0 -0
  224. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/icon-ide.ico +0 -0
  225. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/icon-ide.png +0 -0
  226. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/new.png +0 -0
  227. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/open.png +0 -0
  228. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/redo.png +0 -0
  229. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/run.png +0 -0
  230. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/save.png +0 -0
  231. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/gui/undo.png +0 -0
  232. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/install-lin/myokit-datablock-viewer.desktop +0 -0
  233. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/install-lin/myokit-datalog-viewer.desktop +0 -0
  234. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/install-lin/myokit-ide.desktop +0 -0
  235. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/install-lin/myokit.lang +0 -0
  236. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/install-lin/x-abf.xml +0 -0
  237. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/install-lin/x-cellml.xml +0 -0
  238. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/install-lin/x-myokit.xml +0 -0
  239. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/install-lin/x-wcp.xml +0 -0
  240. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/install-win/menu.json +0 -0
  241. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/sundials-win-vs/LICENSE +0 -0
  242. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/sundials-win-vs/include/cvodes/cvodes.h +0 -0
  243. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/sundials-win-vs/include/cvodes/cvodes_direct.h +0 -0
  244. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/sundials-win-vs/include/cvodes/cvodes_ls.h +0 -0
  245. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/sundials-win-vs/include/nvector/nvector_serial.h +0 -0
  246. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_config.h +0 -0
  247. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_dense.h +0 -0
  248. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_direct.h +0 -0
  249. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_export.h +0 -0
  250. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_iterative.h +0 -0
  251. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_linearsolver.h +0 -0
  252. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_matrix.h +0 -0
  253. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_nonlinearsolver.h +0 -0
  254. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_nvector.h +0 -0
  255. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_types.h +0 -0
  256. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/sundials-win-vs/include/sundials/sundials_version.h +0 -0
  257. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/sundials-win-vs/include/sunlinsol/sunlinsol_dense.h +0 -0
  258. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/sundials-win-vs/include/sunmatrix/sunmatrix_dense.h +0 -0
  259. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/sundials-win-vs/lib/sundials_cvodes.dll +0 -0
  260. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/sundials-win-vs/lib/sundials_cvodes.lib +0 -0
  261. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/sundials-win-vs/lib/sundials_nvecserial.dll +0 -0
  262. {myokit-1.34.0 → myokit-1.35.0}/myokit/_bin/sundials-win-vs/lib/sundials_nvecserial.lib +0 -0
  263. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/compiler.c +0 -0
  264. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/differential.hpp +0 -0
  265. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/jacobian.cpp +0 -0
  266. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/opencl.c +0 -0
  267. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/openclsim.cl +0 -0
  268. {myokit-1.34.0 → myokit-1.35.0}/myokit/_sim/sundials.c +0 -0
  269. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/ansic/template/cable.c +0 -0
  270. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/ansic/template/euler.c +0 -0
  271. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/ansic/template/sim.c +0 -0
  272. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/cuda/template/kernel.cu +0 -0
  273. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/matlab/template/constants.m +0 -0
  274. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/matlab/template/ifthenelse.m +0 -0
  275. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/matlab/template/main.m +0 -0
  276. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/matlab/template/model.m +0 -0
  277. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/matlab/template/model_wrapper.m +0 -0
  278. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/opencl/template/cable.c +0 -0
  279. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/opencl/template/kernel.cl +0 -0
  280. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/opencl/template/minilog.py +0 -0
  281. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/opencl/template/plot.py +0 -0
  282. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/opencl/template/test.sh +0 -0
  283. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/stan/template/cell.stan +0 -0
  284. {myokit-1.34.0 → myokit-1.35.0}/myokit/formats/stan/template/run.py +0 -0
  285. {myokit-1.34.0 → myokit-1.35.0}/myokit/lib/__init__.py +0 -0
  286. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/beeler-1977-model-compare-a.mmt +0 -0
  287. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/beeler-1977-model-compare-b.mmt +0 -0
  288. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/beeler-1977-model.mmt +0 -0
  289. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/beeler-1977-protocol.mmt +0 -0
  290. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/beeler-1977-script.mmt +0 -0
  291. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/beeler-1977-units.mmt +0 -0
  292. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/clancy-1999-fitting.mmt +0 -0
  293. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/conditional.mmt +0 -0
  294. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/cv1d.mmt +0 -0
  295. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/cv1d.zip +0 -0
  296. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/decker-2009.mmt +0 -0
  297. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/decker.model +0 -0
  298. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/dn-1985-normalised.mmt +0 -0
  299. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/dom-markov.mmt +0 -0
  300. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/abf-protocol.pro +0 -0
  301. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/abf-v1.abf +0 -0
  302. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/abf-v2.abf +0 -0
  303. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/cellml/LICENSE +0 -0
  304. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/cellml/br-1977-dot.cellml +0 -0
  305. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/cellml/br-1977.cellml +0 -0
  306. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/cellml/corrias.cellml +0 -0
  307. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/cellml/decker-2009.cellml +0 -0
  308. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/cellml/documentation.cellml +0 -0
  309. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/cellml/invalid-file.cellml +0 -0
  310. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/cellml/lr-1991-exported-1.cellml +0 -0
  311. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/cellml/lr-1991-exported-2.cellml +0 -0
  312. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/channelml/ch-00-valid-file.channelml +0 -0
  313. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/channelml/ch-01-wrong-root.channelml +0 -0
  314. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/channelml/ch-02-no-channel-type.channelml +0 -0
  315. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/channelml/ch-03-overlapping-name.channelml +0 -0
  316. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/channelml/ch-04-no-cvr.channelml +0 -0
  317. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/channelml/ch-05-two-cvrs.channelml +0 -0
  318. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/channelml/ch-06-no-q10.channelml +0 -0
  319. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/channelml/ch-07-three-transitions.channelml +0 -0
  320. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/channelml/ch-08-no-closed-to-open.channelml +0 -0
  321. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/channelml/ch-09-no-open-to-closed.channelml +0 -0
  322. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/channelml/ch-10-tco-bad-expression.channelml +0 -0
  323. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/channelml/ch-11-toc-bad-expression.channelml +0 -0
  324. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/channelml/ch-12-no-steady-state.channelml +0 -0
  325. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/channelml/ch-13-no-time-course.channelml +0 -0
  326. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/channelml/ch-14-inf-bad-expression.channelml +0 -0
  327. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/channelml/ch-15-tau-bad-expression.channelml +0 -0
  328. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/channelml/ch-16-no-gates.channelml +0 -0
  329. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/channelml/ch-17-invalid-name.channelml +0 -0
  330. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/channelml/ch-18-c-style-if.channelml +0 -0
  331. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/sbml/00004-sbml-l2v1-modified.xml +0 -0
  332. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/sbml/00004-sbml-l3v2-modified.xml +0 -0
  333. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/sbml/HodgkinHuxley.xml +0 -0
  334. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/sbml/LICENSE +0 -0
  335. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/sbml/model/00001-sbml-l3v2.xml +0 -0
  336. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/sbml/model/00004-sbml-l3v2.xml +0 -0
  337. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/sbml/model/01103-sbml-l3v2.xml +0 -0
  338. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/sbml/result/00001-results.csv +0 -0
  339. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/sbml/result/00004-results.csv +0 -0
  340. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/sbml/result/01103-results.csv +0 -0
  341. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/formats/wcp-file.wcp +0 -0
  342. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/bad1d-1-not-enough-files.zip +0 -0
  343. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/bad1d-2-no-header.zip +0 -0
  344. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/bad1d-3-no-data.zip +0 -0
  345. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/bad1d-4-not-a-zip.zip +0 -0
  346. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/bad1d-5-bad-data-type.zip +0 -0
  347. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/bad1d-6-time-too-short.zip +0 -0
  348. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/bad1d-7-0d-too-short.zip +0 -0
  349. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/bad1d-8-1d-too-short.zip +0 -0
  350. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/bad2d-1-not-enough-files.zip +0 -0
  351. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/bad2d-2-no-header.zip +0 -0
  352. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/bad2d-3-no-data.zip +0 -0
  353. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/bad2d-4-not-a-zip.zip +0 -0
  354. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/bad2d-5-bad-data-type.zip +0 -0
  355. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/bad2d-6-time-too-short.zip +0 -0
  356. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/bad2d-7-0d-too-short.zip +0 -0
  357. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/bad2d-8-2d-too-short.zip +0 -0
  358. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/badlog-1-no-data.zip +0 -0
  359. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/badlog-2-no-structure.zip +0 -0
  360. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/badlog-3-not-a-zip.zip +0 -0
  361. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/badlog-4-invalid-n-fields.zip +0 -0
  362. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/badlog-5-invalid-data-size.zip +0 -0
  363. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/badlog-6-bad-data-type.zip +0 -0
  364. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/badlog-7-not-enough-data.zip +0 -0
  365. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/block2d.mmt +0 -0
  366. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/block2d.zip +0 -0
  367. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/datalog-1-empty.csv +0 -0
  368. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/datalog-10-just-spaces.csv +0 -0
  369. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/datalog-11-just-a-semicolon.csv +0 -0
  370. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/datalog-12-bad-header.csv +0 -0
  371. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/datalog-13-header-with-empty-1.csv +0 -0
  372. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/datalog-14-header-with-empty-2.csv +0 -0
  373. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/datalog-15-header-with-empty-3.csv +0 -0
  374. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/datalog-16-wrong-columns-in-data.csv +0 -0
  375. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/datalog-17-non-float-data.csv +0 -0
  376. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/datalog-2-windows.csv +0 -0
  377. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/datalog-3-old-mac.csv +0 -0
  378. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/datalog-4-empty-lines.csv +0 -0
  379. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/datalog-5-semicolons.csv +0 -0
  380. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/datalog-6-open-string.csv +0 -0
  381. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/datalog-7-empty-lines-2.csv +0 -0
  382. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/datalog-8-unquoted-header.csv +0 -0
  383. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/datalog-9-double-quoted-header.csv +0 -0
  384. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/datalog.csv +0 -0
  385. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/io/goodlog.zip +0 -0
  386. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/lr-1991-dep.mmt +0 -0
  387. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/lr-1991-fitting.mmt +0 -0
  388. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/lr-1991-testing.mmt +0 -0
  389. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/lr-1991.mmt +0 -0
  390. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/multi/beeler-1977-protocol.mmt +0 -0
  391. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/multi/beeler-1977-script.mmt +0 -0
  392. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/multi/beeler-no-name.mmt +0 -0
  393. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/multi/lr-1991.mmt +0 -0
  394. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/multi/not-a-model.csv +0 -0
  395. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/multi/subdir/beeler-no-name.mmt +0 -0
  396. {myokit-1.34.0 → myokit-1.35.0}/myokit/tests/data/noble-1962.mmt +0 -0
  397. {myokit-1.34.0 → myokit-1.35.0}/myokit.egg-info/dependency_links.txt +0 -0
  398. {myokit-1.34.0 → myokit-1.35.0}/myokit.egg-info/entry_points.txt +0 -0
  399. {myokit-1.34.0 → myokit-1.35.0}/myokit.egg-info/not-zip-safe +0 -0
  400. {myokit-1.34.0 → myokit-1.35.0}/myokit.egg-info/top_level.txt +0 -0
  401. {myokit-1.34.0 → myokit-1.35.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: myokit
3
- Version: 1.34.0
3
+ Version: 1.35.0
4
4
  Summary: A simple interface to cardiac cellular electrophysiology
5
5
  Home-page: http://myokit.org
6
6
  Author: Michael Clerx
@@ -13,7 +13,6 @@ Classifier: Development Status :: 5 - Production/Stable
13
13
  Classifier: Intended Audience :: Science/Research
14
14
  Classifier: License :: OSI Approved :: BSD License
15
15
  Classifier: Operating System :: OS Independent
16
- Classifier: Programming Language :: Python :: 2.7
17
16
  Classifier: Programming Language :: Python :: 3
18
17
  Classifier: Topic :: Scientific/Engineering
19
18
  Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
@@ -21,6 +20,7 @@ Classifier: Topic :: Scientific/Engineering :: Chemistry
21
20
  Classifier: Topic :: Scientific/Engineering :: Mathematics
22
21
  Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
23
22
  Classifier: Topic :: Scientific/Engineering :: Physics
23
+ Requires-Python: >=3.7
24
24
  Description-Content-Type: text/markdown
25
25
  Provides-Extra: docs
26
26
  Provides-Extra: dev
@@ -20,16 +20,11 @@ and then a myokit.Simulation which you can .run() to obtain simulated results.
20
20
  # Without an explicit __all__, importing * will result in importing all
21
21
  # functions and classes described below. No submodules of myokit will be
22
22
  # loaded!
23
-
24
-
25
23
  #
26
24
  # GUI and graphical modules should not be auto-included because they define a
27
25
  # matplotlib backend to use. If the user requires a different backend, this
28
26
  # will generate an error.
29
27
  #
30
- from __future__ import absolute_import, division
31
- from __future__ import print_function, unicode_literals
32
-
33
28
 
34
29
  #
35
30
  # Check python version
@@ -44,27 +39,14 @@ from __future__ import print_function, unicode_literals
44
39
  #
45
40
  import sys # noqa
46
41
  if sys.hexversion < 0x03000000: # pragma: no cover
42
+ raise Exception('This version of Myokit does not support Python 2.')
43
+ elif sys.hexversion < 0x03070000: # pragma: no cover
47
44
  import logging # noqa
48
45
  log = logging.getLogger(__name__)
49
46
  log.warning(
50
- 'Myokit support for Python 2.7 is nearing the end of its lifetime.'
51
- ' Please upgrade as soon as possible! Detected Python version: '
52
- + sys.version)
53
- del logging, log
54
- elif sys.hexversion < 0x03060000: # pragma: no cover
55
- import logging # noqa
56
- log = logging.getLogger(__name__)
57
- log.warning(
58
- 'Myokit is not tested on Python 3 versions older than 3.6. Detected'
47
+ 'Myokit is not tested on Python 3 versions older than 3.7. Detected'
59
48
  ' Python version: ' + sys.version)
60
49
  del logging, log
61
-
62
-
63
- # Exec() that works with Python 2 versions before 2.7.9
64
- if sys.hexversion < 0x020709F0: # pragma: no python 3 cover
65
- from ._exec_old import _exec # noqa
66
- else:
67
- from ._exec_new import _exec # noqa
68
50
  del sys
69
51
 
70
52
 
@@ -289,9 +271,9 @@ TIME_FORMAT = '%H:%M:%S'
289
271
  #
290
272
  # GUI: Favor PySide or PyQt
291
273
  #
274
+ FORCE_PYQT6 = False
292
275
  FORCE_PYQT5 = False
293
- FORCE_PYQT4 = False
294
- FORCE_PYSIDE = False
276
+ FORCE_PYSIDE6 = False
295
277
  FORCE_PYSIDE2 = False
296
278
 
297
279
 
@@ -4,9 +4,6 @@
4
4
  # This file is part of Myokit.
5
5
  # See http://myokit.org for copyright, sharing, and licensing details.
6
6
  #
7
- from __future__ import absolute_import, division
8
- from __future__ import print_function, unicode_literals
9
-
10
7
  import warnings
11
8
 
12
9
  _line_width = 79
@@ -29,6 +26,55 @@ def colored(color, text):
29
26
  return colors[color] + str(text) + colors['normal']
30
27
 
31
28
 
29
+ def qtforce(pyqt6=False, pyqt5=False, pyside6=False, pyside2=False):
30
+ """ Enforce a chosen Qt version. """
31
+
32
+ if pyqt6 or pyqt5 or pyside6 or pyside2:
33
+ import myokit
34
+
35
+ myokit.FORCE_PYQT6 = False
36
+ myokit.FORCE_PYQT5 = False
37
+ myokit.FORCE_PYSIDE6 = False
38
+ myokit.FORCE_PYSIDE2 = False
39
+
40
+ if pyqt6:
41
+ myokit.FORCE_PYQT6 = True
42
+ elif pyside6:
43
+ myokit.FORCE_PYSIDE6 = True
44
+ elif pyqt5:
45
+ myokit.FORCE_PYQT5 = True
46
+ elif pyside2:
47
+ myokit.FORCE_PYSIDE2 = True
48
+
49
+ import myokit.gui
50
+ print('Using backend: ' + myokit.gui.backend)
51
+
52
+
53
+ def add_qtforce_arguments(parser):
54
+ """ Updates a parser with arguments to force a Qt version. """
55
+
56
+ parser.add_argument(
57
+ '--pyqt6',
58
+ action='store_true',
59
+ help='Run using the PyQt6 backend.',
60
+ )
61
+ parser.add_argument(
62
+ '--pyqt5',
63
+ action='store_true',
64
+ help='Run using the PyQt5 backend.',
65
+ )
66
+ parser.add_argument(
67
+ '--pyside6',
68
+ action='store_true',
69
+ help='Run using the PySide6 backend.',
70
+ )
71
+ parser.add_argument(
72
+ '--pyside2',
73
+ action='store_true',
74
+ help='Run using the PySide2 backend.',
75
+ )
76
+
77
+
32
78
  def main():
33
79
  """
34
80
  Parses command line arguments.
@@ -88,36 +134,13 @@ def main():
88
134
  #
89
135
  # Data block viewer
90
136
  #
91
-
92
- def block(filename, pyqt4=False, pyqt5=False, pyside=False, pyside2=False):
137
+ def block(filename, pyqt6=False, pyqt5=False, pyside6=False, pyside2=False):
93
138
  """
94
139
  Runs the DataBlock viewer.
95
140
  """
96
- import myokit
97
- if pyqt5:
98
- myokit.FORCE_PYQT5 = True
99
- myokit.FORCE_PYQT4 = False
100
- myokit.FORCE_PYSIDE = False
101
- myokit.FORCE_PYSIDE2 = False
102
- elif pyqt4:
103
- myokit.FORCE_PYQT5 = False
104
- myokit.FORCE_PYQT4 = True
105
- myokit.FORCE_PYSIDE = False
106
- myokit.FORCE_PYSIDE2 = False
107
- elif pyside:
108
- myokit.FORCE_PYQT5 = False
109
- myokit.FORCE_PYQT4 = False
110
- myokit.FORCE_PYSIDE = True
111
- myokit.FORCE_PYSIDE2 = False
112
- elif pyside2:
113
- myokit.FORCE_PYQT5 = False
114
- myokit.FORCE_PYQT4 = False
115
- myokit.FORCE_PYSIDE = False
116
- myokit.FORCE_PYSIDE2 = True
117
- import myokit.gui
141
+ qtforce(pyqt6, pyqt5, pyside6, pyside2)
142
+
118
143
  import myokit.gui.datablock_viewer
119
- if pyqt5 or pyqt4 or pyside or pyside2:
120
- print('Using backend: ' + myokit.gui.backend)
121
144
  myokit.gui.run(myokit.gui.datablock_viewer.DataBlockViewer, filename)
122
145
 
123
146
 
@@ -137,26 +160,7 @@ def add_block_parser(subparsers):
137
160
  metavar='filename',
138
161
  help='The DataBlock zip file to open (optional).',
139
162
  )
140
- parser.add_argument(
141
- '--pyqt5',
142
- action='store_true',
143
- help='Run the DataBlock Viewer using the PyQt5 backend.',
144
- )
145
- parser.add_argument(
146
- '--pyqt4',
147
- action='store_true',
148
- help='Run the DataBlock Viewer using the PyQt4 backend.',
149
- )
150
- parser.add_argument(
151
- '--pyside',
152
- action='store_true',
153
- help='Run the DataBlock Viewer using the PySide backend.',
154
- )
155
- parser.add_argument(
156
- '--pyside2',
157
- action='store_true',
158
- help='Run the DataBlock Viewer using the PySide2 backend.',
159
- )
163
+ add_qtforce_arguments(parser)
160
164
  parser.set_defaults(func=block)
161
165
 
162
166
 
@@ -421,10 +425,7 @@ def install():
421
425
  if plat == 'Linux':
422
426
  yesno = \
423
427
  'Install launcher icons and file type associations for Gnome/KDE? '
424
- try:
425
- yesno = raw_input(yesno)
426
- except NameError: # pragma: no python 2 cover
427
- yesno = input(yesno)
428
+ yesno = input(yesno)
428
429
  yesno = (yesno.strip().lower())[:1] == 'y'
429
430
 
430
431
  if yesno:
@@ -432,10 +433,7 @@ def install():
432
433
 
433
434
  elif plat == 'Windows':
434
435
  yesno = 'Install start menu shortcuts? '
435
- try:
436
- yesno = raw_input(yesno)
437
- except NameError: # pragma: no python 2 cover
438
- yesno = input(yesno)
436
+ yesno = input(yesno)
439
437
  yesno = (yesno.strip().lower())[:1] == 'y'
440
438
 
441
439
  if yesno:
@@ -587,38 +585,17 @@ def add_icon_parser(subparsers):
587
585
  # IDE
588
586
  #
589
587
 
590
- def ide(filename, pyqt4=False, pyqt5=False, pyside=False, pyside2=False):
588
+ def ide(filename, pyqt6=False, pyqt5=False, pyside6=False, pyside2=False):
591
589
  """
592
590
  Runs the Myokit IDE.
593
591
  """
592
+ qtforce(pyqt6, pyqt5, pyside6, pyside2)
593
+
594
594
  import os
595
- import myokit
596
- if pyqt5:
597
- myokit.FORCE_PYQT5 = True
598
- myokit.FORCE_PYQT4 = False
599
- myokit.FORCE_PYSIDE = False
600
- myokit.FORCE_PYSIDE2 = False
601
- elif pyqt4:
602
- myokit.FORCE_PYQT5 = False
603
- myokit.FORCE_PYQT4 = True
604
- myokit.FORCE_PYSIDE = False
605
- myokit.FORCE_PYSIDE2 = False
606
- elif pyside:
607
- myokit.FORCE_PYQT5 = False
608
- myokit.FORCE_PYQT4 = False
609
- myokit.FORCE_PYSIDE = True
610
- myokit.FORCE_PYSIDE2 = False
611
- elif pyside2:
612
- myokit.FORCE_PYQT5 = False
613
- myokit.FORCE_PYQT4 = False
614
- myokit.FORCE_PYSIDE = False
615
- myokit.FORCE_PYSIDE2 = True
616
- import myokit.gui
617
- import myokit.gui.ide
618
- if pyqt5 or pyqt4 or pyside or pyside2:
619
- print('Using backend: ' + myokit.gui.backend)
620
595
  if filename is not None:
621
596
  filename = os.path.abspath(os.path.expanduser(filename))
597
+
598
+ import myokit.gui.ide
622
599
  myokit.gui.run(myokit.gui.ide.MyokitIDE, filename)
623
600
 
624
601
 
@@ -638,26 +615,7 @@ def add_ide_parser(subparsers):
638
615
  metavar='filename',
639
616
  help='The mmt file to open (optional).',
640
617
  )
641
- parser.add_argument(
642
- '--pyqt5',
643
- action='store_true',
644
- help='Run the IDE using the PyQt5 backend.',
645
- )
646
- parser.add_argument(
647
- '--pyqt4',
648
- action='store_true',
649
- help='Run the IDE using the PyQt4 backend.',
650
- )
651
- parser.add_argument(
652
- '--pyside',
653
- action='store_true',
654
- help='Run the IDE using the PySide backend.',
655
- )
656
- parser.add_argument(
657
- '--pyside2',
658
- action='store_true',
659
- help='Run the DataBlock Viewer using the PySide2 backend.',
660
- )
618
+ add_qtforce_arguments(parser)
661
619
  parser.set_defaults(func=ide)
662
620
 
663
621
 
@@ -741,11 +699,12 @@ def add_import_parser(subparsers):
741
699
  # Log viewer
742
700
  #
743
701
 
744
- def log(filenames):
702
+ def log(filenames, pyqt6=False, pyqt5=False, pyside6=False, pyside2=False):
745
703
  """
746
704
  Runs the DataLog Viewer.
747
705
  """
748
- import myokit.gui
706
+ qtforce(pyqt6, pyqt5, pyside6, pyside2)
707
+
749
708
  import myokit.gui.datalog_viewer
750
709
  myokit.gui.run(myokit.gui.datalog_viewer.DataLogViewer, *filenames)
751
710
 
@@ -761,6 +720,7 @@ def add_log_parser(subparsers):
761
720
  description='Runs the DataLog Viewer (PROTOTYPE).',
762
721
  help='Runs the DataLog Viewer (PROTOTYPE).',
763
722
  )
723
+ add_qtforce_arguments(parser)
764
724
  parser.add_argument(
765
725
  'filenames',
766
726
  default=None,
@@ -867,10 +827,7 @@ def opencl_select():
867
827
  try:
868
828
  while True:
869
829
  x = 'Select device: '
870
- try:
871
- x = raw_input(x)
872
- except NameError: # pragma: no python 2 cover
873
- x = input(x) # lgtm [py/use-of-input]
830
+ x = input(x)
874
831
  x = x.strip()
875
832
  if x == '':
876
833
  x = None
@@ -932,10 +889,7 @@ def reset(force=False):
932
889
  remove = True
933
890
  else:
934
891
  yesno = 'Remove all Myokit settings files? '
935
- try:
936
- yesno = raw_input(yesno)
937
- except NameError: # pragma: no python 2 cover
938
- yesno = input(yesno) # lgtm [py/use-of-input]
892
+ yesno = input(yesno)
939
893
  yesno = yesno.strip().lower()
940
894
  remove = (yesno[:1] == 'y')
941
895
  if remove:
@@ -1329,7 +1283,7 @@ def test_coverage(args):
1329
1283
  try:
1330
1284
  print('Gathering coverage data')
1331
1285
  p = subprocess.Popen([
1332
- 'python3',
1286
+ sys.executable,
1333
1287
  '-m',
1334
1288
  'coverage',
1335
1289
  'run',
@@ -1353,7 +1307,7 @@ def test_coverage(args):
1353
1307
 
1354
1308
  print('Generating coverage report.')
1355
1309
  p = subprocess.Popen([
1356
- 'python3',
1310
+ sys.executable,
1357
1311
  '-m',
1358
1312
  'coverage',
1359
1313
  'report',
@@ -1784,8 +1738,7 @@ def test_examples_single(root, path):
1784
1738
  p = subprocess.Popen(
1785
1739
  cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=env
1786
1740
  )
1787
- stdout, stderr = p.communicate()
1788
- # TODO: Use p.communicate(timeout=3600) if Python3 only
1741
+ stdout, stderr = p.communicate(timeout=3600)
1789
1742
  if p.returncode != 0:
1790
1743
  # Show failing code, output and errors before returning
1791
1744
  print('ERROR')
@@ -6,9 +6,6 @@
6
6
  # This file is part of Myokit.
7
7
  # See http://myokit.org for copyright, sharing, and licensing details.
8
8
  #
9
- from __future__ import absolute_import, division
10
- from __future__ import print_function, unicode_literals
11
-
12
9
  import myokit
13
10
 
14
11
  import sys
@@ -29,7 +26,7 @@ class Benchmarker(myokit.tools.Benchmarker):
29
26
  warnings.warn(
30
27
  'The class `myokit.Benchmarker` is deprecated.'
31
28
  ' Please use `myokit.tools.Benchmarker` instead.')
32
- super(Benchmarker, self).__init__()
29
+ super().__init__()
33
30
 
34
31
 
35
32
  def date():
@@ -150,7 +147,7 @@ def format_path(path, root='.'):
150
147
  return myokit.tools.format_path(path, root)
151
148
 
152
149
 
153
- class ModelComparison(object):
150
+ class ModelComparison:
154
151
  """
155
152
  Compares two models.
156
153
 
@@ -520,9 +517,9 @@ def run(model, protocol, script, stdout=None, stderr=None, progress=None):
520
517
  script = '\n' + script
521
518
 
522
519
  # Class to run scripts
523
- class Runner(object):
520
+ class Runner:
524
521
  def __init__(self, model, protocol, script, stdout, stderr, progress):
525
- super(Runner, self).__init__()
522
+ super().__init__()
526
523
  self.model = model
527
524
  self.protocol = protocol
528
525
  self.script = script
@@ -555,7 +552,7 @@ def run(model, protocol, script, stdout=None, stderr=None, progress=None):
555
552
  'get_model': get_model,
556
553
  'get_protocol': get_protocol,
557
554
  }
558
- myokit._exec(self.script, environment)
555
+ exec(self.script, environment)
559
556
  finally:
560
557
  if oldstdout is not None:
561
558
  sys.stdout = oldstdout
@@ -5,27 +5,18 @@
5
5
  # This file is part of Myokit.
6
6
  # See http://myokit.org for copyright, sharing, and licensing details.
7
7
  #
8
- from __future__ import absolute_import, division
9
- from __future__ import print_function, unicode_literals
10
-
11
- # Load Myokit, at least, the bit that's been setup so far. This just means
12
- # this method will add a link to the myokit module already being loaded
13
- # into this method's namespace. This allows us to use the constants defined
14
- # before this method was called.
15
- import myokit
16
-
17
- # Load standard library modules
8
+ import configparser
18
9
  import logging
19
10
  import os
20
11
  import platform
21
12
  import sys
22
13
  import warnings
23
14
 
24
- # ConfigParser in Python 2 and 3
25
- try:
26
- from ConfigParser import ConfigParser
27
- except ImportError:
28
- from configparser import RawConfigParser as ConfigParser
15
+ # Load Myokit, at least, the bit that's been setup so far. This just means
16
+ # this method will add a link to the myokit module already being loaded
17
+ # into this method's namespace. This allows us to use the constants defined
18
+ # before this method was called.
19
+ import myokit
29
20
 
30
21
 
31
22
  def _create(path):
@@ -37,7 +28,7 @@ def _create(path):
37
28
  system = platform.system()
38
29
 
39
30
  # Create config parser
40
- config = ConfigParser(allow_no_value=True)
31
+ config = configparser.RawConfigParser(allow_no_value=True)
41
32
 
42
33
  # Make the parser case sensitive (need for unix paths!)
43
34
  config.optionxform = str
@@ -71,12 +62,12 @@ def _create(path):
71
62
  # GUI Backend
72
63
  config.add_section('gui')
73
64
  config.set('gui', '# Backend to use for graphical user interface.')
74
- config.set('gui', '# Valid options are pyqt5, pyqt4, pyside2 and pyside.')
65
+ config.set('gui', '# Valid options are pyqt6, pyqt5, pyside6 and pyside2.')
75
66
  config.set('gui', '# Leave unset for automatic selection.')
67
+ config.set('gui', '#backend = pyqt6')
76
68
  config.set('gui', '#backend = pyqt5')
77
- config.set('gui', '#backend = pyqt4')
69
+ config.set('gui', '#backend = pyside6')
78
70
  config.set('gui', '#backend = pyside2')
79
- config.set('gui', '#backend = pyside')
80
71
 
81
72
  # Locations of sundials library
82
73
  config.add_section('sundials')
@@ -223,7 +214,7 @@ def _load():
223
214
  del lines, inline_comment
224
215
 
225
216
  # Create the config parser (no value allows comments)
226
- config = ConfigParser(allow_no_value=True)
217
+ config = configparser.RawConfigParser(allow_no_value=True)
227
218
 
228
219
  # Make the parser case sensitive (need for unix paths!)
229
220
  config.optionxform = str
@@ -270,30 +261,30 @@ def _load():
270
261
  # GUI Backend
271
262
  if config.has_option('gui', 'backend'):
272
263
  x = config.get('gui', 'backend').strip().lower()
273
- if x == 'pyqt' or x == 'pyqt4':
274
- myokit.FORCE_PYQT4 = True
264
+ if x == 'pyqt6':
265
+ myokit.FORCE_PYQT6 = True
275
266
  myokit.FORCE_PYQT5 = False
276
- myokit.FORCE_PYSIDE = False
267
+ myokit.FORCE_PYSIDE6 = False
277
268
  myokit.FORCE_PYSIDE2 = False
278
269
  elif x == 'pyqt5':
279
- myokit.FORCE_PYQT4 = False
270
+ myokit.FORCE_PYQT6 = False
280
271
  myokit.FORCE_PYQT5 = True
281
- myokit.FORCE_PYSIDE = False
272
+ myokit.FORCE_PYSIDE6 = False
282
273
  myokit.FORCE_PYSIDE2 = False
283
- elif x == 'pyside':
284
- myokit.FORCE_PYQT4 = False
274
+ elif x == 'pyside6':
275
+ myokit.FORCE_PYQT6 = False
285
276
  myokit.FORCE_PYQT5 = False
286
- myokit.FORCE_PYSIDE = True
277
+ myokit.FORCE_PYSIDE6 = True
287
278
  myokit.FORCE_PYSIDE2 = False
288
279
  elif x == 'pyside2':
289
- myokit.FORCE_PYQT4 = False
280
+ myokit.FORCE_PYQT6 = False
290
281
  myokit.FORCE_PYQT5 = False
291
- myokit.FORCE_PYSIDE = False
282
+ myokit.FORCE_PYSIDE6 = False
292
283
  myokit.FORCE_PYSIDE2 = True
293
284
  elif x != '':
294
285
  warnings.warn(
295
286
  'Invalid setting in myokit.ini. Expected values for backend'
296
- ' are pyqt, pyqt4, pyqt5, pyside, or pyside2. Got: ' + x)
287
+ ' are pyqt6, pyqt5, pyside6, or pyside2. Got: ' + x)
297
288
 
298
289
  # Sundials libraries, header files, and version
299
290
  if config.has_option('sundials', 'lib'):