arctrl 3.0.0a3__py3-none-any.whl

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 (456) hide show
  1. arctrl/__init__.py +18 -0
  2. arctrl/py/CWL/__init__.py +0 -0
  3. arctrl/py/CWL/cwltypes.py +150 -0
  4. arctrl/py/CWL/decode.py +973 -0
  5. arctrl/py/CWL/encode.py +1 -0
  6. arctrl/py/CWL/inputs.py +88 -0
  7. arctrl/py/CWL/outputs.py +85 -0
  8. arctrl/py/CWL/requirements.py +77 -0
  9. arctrl/py/CWL/tool_description.py +103 -0
  10. arctrl/py/CWL/workflow_description.py +104 -0
  11. arctrl/py/CWL/workflow_steps.py +113 -0
  12. arctrl/py/Contract/__init__.py +0 -0
  13. arctrl/py/Contract/arc.py +60 -0
  14. arctrl/py/Contract/arc_assay.py +125 -0
  15. arctrl/py/Contract/arc_investigation.py +88 -0
  16. arctrl/py/Contract/arc_run.py +125 -0
  17. arctrl/py/Contract/arc_study.py +126 -0
  18. arctrl/py/Contract/arc_workflow.py +125 -0
  19. arctrl/py/Contract/contract.py +153 -0
  20. arctrl/py/Contract/datamap.py +372 -0
  21. arctrl/py/Contract/git.py +118 -0
  22. arctrl/py/Contract/validation_packages_config.py +107 -0
  23. arctrl/py/ContractIO/__init__.py +0 -0
  24. arctrl/py/ContractIO/contract_io.py +344 -0
  25. arctrl/py/ContractIO/file_system_helper.py +264 -0
  26. arctrl/py/Core/Helper/__init__.py +0 -0
  27. arctrl/py/Core/Helper/collections_.py +438 -0
  28. arctrl/py/Core/Helper/date_time.py +26 -0
  29. arctrl/py/Core/Helper/hash_codes.py +60 -0
  30. arctrl/py/Core/Helper/identifier.py +248 -0
  31. arctrl/py/Core/Helper/orcid.py +42 -0
  32. arctrl/py/Core/Helper/printer.py +13 -0
  33. arctrl/py/Core/Helper/regex.py +554 -0
  34. arctrl/py/Core/Helper/sem_ver.py +71 -0
  35. arctrl/py/Core/Helper/url.py +148 -0
  36. arctrl/py/Core/Process/__init__.py +0 -0
  37. arctrl/py/Core/Process/column_index.py +280 -0
  38. arctrl/py/Core/Process/component.py +200 -0
  39. arctrl/py/Core/Process/factor.py +151 -0
  40. arctrl/py/Core/Process/factor_value.py +182 -0
  41. arctrl/py/Core/Process/material.py +74 -0
  42. arctrl/py/Core/Process/material_attribute.py +95 -0
  43. arctrl/py/Core/Process/material_attribute_value.py +184 -0
  44. arctrl/py/Core/Process/material_type.py +45 -0
  45. arctrl/py/Core/Process/process.py +477 -0
  46. arctrl/py/Core/Process/process_input.py +265 -0
  47. arctrl/py/Core/Process/process_output.py +235 -0
  48. arctrl/py/Core/Process/process_parameter_value.py +200 -0
  49. arctrl/py/Core/Process/process_sequence.py +435 -0
  50. arctrl/py/Core/Process/protocol.py +175 -0
  51. arctrl/py/Core/Process/protocol_parameter.py +98 -0
  52. arctrl/py/Core/Process/sample.py +82 -0
  53. arctrl/py/Core/Process/source.py +62 -0
  54. arctrl/py/Core/Table/__init__.py +0 -0
  55. arctrl/py/Core/Table/arc_table.py +1264 -0
  56. arctrl/py/Core/Table/arc_table_aux.py +575 -0
  57. arctrl/py/Core/Table/arc_tables.py +591 -0
  58. arctrl/py/Core/Table/composite_cell.py +319 -0
  59. arctrl/py/Core/Table/composite_column.py +73 -0
  60. arctrl/py/Core/Table/composite_header.py +739 -0
  61. arctrl/py/Core/__init__.py +0 -0
  62. arctrl/py/Core/arc_types.py +5064 -0
  63. arctrl/py/Core/comment.py +128 -0
  64. arctrl/py/Core/comment_list.py +127 -0
  65. arctrl/py/Core/conversion.py +1313 -0
  66. arctrl/py/Core/data.py +245 -0
  67. arctrl/py/Core/data_context.py +157 -0
  68. arctrl/py/Core/data_file.py +112 -0
  69. arctrl/py/Core/data_map.py +225 -0
  70. arctrl/py/Core/identifier_setters.py +31 -0
  71. arctrl/py/Core/iproperty_value.py +36 -0
  72. arctrl/py/Core/ontology_annotation.py +299 -0
  73. arctrl/py/Core/ontology_source_reference.py +114 -0
  74. arctrl/py/Core/person.py +259 -0
  75. arctrl/py/Core/publication.py +161 -0
  76. arctrl/py/Core/template.py +231 -0
  77. arctrl/py/Core/templates.py +148 -0
  78. arctrl/py/Core/uri.py +11 -0
  79. arctrl/py/Core/value.py +188 -0
  80. arctrl/py/FileSystem/__init__.py +0 -0
  81. arctrl/py/FileSystem/commit.py +21 -0
  82. arctrl/py/FileSystem/default_gitattributes.py +5 -0
  83. arctrl/py/FileSystem/default_gitignore.py +5 -0
  84. arctrl/py/FileSystem/file_system.py +58 -0
  85. arctrl/py/FileSystem/file_system_tree.py +426 -0
  86. arctrl/py/FileSystem/path.py +64 -0
  87. arctrl/py/Json/DataMap/__init__.py +0 -0
  88. arctrl/py/Json/DataMap/data_context.py +101 -0
  89. arctrl/py/Json/DataMap/data_map.py +53 -0
  90. arctrl/py/Json/Process/__init__.py +0 -0
  91. arctrl/py/Json/Process/assay_materials.py +46 -0
  92. arctrl/py/Json/Process/component.py +79 -0
  93. arctrl/py/Json/Process/factor.py +107 -0
  94. arctrl/py/Json/Process/factor_value.py +101 -0
  95. arctrl/py/Json/Process/material.py +226 -0
  96. arctrl/py/Json/Process/material_attribute.py +79 -0
  97. arctrl/py/Json/Process/material_attribute_value.py +101 -0
  98. arctrl/py/Json/Process/material_type.py +53 -0
  99. arctrl/py/Json/Process/process.py +296 -0
  100. arctrl/py/Json/Process/process_input.py +83 -0
  101. arctrl/py/Json/Process/process_output.py +67 -0
  102. arctrl/py/Json/Process/process_parameter_value.py +81 -0
  103. arctrl/py/Json/Process/protocol.py +354 -0
  104. arctrl/py/Json/Process/protocol_parameter.py +79 -0
  105. arctrl/py/Json/Process/sample.py +277 -0
  106. arctrl/py/Json/Process/source.py +214 -0
  107. arctrl/py/Json/Process/study_materials.py +52 -0
  108. arctrl/py/Json/Process/value.py +56 -0
  109. arctrl/py/Json/ROCrate/__init__.py +0 -0
  110. arctrl/py/Json/ROCrate/ldcontext.py +133 -0
  111. arctrl/py/Json/ROCrate/ldgraph.py +111 -0
  112. arctrl/py/Json/ROCrate/ldnode.py +290 -0
  113. arctrl/py/Json/ROCrate/ldref.py +44 -0
  114. arctrl/py/Json/ROCrate/ldvalue.py +102 -0
  115. arctrl/py/Json/Table/__init__.py +0 -0
  116. arctrl/py/Json/Table/arc_table.py +393 -0
  117. arctrl/py/Json/Table/cell_table.py +83 -0
  118. arctrl/py/Json/Table/composite_cell.py +136 -0
  119. arctrl/py/Json/Table/composite_header.py +67 -0
  120. arctrl/py/Json/Table/iotype.py +24 -0
  121. arctrl/py/Json/Table/oatable.py +82 -0
  122. arctrl/py/Json/Table/templates.py +281 -0
  123. arctrl/py/Json/__init__.py +0 -0
  124. arctrl/py/Json/assay.py +600 -0
  125. arctrl/py/Json/comment.py +206 -0
  126. arctrl/py/Json/context/rocrate/__init__.py +0 -0
  127. arctrl/py/Json/context/rocrate/isa_assay_context.py +101 -0
  128. arctrl/py/Json/context/rocrate/isa_comment_context.py +60 -0
  129. arctrl/py/Json/context/rocrate/isa_component_context.py +77 -0
  130. arctrl/py/Json/context/rocrate/isa_data_context.py +74 -0
  131. arctrl/py/Json/context/rocrate/isa_factor_context.py +74 -0
  132. arctrl/py/Json/context/rocrate/isa_factor_value_context.py +84 -0
  133. arctrl/py/Json/context/rocrate/isa_investigation_context.py +110 -0
  134. arctrl/py/Json/context/rocrate/isa_material_attribute_context.py +64 -0
  135. arctrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +80 -0
  136. arctrl/py/Json/context/rocrate/isa_material_context.py +71 -0
  137. arctrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +68 -0
  138. arctrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +75 -0
  139. arctrl/py/Json/context/rocrate/isa_organization_context.py +55 -0
  140. arctrl/py/Json/context/rocrate/isa_person_context.py +131 -0
  141. arctrl/py/Json/context/rocrate/isa_process_context.py +94 -0
  142. arctrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +80 -0
  143. arctrl/py/Json/context/rocrate/isa_protocol_context.py +97 -0
  144. arctrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +64 -0
  145. arctrl/py/Json/context/rocrate/isa_publication_context.py +78 -0
  146. arctrl/py/Json/context/rocrate/isa_sample_context.py +65 -0
  147. arctrl/py/Json/context/rocrate/isa_source_context.py +66 -0
  148. arctrl/py/Json/context/rocrate/isa_study_context.py +125 -0
  149. arctrl/py/Json/context/rocrate/property_value_context.py +73 -0
  150. arctrl/py/Json/context/rocrate/rocrate_context.py +81 -0
  151. arctrl/py/Json/converter_options.py +23 -0
  152. arctrl/py/Json/data.py +356 -0
  153. arctrl/py/Json/data_file.py +63 -0
  154. arctrl/py/Json/decode.py +155 -0
  155. arctrl/py/Json/encode.py +92 -0
  156. arctrl/py/Json/idtable.py +44 -0
  157. arctrl/py/Json/investigation.py +695 -0
  158. arctrl/py/Json/ontology_annotation.py +404 -0
  159. arctrl/py/Json/ontology_source_reference.py +255 -0
  160. arctrl/py/Json/person.py +658 -0
  161. arctrl/py/Json/property_value.py +359 -0
  162. arctrl/py/Json/publication.py +279 -0
  163. arctrl/py/Json/string_table.py +76 -0
  164. arctrl/py/Json/study.py +793 -0
  165. arctrl/py/JsonIO/DataMap/__init__.py +0 -0
  166. arctrl/py/JsonIO/DataMap/data_map.py +53 -0
  167. arctrl/py/JsonIO/Process/__init__.py +0 -0
  168. arctrl/py/JsonIO/Process/component.py +60 -0
  169. arctrl/py/JsonIO/Process/factor.py +36 -0
  170. arctrl/py/JsonIO/Process/factor_value.py +38 -0
  171. arctrl/py/JsonIO/Process/material.py +60 -0
  172. arctrl/py/JsonIO/Process/material_attribute.py +38 -0
  173. arctrl/py/JsonIO/Process/material_attribute_value.py +60 -0
  174. arctrl/py/JsonIO/Process/material_type.py +36 -0
  175. arctrl/py/JsonIO/Process/process.py +60 -0
  176. arctrl/py/JsonIO/Process/process_input.py +38 -0
  177. arctrl/py/JsonIO/Process/process_output.py +60 -0
  178. arctrl/py/JsonIO/Process/process_parameter_value.py +60 -0
  179. arctrl/py/JsonIO/Process/process_sequence.py +71 -0
  180. arctrl/py/JsonIO/Process/protocol.py +60 -0
  181. arctrl/py/JsonIO/Process/protocol_parameter.py +36 -0
  182. arctrl/py/JsonIO/Process/sample.py +60 -0
  183. arctrl/py/JsonIO/Process/source.py +60 -0
  184. arctrl/py/JsonIO/Process/study_materials.py +52 -0
  185. arctrl/py/JsonIO/Process/value.py +32 -0
  186. arctrl/py/JsonIO/Table/__init__.py +0 -0
  187. arctrl/py/JsonIO/Table/arc_table.py +121 -0
  188. arctrl/py/JsonIO/Table/composite_cell.py +36 -0
  189. arctrl/py/JsonIO/Table/composite_header.py +36 -0
  190. arctrl/py/JsonIO/Table/compression.py +85 -0
  191. arctrl/py/JsonIO/Table/iotype.py +36 -0
  192. arctrl/py/JsonIO/Table/templates.py +113 -0
  193. arctrl/py/JsonIO/__init__.py +0 -0
  194. arctrl/py/JsonIO/assay.py +113 -0
  195. arctrl/py/JsonIO/comment.py +80 -0
  196. arctrl/py/JsonIO/data.py +60 -0
  197. arctrl/py/JsonIO/data_file.py +58 -0
  198. arctrl/py/JsonIO/decode.py +9 -0
  199. arctrl/py/JsonIO/encode.py +1 -0
  200. arctrl/py/JsonIO/investigation.py +113 -0
  201. arctrl/py/JsonIO/ldobject.py +106 -0
  202. arctrl/py/JsonIO/ontology_annotation.py +80 -0
  203. arctrl/py/JsonIO/ontology_source_reference.py +80 -0
  204. arctrl/py/JsonIO/person.py +82 -0
  205. arctrl/py/JsonIO/publication.py +82 -0
  206. arctrl/py/JsonIO/study.py +114 -0
  207. arctrl/py/ROCrate/Generic/__init__.py +0 -0
  208. arctrl/py/ROCrate/Generic/comment.py +131 -0
  209. arctrl/py/ROCrate/Generic/dataset.py +817 -0
  210. arctrl/py/ROCrate/Generic/defined_term.py +131 -0
  211. arctrl/py/ROCrate/Generic/file.py +237 -0
  212. arctrl/py/ROCrate/Generic/lab_process.py +324 -0
  213. arctrl/py/ROCrate/Generic/lab_protocol.py +338 -0
  214. arctrl/py/ROCrate/Generic/organization.py +83 -0
  215. arctrl/py/ROCrate/Generic/person.py +484 -0
  216. arctrl/py/ROCrate/Generic/postal_address.py +195 -0
  217. arctrl/py/ROCrate/Generic/property_value.py +696 -0
  218. arctrl/py/ROCrate/Generic/sample.py +202 -0
  219. arctrl/py/ROCrate/Generic/scholarly_article.py +229 -0
  220. arctrl/py/ROCrate/ISAProfile/__init__.py +0 -0
  221. arctrl/py/ROCrate/ISAProfile/assay.py +70 -0
  222. arctrl/py/ROCrate/ISAProfile/data.py +65 -0
  223. arctrl/py/ROCrate/ISAProfile/dataset.py +24 -0
  224. arctrl/py/ROCrate/ISAProfile/investigation.py +73 -0
  225. arctrl/py/ROCrate/ISAProfile/lab_process.py +162 -0
  226. arctrl/py/ROCrate/ISAProfile/lab_protocol.py +37 -0
  227. arctrl/py/ROCrate/ISAProfile/person.py +72 -0
  228. arctrl/py/ROCrate/ISAProfile/property_value.py +98 -0
  229. arctrl/py/ROCrate/ISAProfile/sample.py +64 -0
  230. arctrl/py/ROCrate/ISAProfile/scholarly_article.py +98 -0
  231. arctrl/py/ROCrate/ISAProfile/study.py +74 -0
  232. arctrl/py/ROCrate/__init__.py +0 -0
  233. arctrl/py/ROCrate/arc_rocrate_metadata.py +39 -0
  234. arctrl/py/ROCrate/dyn_obj_extensions.py +1 -0
  235. arctrl/py/ROCrate/helper.py +8 -0
  236. arctrl/py/ROCrate/ldcontext.py +362 -0
  237. arctrl/py/ROCrate/ldobject.py +1247 -0
  238. arctrl/py/ROCrate/rocrate_context.py +51 -0
  239. arctrl/py/Spreadsheet/AnnotationTable/__init__.py +0 -0
  240. arctrl/py/Spreadsheet/AnnotationTable/arc_table.py +193 -0
  241. arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
  242. arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +210 -0
  243. arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
  244. arctrl/py/Spreadsheet/DataMapTable/__init__.py +0 -0
  245. arctrl/py/Spreadsheet/DataMapTable/data_map_column.py +114 -0
  246. arctrl/py/Spreadsheet/DataMapTable/data_map_header.py +618 -0
  247. arctrl/py/Spreadsheet/DataMapTable/data_map_table.py +119 -0
  248. arctrl/py/Spreadsheet/Metadata/__init__.py +0 -0
  249. arctrl/py/Spreadsheet/Metadata/assays.py +125 -0
  250. arctrl/py/Spreadsheet/Metadata/comment.py +77 -0
  251. arctrl/py/Spreadsheet/Metadata/contacts.py +134 -0
  252. arctrl/py/Spreadsheet/Metadata/conversions.py +190 -0
  253. arctrl/py/Spreadsheet/Metadata/design_descriptors.py +34 -0
  254. arctrl/py/Spreadsheet/Metadata/factors.py +107 -0
  255. arctrl/py/Spreadsheet/Metadata/ontology_annotation.py +88 -0
  256. arctrl/py/Spreadsheet/Metadata/ontology_source_reference.py +96 -0
  257. arctrl/py/Spreadsheet/Metadata/protocols.py +146 -0
  258. arctrl/py/Spreadsheet/Metadata/publication.py +122 -0
  259. arctrl/py/Spreadsheet/Metadata/run.py +122 -0
  260. arctrl/py/Spreadsheet/Metadata/sparse_table.py +508 -0
  261. arctrl/py/Spreadsheet/Metadata/study.py +312 -0
  262. arctrl/py/Spreadsheet/Metadata/workflow.py +151 -0
  263. arctrl/py/Spreadsheet/__init__.py +0 -0
  264. arctrl/py/Spreadsheet/arc_assay.py +233 -0
  265. arctrl/py/Spreadsheet/arc_investigation.py +418 -0
  266. arctrl/py/Spreadsheet/arc_run.py +190 -0
  267. arctrl/py/Spreadsheet/arc_study.py +144 -0
  268. arctrl/py/Spreadsheet/arc_workflow.py +176 -0
  269. arctrl/py/Spreadsheet/assembly_info.py +1 -0
  270. arctrl/py/Spreadsheet/collection_aux.py +167 -0
  271. arctrl/py/Spreadsheet/data_map.py +44 -0
  272. arctrl/py/Spreadsheet/template.py +460 -0
  273. arctrl/py/ValidationPackages/__init__.py +0 -0
  274. arctrl/py/ValidationPackages/validation_package.py +82 -0
  275. arctrl/py/ValidationPackages/validation_packages_config.py +132 -0
  276. arctrl/py/WebRequest/__init__.py +0 -0
  277. arctrl/py/WebRequest/web_request.py +9 -0
  278. arctrl/py/WebRequest/web_request_py.py +135 -0
  279. arctrl/py/Yaml/__init__.py +0 -0
  280. arctrl/py/Yaml/decode.py +1 -0
  281. arctrl/py/Yaml/encode.py +10 -0
  282. arctrl/py/Yaml/validation_package.py +77 -0
  283. arctrl/py/Yaml/validation_packages_config.py +86 -0
  284. arctrl/py/__init__.py +0 -0
  285. arctrl/py/arc.py +1400 -0
  286. arctrl/py/column_index.py +280 -0
  287. arctrl/py/conversion.py +2184 -0
  288. arctrl/py/cross_async.py +76 -0
  289. arctrl/py/fable_modules/dynamic_obj/__init__.py +0 -0
  290. arctrl/py/fable_modules/dynamic_obj/dyn_obj.py +136 -0
  291. arctrl/py/fable_modules/dynamic_obj/dynamic_obj.py +415 -0
  292. arctrl/py/fable_modules/dynamic_obj/fable_js.py +1 -0
  293. arctrl/py/fable_modules/dynamic_obj/fable_py.py +288 -0
  294. arctrl/py/fable_modules/dynamic_obj/hash_codes.py +82 -0
  295. arctrl/py/fable_modules/dynamic_obj/property_helper.py +25 -0
  296. arctrl/py/fable_modules/dynamic_obj/reflection_utils.py +87 -0
  297. arctrl/py/fable_modules/fable_library/__init__.py +0 -0
  298. arctrl/py/fable_modules/fable_library/array_.py +1528 -0
  299. arctrl/py/fable_modules/fable_library/async_.py +377 -0
  300. arctrl/py/fable_modules/fable_library/async_builder.py +379 -0
  301. arctrl/py/fable_modules/fable_library/big_int.py +330 -0
  302. arctrl/py/fable_modules/fable_library/bit_converter.py +131 -0
  303. arctrl/py/fable_modules/fable_library/boolean.py +26 -0
  304. arctrl/py/fable_modules/fable_library/char.py +237 -0
  305. arctrl/py/fable_modules/fable_library/choice.py +212 -0
  306. arctrl/py/fable_modules/fable_library/date.py +779 -0
  307. arctrl/py/fable_modules/fable_library/date_offset.py +79 -0
  308. arctrl/py/fable_modules/fable_library/decimal_.py +190 -0
  309. arctrl/py/fable_modules/fable_library/diagnostics.py +54 -0
  310. arctrl/py/fable_modules/fable_library/double.py +87 -0
  311. arctrl/py/fable_modules/fable_library/encoding.py +41 -0
  312. arctrl/py/fable_modules/fable_library/event.py +206 -0
  313. arctrl/py/fable_modules/fable_library/file.py +107 -0
  314. arctrl/py/fable_modules/fable_library/fsharp_collections.py +52 -0
  315. arctrl/py/fable_modules/fable_library/fsharp_core.py +123 -0
  316. arctrl/py/fable_modules/fable_library/global_.py +63 -0
  317. arctrl/py/fable_modules/fable_library/guid.py +41 -0
  318. arctrl/py/fable_modules/fable_library/int32.py +73 -0
  319. arctrl/py/fable_modules/fable_library/list.py +1788 -0
  320. arctrl/py/fable_modules/fable_library/long.py +240 -0
  321. arctrl/py/fable_modules/fable_library/mailbox_processor.py +179 -0
  322. arctrl/py/fable_modules/fable_library/map.py +1854 -0
  323. arctrl/py/fable_modules/fable_library/map_util.py +148 -0
  324. arctrl/py/fable_modules/fable_library/mutable_map.py +397 -0
  325. arctrl/py/fable_modules/fable_library/mutable_set.py +279 -0
  326. arctrl/py/fable_modules/fable_library/native.py +45 -0
  327. arctrl/py/fable_modules/fable_library/numeric.py +46 -0
  328. arctrl/py/fable_modules/fable_library/observable.py +222 -0
  329. arctrl/py/fable_modules/fable_library/option.py +128 -0
  330. arctrl/py/fable_modules/fable_library/path.py +62 -0
  331. arctrl/py/fable_modules/fable_library/range.py +117 -0
  332. arctrl/py/fable_modules/fable_library/reflection.py +463 -0
  333. arctrl/py/fable_modules/fable_library/reg_exp.py +137 -0
  334. arctrl/py/fable_modules/fable_library/resize_array.py +31 -0
  335. arctrl/py/fable_modules/fable_library/result.py +212 -0
  336. arctrl/py/fable_modules/fable_library/seq.py +1979 -0
  337. arctrl/py/fable_modules/fable_library/seq2.py +221 -0
  338. arctrl/py/fable_modules/fable_library/set.py +2414 -0
  339. arctrl/py/fable_modules/fable_library/singleton_local_time_zone.py +36 -0
  340. arctrl/py/fable_modules/fable_library/string_.py +573 -0
  341. arctrl/py/fable_modules/fable_library/system_collections_generic.py +462 -0
  342. arctrl/py/fable_modules/fable_library/system_text.py +237 -0
  343. arctrl/py/fable_modules/fable_library/task.py +116 -0
  344. arctrl/py/fable_modules/fable_library/task_builder.py +122 -0
  345. arctrl/py/fable_modules/fable_library/thread.py +5 -0
  346. arctrl/py/fable_modules/fable_library/time_span.py +283 -0
  347. arctrl/py/fable_modules/fable_library/timer.py +24 -0
  348. arctrl/py/fable_modules/fable_library/types.py +401 -0
  349. arctrl/py/fable_modules/fable_library/uri.py +109 -0
  350. arctrl/py/fable_modules/fable_library/util.py +2735 -0
  351. arctrl/py/fable_modules/fable_openpyxl/__init__.py +0 -0
  352. arctrl/py/fable_modules/fable_openpyxl/openpyxl.py +362 -0
  353. arctrl/py/fable_modules/fable_python/cognite-sdk/__init__.py +0 -0
  354. arctrl/py/fable_modules/fable_python/cognite-sdk/cognite_sdk.py +22 -0
  355. arctrl/py/fable_modules/fable_python/flask/__init__.py +0 -0
  356. arctrl/py/fable_modules/fable_python/flask/flask.py +34 -0
  357. arctrl/py/fable_modules/fable_python/jupyter/__init__.py +0 -0
  358. arctrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +47 -0
  359. arctrl/py/fable_modules/fable_python/jupyter/ipython.py +13 -0
  360. arctrl/py/fable_modules/fable_python/stdlib/__init__.py +0 -0
  361. arctrl/py/fable_modules/fable_python/stdlib/ast.py +1 -0
  362. arctrl/py/fable_modules/fable_python/stdlib/asyncio/__init__.py +0 -0
  363. arctrl/py/fable_modules/fable_python/stdlib/asyncio/events.py +17 -0
  364. arctrl/py/fable_modules/fable_python/stdlib/asyncio/futures.py +52 -0
  365. arctrl/py/fable_modules/fable_python/stdlib/asyncio/tasks.py +38 -0
  366. arctrl/py/fable_modules/fable_python/stdlib/base64_.py +1 -0
  367. arctrl/py/fable_modules/fable_python/stdlib/builtins_.py +38 -0
  368. arctrl/py/fable_modules/fable_python/stdlib/html.py +1 -0
  369. arctrl/py/fable_modules/fable_python/stdlib/json.py +1 -0
  370. arctrl/py/fable_modules/fable_python/stdlib/math_.py +1 -0
  371. arctrl/py/fable_modules/fable_python/stdlib/os_.py +1 -0
  372. arctrl/py/fable_modules/fable_python/stdlib/queue_.py +1 -0
  373. arctrl/py/fable_modules/fable_python/stdlib/string_.py +1 -0
  374. arctrl/py/fable_modules/fable_python/stdlib/sys_.py +30 -0
  375. arctrl/py/fable_modules/fable_python/stdlib/time_.py +1 -0
  376. arctrl/py/fable_modules/fable_python/stdlib/tk_inter.py +1 -0
  377. arctrl/py/fable_modules/fs_spreadsheet/Cells/__init__.py +0 -0
  378. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +338 -0
  379. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +469 -0
  380. arctrl/py/fable_modules/fs_spreadsheet/DSL/__init__.py +0 -0
  381. arctrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +214 -0
  382. arctrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +139 -0
  383. arctrl/py/fable_modules/fs_spreadsheet/DSL/dsl.py +50 -0
  384. arctrl/py/fable_modules/fs_spreadsheet/DSL/expression.py +65 -0
  385. arctrl/py/fable_modules/fs_spreadsheet/DSL/operators.py +9 -0
  386. arctrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +139 -0
  387. arctrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +118 -0
  388. arctrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +122 -0
  389. arctrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +464 -0
  390. arctrl/py/fable_modules/fs_spreadsheet/DSL/types.py +314 -0
  391. arctrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +106 -0
  392. arctrl/py/fable_modules/fs_spreadsheet/Json/__init__.py +0 -0
  393. arctrl/py/fable_modules/fs_spreadsheet/Json/cell.py +103 -0
  394. arctrl/py/fable_modules/fs_spreadsheet/Json/column.py +70 -0
  395. arctrl/py/fable_modules/fs_spreadsheet/Json/row.py +70 -0
  396. arctrl/py/fable_modules/fs_spreadsheet/Json/table.py +57 -0
  397. arctrl/py/fable_modules/fs_spreadsheet/Json/value.py +93 -0
  398. arctrl/py/fable_modules/fs_spreadsheet/Json/workbook.py +71 -0
  399. arctrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +217 -0
  400. arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
  401. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +47 -0
  402. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +186 -0
  403. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +90 -0
  404. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +78 -0
  405. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +48 -0
  406. arctrl/py/fable_modules/fs_spreadsheet/Tables/__init__.py +0 -0
  407. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +393 -0
  408. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +127 -0
  409. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_row.py +23 -0
  410. arctrl/py/fable_modules/fs_spreadsheet/__init__.py +0 -0
  411. arctrl/py/fable_modules/fs_spreadsheet/fs_address.py +218 -0
  412. arctrl/py/fable_modules/fs_spreadsheet/fs_column.py +172 -0
  413. arctrl/py/fable_modules/fs_spreadsheet/fs_row.py +183 -0
  414. arctrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +180 -0
  415. arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +600 -0
  416. arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +330 -0
  417. arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
  418. arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +63 -0
  419. arctrl/py/fable_modules/fs_spreadsheet_py/cell_type.py +50 -0
  420. arctrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +60 -0
  421. arctrl/py/fable_modules/fs_spreadsheet_py/json.py +47 -0
  422. arctrl/py/fable_modules/fs_spreadsheet_py/table.py +53 -0
  423. arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +40 -0
  424. arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +54 -0
  425. arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
  426. arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
  427. arctrl/py/fable_modules/thoth_json_core/decode.py +1588 -0
  428. arctrl/py/fable_modules/thoth_json_core/encode.py +261 -0
  429. arctrl/py/fable_modules/thoth_json_core/types.py +181 -0
  430. arctrl/py/fable_modules/thoth_json_python/__init__.py +0 -0
  431. arctrl/py/fable_modules/thoth_json_python/decode.py +112 -0
  432. arctrl/py/fable_modules/thoth_json_python/encode.py +72 -0
  433. arctrl/py/fable_modules/thoth_json_python/python.py +1 -0
  434. arctrl/py/fable_modules/yamlicious/Interop/__init__.py +0 -0
  435. arctrl/py/fable_modules/yamlicious/Interop/js_interop.py +1 -0
  436. arctrl/py/fable_modules/yamlicious/Interop/py_interop.py +7 -0
  437. arctrl/py/fable_modules/yamlicious/__init__.py +0 -0
  438. arctrl/py/fable_modules/yamlicious/decode.py +1784 -0
  439. arctrl/py/fable_modules/yamlicious/encode.py +84 -0
  440. arctrl/py/fable_modules/yamlicious/library.py +10 -0
  441. arctrl/py/fable_modules/yamlicious/persil.py +57 -0
  442. arctrl/py/fable_modules/yamlicious/preprocessing.py +99 -0
  443. arctrl/py/fable_modules/yamlicious/reader.py +665 -0
  444. arctrl/py/fable_modules/yamlicious/regex.py +21 -0
  445. arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +256 -0
  446. arctrl/py/fable_modules/yamlicious/writer.py +175 -0
  447. arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
  448. arctrl/py/json.py +213 -0
  449. arctrl/py/rocrate_io.py +72 -0
  450. arctrl/py/template_web.py +23 -0
  451. arctrl/py/xlsx.py +148 -0
  452. arctrl/rocrate.py +21 -0
  453. arctrl-3.0.0a3.dist-info/LICENSE +21 -0
  454. arctrl-3.0.0a3.dist-info/METADATA +119 -0
  455. arctrl-3.0.0a3.dist-info/RECORD +456 -0
  456. arctrl-3.0.0a3.dist-info/WHEEL +4 -0
arctrl/py/json.py ADDED
@@ -0,0 +1,213 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from .Core.arc_types import (ArcAssay, ArcStudy, ArcInvestigation)
4
+ from .Core.ontology_annotation import OntologyAnnotation
5
+ from .arc import ARC
6
+ from .JsonIO.assay import (ARCtrl_ArcAssay__ArcAssay_fromJsonString_Static_Z721C83C5, ARCtrl_ArcAssay__ArcAssay_fromCompressedJsonString_Static_Z721C83C5, ARCtrl_ArcAssay__ArcAssay_fromISAJsonString_Static_Z721C83C5, ARCtrl_ArcAssay__ArcAssay_fromROCrateJsonString_Static_Z721C83C5, ARCtrl_ArcAssay__ArcAssay_toJsonString_Static_71136F3F, ARCtrl_ArcAssay__ArcAssay_toCompressedJsonString_Static_71136F3F, ARCtrl_ArcAssay__ArcAssay_toISAJsonString_Static_Z3B036AA, ARCtrl_ArcAssay__ArcAssay_toROCrateJsonString_Static_5CABCA47)
7
+ from .JsonIO.investigation import (ARCtrl_ArcInvestigation__ArcInvestigation_fromJsonString_Static_Z721C83C5, ARCtrl_ArcInvestigation__ArcInvestigation_fromCompressedJsonString_Static_Z721C83C5, ARCtrl_ArcInvestigation__ArcInvestigation_fromISAJsonString_Static_Z721C83C5, ARCtrl_ArcInvestigation__ArcInvestigation_fromROCrateJsonString_Static_Z721C83C5, ARCtrl_ArcInvestigation__ArcInvestigation_toJsonString_Static_71136F3F, ARCtrl_ArcInvestigation__ArcInvestigation_toCompressedJsonString_Static_71136F3F, ARCtrl_ArcInvestigation__ArcInvestigation_toISAJsonString_Static_Z3B036AA, ARCtrl_ArcInvestigation__ArcInvestigation_toROCrateJsonString_Static_71136F3F)
8
+ from .JsonIO.ontology_annotation import (ARCtrl_OntologyAnnotation__OntologyAnnotation_fromJsonString_Static_Z721C83C5, ARCtrl_OntologyAnnotation__OntologyAnnotation_fromISAJsonString_Static_Z721C83C5, ARCtrl_OntologyAnnotation__OntologyAnnotation_fromROCrateJsonString_Static_Z721C83C5, ARCtrl_OntologyAnnotation__OntologyAnnotation_toJsonString_Static_71136F3F, ARCtrl_OntologyAnnotation__OntologyAnnotation_toISAJsonString_Static_71136F3F, ARCtrl_OntologyAnnotation__OntologyAnnotation_toROCrateJsonString_Static_71136F3F)
9
+ from .JsonIO.study import (ARCtrl_ArcStudy__ArcStudy_fromJsonString_Static_Z721C83C5, ARCtrl_ArcStudy__ArcStudy_fromCompressedJsonString_Static_Z721C83C5, ARCtrl_ArcStudy__ArcStudy_fromISAJsonString_Static_Z721C83C5, ARCtrl_ArcStudy__ArcStudy_fromROCrateJsonString_Static_Z721C83C5, ARCtrl_ArcStudy__ArcStudy_toJsonString_Static_71136F3F, ARCtrl_ArcStudy__ArcStudy_toCompressedJsonString_Static_71136F3F, ARCtrl_ArcStudy__ArcStudy_toISAJsonString_Static_Z3FD920F1, ARCtrl_ArcStudy__ArcStudy_toROCrateJsonString_Static_3BA23086)
10
+ from .fable_modules.fable_library.list import FSharpList
11
+ from .fable_modules.fable_library.reflection import (TypeInfo, class_type)
12
+
13
+ def _expr3761() -> TypeInfo:
14
+ return class_type("ARCtrl.JsonHelper.OntologyAnnotationJson", None, JsonHelper_OntologyAnnotationJson)
15
+
16
+
17
+ class JsonHelper_OntologyAnnotationJson:
18
+ def __init__(self, __unit: None=None) -> None:
19
+ pass
20
+
21
+ def from_json_string(self, s: str) -> OntologyAnnotation:
22
+ return ARCtrl_OntologyAnnotation__OntologyAnnotation_fromJsonString_Static_Z721C83C5(s)
23
+
24
+ def from_isajson_string(self, s: str) -> OntologyAnnotation:
25
+ return ARCtrl_OntologyAnnotation__OntologyAnnotation_fromISAJsonString_Static_Z721C83C5(s)
26
+
27
+ def from_rocrate_json_string(self, s: str) -> OntologyAnnotation:
28
+ return ARCtrl_OntologyAnnotation__OntologyAnnotation_fromROCrateJsonString_Static_Z721C83C5(s)
29
+
30
+ def to_json_string(self, oa: OntologyAnnotation, spaces: int | None=None) -> str:
31
+ return ARCtrl_OntologyAnnotation__OntologyAnnotation_toJsonString_Static_71136F3F(spaces)(oa)
32
+
33
+ def to_isajson_string(self, oa: OntologyAnnotation, spaces: int | None=None) -> str:
34
+ return ARCtrl_OntologyAnnotation__OntologyAnnotation_toISAJsonString_Static_71136F3F(spaces)(oa)
35
+
36
+ def to_rocrate_json_string(self, oa: OntologyAnnotation, spaces: int | None=None) -> str:
37
+ return ARCtrl_OntologyAnnotation__OntologyAnnotation_toROCrateJsonString_Static_71136F3F(spaces)(oa)
38
+
39
+
40
+ JsonHelper_OntologyAnnotationJson_reflection = _expr3761
41
+
42
+ def JsonHelper_OntologyAnnotationJson__ctor(__unit: None=None) -> JsonHelper_OntologyAnnotationJson:
43
+ return JsonHelper_OntologyAnnotationJson(__unit)
44
+
45
+
46
+ def _expr3762() -> TypeInfo:
47
+ return class_type("ARCtrl.JsonHelper.AssayJson", None, JsonHelper_AssayJson)
48
+
49
+
50
+ class JsonHelper_AssayJson:
51
+ def __init__(self, __unit: None=None) -> None:
52
+ pass
53
+
54
+ def from_json_string(self, s: str) -> ArcAssay:
55
+ return ARCtrl_ArcAssay__ArcAssay_fromJsonString_Static_Z721C83C5(s)
56
+
57
+ def from_compressed_json_string(self, s: str) -> ArcAssay:
58
+ return ARCtrl_ArcAssay__ArcAssay_fromCompressedJsonString_Static_Z721C83C5(s)
59
+
60
+ def from_isajson_string(self, s: str) -> ArcAssay:
61
+ return ARCtrl_ArcAssay__ArcAssay_fromISAJsonString_Static_Z721C83C5(s)
62
+
63
+ def from_rocrate_json_string(self, s: str) -> ArcAssay:
64
+ return ARCtrl_ArcAssay__ArcAssay_fromROCrateJsonString_Static_Z721C83C5(s)
65
+
66
+ def to_json_string(self, assay: ArcAssay, spaces: int | None=None) -> str:
67
+ return ARCtrl_ArcAssay__ArcAssay_toJsonString_Static_71136F3F(spaces)(assay)
68
+
69
+ def to_compressed_json_string(self, assay: ArcAssay, spaces: int | None=None) -> str:
70
+ return ARCtrl_ArcAssay__ArcAssay_toCompressedJsonString_Static_71136F3F(spaces)(assay)
71
+
72
+ def to_isajson_string(self, assay: ArcAssay, spaces: int | None=None, use_idreferencing: bool | None=None) -> str:
73
+ return ARCtrl_ArcAssay__ArcAssay_toISAJsonString_Static_Z3B036AA(spaces, use_idreferencing)(assay)
74
+
75
+ def to_rocrate_json_string(self, assay: ArcAssay, study_name: str, spaces: int | None=None) -> str:
76
+ return ARCtrl_ArcAssay__ArcAssay_toROCrateJsonString_Static_5CABCA47(study_name, spaces)(assay)
77
+
78
+
79
+ JsonHelper_AssayJson_reflection = _expr3762
80
+
81
+ def JsonHelper_AssayJson__ctor(__unit: None=None) -> JsonHelper_AssayJson:
82
+ return JsonHelper_AssayJson(__unit)
83
+
84
+
85
+ def _expr3763() -> TypeInfo:
86
+ return class_type("ARCtrl.JsonHelper.StudyJson", None, JsonHelper_StudyJson)
87
+
88
+
89
+ class JsonHelper_StudyJson:
90
+ def __init__(self, __unit: None=None) -> None:
91
+ pass
92
+
93
+ def from_json_string(self, s: str) -> ArcStudy:
94
+ return ARCtrl_ArcStudy__ArcStudy_fromJsonString_Static_Z721C83C5(s)
95
+
96
+ def from_compressed_json_string(self, s: str) -> ArcStudy:
97
+ return ARCtrl_ArcStudy__ArcStudy_fromCompressedJsonString_Static_Z721C83C5(s)
98
+
99
+ def from_isajson_string(self, s: str) -> tuple[ArcStudy, FSharpList[ArcAssay]]:
100
+ return ARCtrl_ArcStudy__ArcStudy_fromISAJsonString_Static_Z721C83C5(s)
101
+
102
+ def from_rocrate_json_string(self, s: str) -> tuple[ArcStudy, FSharpList[ArcAssay]]:
103
+ return ARCtrl_ArcStudy__ArcStudy_fromROCrateJsonString_Static_Z721C83C5(s)
104
+
105
+ def to_json_string(self, study: ArcStudy, spaces: int | None=None) -> str:
106
+ return ARCtrl_ArcStudy__ArcStudy_toJsonString_Static_71136F3F(spaces)(study)
107
+
108
+ def to_compressed_json_string(self, study: ArcStudy, spaces: int | None=None) -> str:
109
+ return ARCtrl_ArcStudy__ArcStudy_toCompressedJsonString_Static_71136F3F(spaces)(study)
110
+
111
+ def to_isajson_string(self, study: ArcStudy, assays: FSharpList[ArcAssay] | None=None, spaces: int | None=None, use_idreferencing: bool | None=None) -> str:
112
+ return ARCtrl_ArcStudy__ArcStudy_toISAJsonString_Static_Z3FD920F1(assays, spaces, use_idreferencing)(study)
113
+
114
+ def to_rocrate_json_string(self, study: ArcStudy, assays: FSharpList[ArcAssay] | None=None, spaces: int | None=None) -> str:
115
+ return ARCtrl_ArcStudy__ArcStudy_toROCrateJsonString_Static_3BA23086(assays, spaces)(study)
116
+
117
+
118
+ JsonHelper_StudyJson_reflection = _expr3763
119
+
120
+ def JsonHelper_StudyJson__ctor(__unit: None=None) -> JsonHelper_StudyJson:
121
+ return JsonHelper_StudyJson(__unit)
122
+
123
+
124
+ def _expr3764() -> TypeInfo:
125
+ return class_type("ARCtrl.JsonHelper.InvestigationJson", None, JsonHelper_InvestigationJson)
126
+
127
+
128
+ class JsonHelper_InvestigationJson:
129
+ def __init__(self, __unit: None=None) -> None:
130
+ pass
131
+
132
+ def from_json_string(self, s: str) -> ArcInvestigation:
133
+ return ARCtrl_ArcInvestigation__ArcInvestigation_fromJsonString_Static_Z721C83C5(s)
134
+
135
+ def from_compressed_json_string(self, s: str) -> ArcInvestigation:
136
+ return ARCtrl_ArcInvestigation__ArcInvestigation_fromCompressedJsonString_Static_Z721C83C5(s)
137
+
138
+ def from_isajson_string(self, s: str) -> ArcInvestigation:
139
+ return ARCtrl_ArcInvestigation__ArcInvestigation_fromISAJsonString_Static_Z721C83C5(s)
140
+
141
+ def from_rocrate_json_string(self, s: str) -> ArcInvestigation:
142
+ return ARCtrl_ArcInvestigation__ArcInvestigation_fromROCrateJsonString_Static_Z721C83C5(s)
143
+
144
+ def to_json_string(self, investigation: ArcInvestigation, spaces: int | None=None) -> str:
145
+ return ARCtrl_ArcInvestigation__ArcInvestigation_toJsonString_Static_71136F3F(spaces)(investigation)
146
+
147
+ def to_compressed_json_string(self, investigation: ArcInvestigation, spaces: int | None=None) -> str:
148
+ return ARCtrl_ArcInvestigation__ArcInvestigation_toCompressedJsonString_Static_71136F3F(spaces)(investigation)
149
+
150
+ def to_isajson_string(self, investigation: ArcInvestigation, spaces: int | None=None, use_idreferencing: bool | None=None) -> str:
151
+ return ARCtrl_ArcInvestigation__ArcInvestigation_toISAJsonString_Static_Z3B036AA(spaces, use_idreferencing)(investigation)
152
+
153
+ def to_rocrate_json_string(self, investigation: ArcInvestigation, spaces: int | None=None) -> str:
154
+ return ARCtrl_ArcInvestigation__ArcInvestigation_toROCrateJsonString_Static_71136F3F(spaces)(investigation)
155
+
156
+
157
+ JsonHelper_InvestigationJson_reflection = _expr3764
158
+
159
+ def JsonHelper_InvestigationJson__ctor(__unit: None=None) -> JsonHelper_InvestigationJson:
160
+ return JsonHelper_InvestigationJson(__unit)
161
+
162
+
163
+ def _expr3765() -> TypeInfo:
164
+ return class_type("ARCtrl.JsonHelper.ARCJson", None, JsonHelper_ARCJson)
165
+
166
+
167
+ class JsonHelper_ARCJson:
168
+ def __init__(self, __unit: None=None) -> None:
169
+ pass
170
+
171
+ def from_rocrate_json_string(self, s: str) -> ARC:
172
+ return ARC.from_rocrate_json_string(s)
173
+
174
+ def to_rocrate_json_string(self, spaces: int | None=None) -> Callable[[ARC], str]:
175
+ return ARC.to_rocrate_json_string(spaces)
176
+
177
+
178
+ JsonHelper_ARCJson_reflection = _expr3765
179
+
180
+ def JsonHelper_ARCJson__ctor(__unit: None=None) -> JsonHelper_ARCJson:
181
+ return JsonHelper_ARCJson(__unit)
182
+
183
+
184
+ def _expr3766() -> TypeInfo:
185
+ return class_type("ARCtrl.JsonController", None, JsonController)
186
+
187
+
188
+ class JsonController:
189
+ @staticmethod
190
+ def OntologyAnnotation() -> JsonHelper_OntologyAnnotationJson:
191
+ return JsonHelper_OntologyAnnotationJson()
192
+
193
+ @staticmethod
194
+ def Assay() -> JsonHelper_AssayJson:
195
+ return JsonHelper_AssayJson()
196
+
197
+ @staticmethod
198
+ def Study() -> JsonHelper_StudyJson:
199
+ return JsonHelper_StudyJson()
200
+
201
+ @staticmethod
202
+ def Investigation() -> JsonHelper_InvestigationJson:
203
+ return JsonHelper_InvestigationJson()
204
+
205
+ @staticmethod
206
+ def ARC() -> JsonHelper_ARCJson:
207
+ return JsonHelper_ARCJson()
208
+
209
+
210
+ JsonController_reflection = _expr3766
211
+
212
+ __all__ = ["JsonHelper_OntologyAnnotationJson_reflection", "JsonHelper_AssayJson_reflection", "JsonHelper_StudyJson_reflection", "JsonHelper_InvestigationJson_reflection", "JsonHelper_ARCJson_reflection", "JsonController_reflection"]
213
+
@@ -0,0 +1,72 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from .Core.arc_types import ArcInvestigation
4
+ from .Json.ROCrate.ldgraph import (encoder, decoder)
5
+ from .Json.ROCrate.ldnode import decoder as decoder_1
6
+ from .ROCrate.Generic.dataset import LDDataset
7
+ from .ROCrate.ldcontext import LDContext
8
+ from .ROCrate.ldobject import (LDNode, LDRef, LDGraph)
9
+ from .ROCrate.rocrate_context import (init_v1_1, init_bioschemas_context)
10
+ from .conversion import (ARCtrl_ArcInvestigation__ArcInvestigation_ToROCrateInvestigation, ARCtrl_ArcInvestigation__ArcInvestigation_fromROCrateInvestigation_Static_Z6839B9E8)
11
+ from .fable_modules.fable_library.date import now
12
+ from .fable_modules.fable_library.option import value
13
+ from .fable_modules.fable_library.reflection import (TypeInfo, class_type)
14
+ from .fable_modules.fable_library.seq import exactly_one
15
+ from .fable_modules.thoth_json_core.decode import map
16
+ from .fable_modules.thoth_json_core.types import (IEncodable, Decoder_1)
17
+
18
+ def _expr3578() -> TypeInfo:
19
+ return class_type("ARCtrl.Json.ARC.ROCrate", None, ROCrate)
20
+
21
+
22
+ class ROCrate:
23
+ ...
24
+
25
+ ROCrate_reflection = _expr3578
26
+
27
+ def ROCrate_getDefaultLicense(__unit: None=None) -> str:
28
+ return "ALL RIGHTS RESERVED BY THE AUTHORS"
29
+
30
+
31
+ def ROCrate_get_metadataFileDescriptor(__unit: None=None) -> LDNode:
32
+ node: LDNode = LDNode("ro-crate-metadata.json", ["http://schema.org/CreativeWork"])
33
+ node.SetProperty("http://purl.org/dc/terms/conformsTo", LDRef("https://w3id.org/ro/crate/1.1"))
34
+ node.SetProperty("http://schema.org/about", LDRef("./"))
35
+ return node
36
+
37
+
38
+ def ROCrate_encoder_8A8D439(isa: ArcInvestigation, license: Any | None=None) -> IEncodable:
39
+ license_2: Any = ROCrate_getDefaultLicense() if (license is None) else value(license)
40
+ isa_1: LDNode = ARCtrl_ArcInvestigation__ArcInvestigation_ToROCrateInvestigation(isa)
41
+ LDDataset.set_sddate_published_as_date_time(isa_1, now())
42
+ LDDataset.set_license_as_creative_work(isa_1, license_2)
43
+ graph: LDGraph = isa_1.Flatten()
44
+ context: LDContext = LDContext(None, [init_v1_1(), init_bioschemas_context()])
45
+ graph.SetContext(context)
46
+ graph.AddNode(ROCrate_get_metadataFileDescriptor())
47
+ graph.Compact_InPlace()
48
+ return encoder(graph)
49
+
50
+
51
+ def ROCrate_get_decoder(__unit: None=None) -> Decoder_1[ArcInvestigation]:
52
+ def ctor(graph: LDGraph) -> ArcInvestigation:
53
+ match_value: LDNode | None = graph.TryGetNode("./")
54
+ if match_value is None:
55
+ raise Exception("RO-Crate graph did not contain root data Entity")
56
+
57
+ else:
58
+ return ARCtrl_ArcInvestigation__ArcInvestigation_fromROCrateInvestigation_Static_Z6839B9E8(match_value, graph, graph.TryGetContext())
59
+
60
+
61
+ return map(ctor, decoder)
62
+
63
+
64
+ def ROCrate_get_decoderDeprecated(__unit: None=None) -> Decoder_1[ArcInvestigation]:
65
+ def ctor(ldnode: LDNode) -> ArcInvestigation:
66
+ return ARCtrl_ArcInvestigation__ArcInvestigation_fromROCrateInvestigation_Static_Z6839B9E8(exactly_one(LDDataset.get_abouts(ldnode)), None, init_v1_1())
67
+
68
+ return map(ctor, decoder_1)
69
+
70
+
71
+ __all__ = ["ROCrate_reflection", "ROCrate_getDefaultLicense", "ROCrate_get_metadataFileDescriptor", "ROCrate_encoder_8A8D439", "ROCrate_get_decoder", "ROCrate_get_decoderDeprecated"]
72
+
@@ -0,0 +1,23 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from .Core.template import Template
4
+ from .JsonIO.Table.templates import Templates_fromJsonString
5
+ from .fable_modules.fable_library.async_builder import (singleton, Async)
6
+ from .fable_modules.fable_library.option import default_arg
7
+ from .fable_modules.fable_library.types import Array
8
+ from .WebRequest.web_request import download_file
9
+
10
+ def get_templates(url: str | None=None) -> Async[Array[Template]]:
11
+ url_1: str = default_arg(url, "https://github.com/nfdi4plants/Swate-templates/releases/download/latest/templates_v2.0.0.json")
12
+ def _arrow3626(__unit: None=None, url: Any=url) -> Async[Array[Template]]:
13
+ def _arrow3625(_arg: str) -> Async[Array[Template]]:
14
+ map_result: Array[Template] = Templates_fromJsonString(_arg)
15
+ return singleton.Return(map_result)
16
+
17
+ return singleton.Bind(download_file(url_1), _arrow3625)
18
+
19
+ return singleton.Delay(_arrow3626)
20
+
21
+
22
+ __all__ = ["get_templates"]
23
+
arctrl/py/xlsx.py ADDED
@@ -0,0 +1,148 @@
1
+ from __future__ import annotations
2
+ from .Core.arc_types import (ArcAssay, ArcStudy, ArcInvestigation)
3
+ from .Core.data_map import DataMap
4
+ from .Spreadsheet.arc_assay import (ARCtrl_ArcAssay__ArcAssay_fromFsWorkbook_Static_32154C9D, ARCtrl_ArcAssay__ArcAssay_toFsWorkbook_Static_Z2508BE4F)
5
+ from .Spreadsheet.arc_investigation import (ARCtrl_ArcInvestigation__ArcInvestigation_fromFsWorkbook_Static_32154C9D, ARCtrl_ArcInvestigation__ArcInvestigation_toFsWorkbook_Static_Z720BD3FF)
6
+ from .Spreadsheet.arc_study import (ARCtrl_ArcStudy__ArcStudy_fromFsWorkbook_Static_32154C9D, ARCtrl_ArcStudy__ArcStudy_toFsWorkbook_Static_Z4CEFA522)
7
+ from .Spreadsheet.data_map import (from_fs_workbook, to_fs_workbook)
8
+ from .fable_modules.fable_library.list import (FSharpList, of_seq)
9
+ from .fable_modules.fable_library.option import map
10
+ from .fable_modules.fable_library.reflection import (TypeInfo, class_type)
11
+ from .fable_modules.fable_library.types import Array
12
+ from .fable_modules.fs_spreadsheet.fs_workbook import FsWorkbook
13
+ from .fable_modules.fs_spreadsheet_py.fs_extension import (FsSpreadsheet_FsWorkbook__FsWorkbook_fromXlsxFile_Static_Z721C83C5, FsSpreadsheet_FsWorkbook__FsWorkbook_toXlsxFile_Static)
14
+
15
+ def _expr3767() -> TypeInfo:
16
+ return class_type("ARCtrl.XlsxHelper.DatamapXlsx", None, XlsxHelper_DatamapXlsx)
17
+
18
+
19
+ class XlsxHelper_DatamapXlsx:
20
+ def __init__(self, __unit: None=None) -> None:
21
+ pass
22
+
23
+ def from_fs_workbook(self, fswb: FsWorkbook) -> DataMap:
24
+ return from_fs_workbook(fswb)
25
+
26
+ def to_fs_workbook(self, datamap: DataMap) -> FsWorkbook:
27
+ return to_fs_workbook(datamap)
28
+
29
+ def from_xlsx_file(self, path: str) -> DataMap:
30
+ return from_fs_workbook(FsSpreadsheet_FsWorkbook__FsWorkbook_fromXlsxFile_Static_Z721C83C5(path))
31
+
32
+ def to_xlsx_file(self, path: str, datamap: DataMap) -> None:
33
+ FsSpreadsheet_FsWorkbook__FsWorkbook_toXlsxFile_Static(path, to_fs_workbook(datamap))
34
+
35
+
36
+ XlsxHelper_DatamapXlsx_reflection = _expr3767
37
+
38
+ def XlsxHelper_DatamapXlsx__ctor(__unit: None=None) -> XlsxHelper_DatamapXlsx:
39
+ return XlsxHelper_DatamapXlsx(__unit)
40
+
41
+
42
+ def _expr3768() -> TypeInfo:
43
+ return class_type("ARCtrl.XlsxHelper.AssayXlsx", None, XlsxHelper_AssayXlsx)
44
+
45
+
46
+ class XlsxHelper_AssayXlsx:
47
+ def __init__(self, __unit: None=None) -> None:
48
+ pass
49
+
50
+ def from_fs_workbook(self, fswb: FsWorkbook) -> ArcAssay:
51
+ return ARCtrl_ArcAssay__ArcAssay_fromFsWorkbook_Static_32154C9D(fswb)
52
+
53
+ def to_fs_workbook(self, assay: ArcAssay) -> FsWorkbook:
54
+ return ARCtrl_ArcAssay__ArcAssay_toFsWorkbook_Static_Z2508BE4F(assay)
55
+
56
+ def from_xlsx_file(self, path: str) -> ArcAssay:
57
+ return ARCtrl_ArcAssay__ArcAssay_fromFsWorkbook_Static_32154C9D(FsSpreadsheet_FsWorkbook__FsWorkbook_fromXlsxFile_Static_Z721C83C5(path))
58
+
59
+ def to_xlsx_file(self, path: str, assay: ArcAssay) -> None:
60
+ FsSpreadsheet_FsWorkbook__FsWorkbook_toXlsxFile_Static(path, ARCtrl_ArcAssay__ArcAssay_toFsWorkbook_Static_Z2508BE4F(assay))
61
+
62
+
63
+ XlsxHelper_AssayXlsx_reflection = _expr3768
64
+
65
+ def XlsxHelper_AssayXlsx__ctor(__unit: None=None) -> XlsxHelper_AssayXlsx:
66
+ return XlsxHelper_AssayXlsx(__unit)
67
+
68
+
69
+ def _expr3769() -> TypeInfo:
70
+ return class_type("ARCtrl.XlsxHelper.StudyXlsx", None, XlsxHelper_StudyXlsx)
71
+
72
+
73
+ class XlsxHelper_StudyXlsx:
74
+ def __init__(self, __unit: None=None) -> None:
75
+ pass
76
+
77
+ def from_fs_workbook(self, fswb: FsWorkbook) -> tuple[ArcStudy, FSharpList[ArcAssay]]:
78
+ return ARCtrl_ArcStudy__ArcStudy_fromFsWorkbook_Static_32154C9D(fswb)
79
+
80
+ def to_fs_workbook(self, study: ArcStudy, assays: Array[ArcAssay] | None=None) -> FsWorkbook:
81
+ return ARCtrl_ArcStudy__ArcStudy_toFsWorkbook_Static_Z4CEFA522(study, map(of_seq, assays))
82
+
83
+ def from_xlsx_file(self, path: str) -> tuple[ArcStudy, FSharpList[ArcAssay]]:
84
+ return ARCtrl_ArcStudy__ArcStudy_fromFsWorkbook_Static_32154C9D(FsSpreadsheet_FsWorkbook__FsWorkbook_fromXlsxFile_Static_Z721C83C5(path))
85
+
86
+ def to_xlsx_file(self, path: str, study: ArcStudy, assays: Array[ArcAssay] | None=None) -> None:
87
+ FsSpreadsheet_FsWorkbook__FsWorkbook_toXlsxFile_Static(path, ARCtrl_ArcStudy__ArcStudy_toFsWorkbook_Static_Z4CEFA522(study, map(of_seq, assays)))
88
+
89
+
90
+ XlsxHelper_StudyXlsx_reflection = _expr3769
91
+
92
+ def XlsxHelper_StudyXlsx__ctor(__unit: None=None) -> XlsxHelper_StudyXlsx:
93
+ return XlsxHelper_StudyXlsx(__unit)
94
+
95
+
96
+ def _expr3770() -> TypeInfo:
97
+ return class_type("ARCtrl.XlsxHelper.InvestigationXlsx", None, XlsxHelper_InvestigationXlsx)
98
+
99
+
100
+ class XlsxHelper_InvestigationXlsx:
101
+ def __init__(self, __unit: None=None) -> None:
102
+ pass
103
+
104
+ def from_fs_workbook(self, fswb: FsWorkbook) -> ArcInvestigation:
105
+ return ARCtrl_ArcInvestigation__ArcInvestigation_fromFsWorkbook_Static_32154C9D(fswb)
106
+
107
+ def to_fs_workbook(self, investigation: ArcInvestigation) -> FsWorkbook:
108
+ return ARCtrl_ArcInvestigation__ArcInvestigation_toFsWorkbook_Static_Z720BD3FF(investigation)
109
+
110
+ def from_xlsx_file(self, path: str) -> ArcInvestigation:
111
+ return ARCtrl_ArcInvestigation__ArcInvestigation_fromFsWorkbook_Static_32154C9D(FsSpreadsheet_FsWorkbook__FsWorkbook_fromXlsxFile_Static_Z721C83C5(path))
112
+
113
+ def to_xlsx_file(self, path: str, investigation: ArcInvestigation) -> None:
114
+ FsSpreadsheet_FsWorkbook__FsWorkbook_toXlsxFile_Static(path, ARCtrl_ArcInvestigation__ArcInvestigation_toFsWorkbook_Static_Z720BD3FF(investigation))
115
+
116
+
117
+ XlsxHelper_InvestigationXlsx_reflection = _expr3770
118
+
119
+ def XlsxHelper_InvestigationXlsx__ctor(__unit: None=None) -> XlsxHelper_InvestigationXlsx:
120
+ return XlsxHelper_InvestigationXlsx(__unit)
121
+
122
+
123
+ def _expr3771() -> TypeInfo:
124
+ return class_type("ARCtrl.XlsxController", None, XlsxController)
125
+
126
+
127
+ class XlsxController:
128
+ @staticmethod
129
+ def Datamap() -> XlsxHelper_DatamapXlsx:
130
+ return XlsxHelper_DatamapXlsx()
131
+
132
+ @staticmethod
133
+ def Assay() -> XlsxHelper_AssayXlsx:
134
+ return XlsxHelper_AssayXlsx()
135
+
136
+ @staticmethod
137
+ def Study() -> XlsxHelper_StudyXlsx:
138
+ return XlsxHelper_StudyXlsx()
139
+
140
+ @staticmethod
141
+ def Investigation() -> XlsxHelper_InvestigationXlsx:
142
+ return XlsxHelper_InvestigationXlsx()
143
+
144
+
145
+ XlsxController_reflection = _expr3771
146
+
147
+ __all__ = ["XlsxHelper_DatamapXlsx_reflection", "XlsxHelper_AssayXlsx_reflection", "XlsxHelper_StudyXlsx_reflection", "XlsxHelper_InvestigationXlsx_reflection", "XlsxController_reflection"]
148
+
arctrl/rocrate.py ADDED
@@ -0,0 +1,21 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import Any
4
+ from .py.ROCrate.ldobject import LDGraph, LDNode, LDValue, LDRef
5
+ from .py.ROCrate.ldcontext import LDContext
6
+ from .py.ROCrate.rocrate_context import init_v1_1, init_v1_2draft, init_bioschemas_context
7
+ from .py.ROCrate.Generic.comment import LDComment
8
+ from .py.ROCrate.Generic.defined_term import LDDefinedTerm
9
+ from .py.ROCrate.Generic.file import LDFile
10
+ from .py.ROCrate.Generic.lab_process import LDLabProcess
11
+ from .py.ROCrate.Generic.lab_protocol import LDLabProtocol
12
+ from .py.ROCrate.Generic.organization import LDOrganization
13
+ from .py.ROCrate.Generic.person import LDPerson
14
+ from .py.ROCrate.Generic.postal_address import LDPostalAddress
15
+ from .py.ROCrate.Generic.property_value import LDPropertyValue
16
+ from .py.ROCrate.Generic.sample import LDSample
17
+ from .py.ROCrate.Generic.scholarly_article import LDScholarlyArticle
18
+ from .py.ROCrate.Generic.dataset import LDDataset
19
+ from .py.JsonIO.ldobject import LDGraphExtensions_PyJsInterop as LDGraphIO
20
+ from .py.JsonIO.ldobject import LDNodeExtensions_PyJsInterop as LDNodeIO
21
+ from .py.conversion import TypeExtensions_Conversion as Conversion
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2021 DataPLANT
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,119 @@
1
+ Metadata-Version: 2.3
2
+ Name: arctrl
3
+ Version: 3.0.0a3
4
+ Summary: Library for management of Annotated Research Contexts (ARCs) using an in-memory representation and runtimer agnostic contract systems.
5
+ Keywords: arc,annotated research context,isa,research data,multi platform
6
+ Author: Heinrich Lukas Weil
7
+ Author-email: weil@rptu.de
8
+ Maintainer: Florian Wetzels
9
+ Requires-Python: >=3.11
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.11
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Programming Language :: Python :: 3.13
14
+ Requires-Dist: openpyxl (>=3.1.5,<4)
15
+ Requires-Dist: requests (>=2.28.1,<3.0.0)
16
+ Project-URL: Repository, https://github.com/nfdi4plants/ARCtrl
17
+ Description-Content-Type: text/markdown
18
+
19
+ 
20
+ ![logo](logos/ARCtrl_horizontal.png)
21
+
22
+ # ARCtrl
23
+
24
+ > **ARCtrl** the easy way to read, manipulate and write ARCs in __.NET__, __JavaScript__ and __Python__! ❤️
25
+
26
+ | Version | Downloads |
27
+ | :--------|-----------:|
28
+ |<a href="https://www.nuget.org/packages/ARCtrl/"><img alt="Nuget" src="https://img.shields.io/nuget/v/ARCtrl?logo=nuget&color=%234fb3d9"></a>|<a href="https://www.nuget.org/packages/ARCtrl/"><img alt="Nuget" src="https://img.shields.io/nuget/dt/ARCtrl?color=%234FB3D9"></a>|
29
+ |<a href="https://www.npmjs.com/package/@nfdi4plants/arctrl"><img alt="NPM" src="https://img.shields.io/npm/v/%40nfdi4plants/arctrl?logo=npm&color=%234fb3d9"></a>|<a href="https://www.npmjs.com/package/@nfdi4plants/arctrl"><img alt="NPM" src="https://img.shields.io/npm/dt/%40nfdi4plants%2Farctrl?color=%234fb3d9"></a>|
30
+ |<a href="https://pypi.org/project/ARCtrl/"><img alt="PyPI" src="https://img.shields.io/pypi/v/arctrl?logo=pypi&color=%234fb3d9"></a>|<a href="https://pypi.org/project/ARCtrl/"><img alt="PyPI" src="https://img.shields.io/pepy/dt/arctrl?color=%234fb3d9"></a>|
31
+
32
+ ## Install
33
+
34
+ #### .NET
35
+
36
+ ```fsharp
37
+ #r "nuget: ARCtrl"
38
+ ```
39
+
40
+ ```bash
41
+ <PackageReference Include="ARCtrl" Version="1.1.0" />
42
+ ```
43
+
44
+ #### JavaScript
45
+
46
+ ```bash
47
+ npm i @nfdi4plants/arctrl
48
+ ```
49
+
50
+ #### Python
51
+
52
+ ```bash
53
+ pip install arctrl
54
+ ```
55
+
56
+ ## Docs
57
+
58
+ Documentation can be found [here](https://nfdi4plants.github.io/nfdi4plants.knowledgebase/arctrl/)
59
+
60
+ ## Development
61
+
62
+ #### Requirements
63
+
64
+ - [nodejs and npm](https://nodejs.org/en/download)
65
+ - verify with `node --version` (Tested with v18.16.1)
66
+ - verify with `npm --version` (Tested with v9.2.0)
67
+ - [.NET SDK](https://dotnet.microsoft.com/en-us/download)
68
+ - verify with `dotnet --version` (Tested with 7.0.306)
69
+ - [Python](https://www.python.org/downloads/)
70
+ - verify with `py --version` (Tested with 3.12.2, known to work only for >=3.11)
71
+
72
+ #### Local Setup
73
+
74
+ On windows you can use the `setup.cmd` to run the following steps automatically!
75
+
76
+ 1. Setup dotnet tools
77
+
78
+ `dotnet tool restore`
79
+
80
+
81
+ 2. Install NPM dependencies
82
+
83
+ `npm install`
84
+
85
+ 3. Setup python environment
86
+
87
+ `py -m venv .venv`
88
+
89
+ 4. Install [uv](https://docs.astral.sh/uv/) and dependencies
90
+
91
+ 1. `.\.venv\Scripts\python.exe -m pip install -U pip setuptools`
92
+ 2. `.\.venv\Scripts\python.exe -m pip install uv`
93
+ 3. `.\.venv\Scripts\python.exe -m uv pip install -r pyproject.toml --group dev`
94
+
95
+ Verify correct setup with `./build.cmd runtests` ✨
96
+
97
+ ## Branding
98
+
99
+ Feel free to reference `ARCtrl` on slides or elsewhere using our logos:
100
+
101
+ |Square | Horizontal | Vertical |
102
+ | - | - | - |
103
+ | ![square](logos/ARCtrl_square.png) | ![horizontal](logos/ARCtrl_horizontal.png) | ![vertical](logos/ARCtrl_vertical.png) |
104
+
105
+ ## Performance
106
+
107
+ Measured on 13th Gen Intel(R) Core(TM) i7-13800H
108
+
109
+ | Name | Description | FSharp Time (ms) | JavaScript Time (ms) | Python Time (ms) |
110
+ | --- | --- | --- | --- | --- |
111
+ | Table_GetHashCode | From a table with 1 column and 10000 rows, retrieve the Hash Code | 5 | 21 | 226 |
112
+ | Table_AddRows | Add 10000 rows to a table with 4 columns. | 15 | 22 | 289 |
113
+ | Table_fillMissingCells | For a table 6 columns and 20000 rows, where each row has one missing value, fill those values with default values. | 49 | 108 | 4813 |
114
+ | Table_ToJson | Serialize a table with 5 columns and 10000 rows to json. | 1099 | 481 | 6833 |
115
+ | Table_ToCompressedJson | Serialize a table with 5 columns and 10000 rows to compressed json. | 261 | 2266 | 717334 |
116
+ | Assay_toJson | Parse an assay with one table with 10000 rows and 6 columns to json | 915 | 2459 | 28799 |
117
+ | Study_FromWorkbook | Parse a workbook with one study with 10000 rows and 6 columns to an ArcStudy | 97 | 87 | 1249 |
118
+ | Investigation_ToWorkbook_ManyStudies | Parse an investigation with 1500 studies to a workbook | 621 | 379 | 9974 |
119
+