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
@@ -0,0 +1,277 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import (Any, TypeVar)
4
+ from ...fable_modules.fable_library.list import (FSharpList, map, empty, append, choose, singleton, of_array, is_empty, head, tail)
5
+ from ...fable_modules.fable_library.option import (default_arg, map as map_1)
6
+ from ...fable_modules.fable_library.result import FSharpResult_2
7
+ from ...fable_modules.fable_library.seq import map as map_2
8
+ from ...fable_modules.fable_library.string_ import replace
9
+ from ...fable_modules.fable_library.util import IEnumerable_1
10
+ from ...fable_modules.thoth_json_core.decode import (string, object, IOptionalGetter, IRequiredGetter, unit, list_1 as list_1_3, IGetters)
11
+ from ...fable_modules.thoth_json_core.encode import list_1 as list_1_2
12
+ from ...fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1, ErrorReason_1, IDecoderHelpers_1)
13
+ from ...Core.Helper.collections_ import Option_fromValueWithDefault
14
+ from ...Core.Process.factor_value import FactorValue
15
+ from ...Core.Process.material_attribute_value import MaterialAttributeValue
16
+ from ...Core.Process.sample import Sample
17
+ from ...Core.Process.source import Source
18
+ from ..context.rocrate.isa_sample_context import context_jsonvalue
19
+ from ..decode import (Decode_uri, Decode_objectNoAdditionalProperties)
20
+ from ..encode import (try_include, try_include_list, try_include_list_opt)
21
+ from ..idtable import encode
22
+ from .factor_value import (ROCrate_encoder as ROCrate_encoder_2, ROCrate_decoder as ROCrate_decoder_1, ISAJson_encoder as ISAJson_encoder_2, ISAJson_decoder as ISAJson_decoder_2)
23
+ from .material_attribute_value import (ROCrate_encoder as ROCrate_encoder_1, ROCrate_decoder as ROCrate_decoder_2, ISAJson_encoder as ISAJson_encoder_1, ISAJson_decoder as ISAJson_decoder_1)
24
+ from .source import (ROCrate_decoder as ROCrate_decoder_3, ISAJson_encoder as ISAJson_encoder_3, ISAJson_decoder as ISAJson_decoder_3)
25
+
26
+ __A_ = TypeVar("__A_")
27
+
28
+ def ROCrate_genID(s: Sample) -> str:
29
+ match_value: str | None = s.ID
30
+ if match_value is None:
31
+ match_value_1: str | None = s.Name
32
+ if match_value_1 is None:
33
+ return "#EmptySample"
34
+
35
+ else:
36
+ return "#Sample_" + replace(match_value_1, " ", "_")
37
+
38
+
39
+ else:
40
+ return match_value
41
+
42
+
43
+
44
+ def ROCrate_encoder(oa: Sample) -> IEncodable:
45
+ additional_properties: FSharpList[IEncodable]
46
+ list_4: FSharpList[IEncodable] = map(ROCrate_encoder_1, default_arg(oa.Characteristics, empty()))
47
+ additional_properties = append(map(ROCrate_encoder_2, default_arg(oa.FactorValues, empty())), list_4)
48
+ def chooser(tupled_arg: tuple[str, IEncodable | None], oa: Any=oa) -> tuple[str, IEncodable] | None:
49
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
50
+ return (tupled_arg[0], v_1)
51
+
52
+ return map_1(mapping, tupled_arg[1])
53
+
54
+ def _arrow2618(__unit: None=None, oa: Any=oa) -> IEncodable:
55
+ value_2: str = ROCrate_genID(oa)
56
+ class ObjectExpr2617(IEncodable):
57
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
58
+ return helpers.encode_string(value_2)
59
+
60
+ return ObjectExpr2617()
61
+
62
+ class ObjectExpr2619(IEncodable):
63
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
64
+ return helpers_1.encode_string("Sample")
65
+
66
+ class ObjectExpr2620(IEncodable):
67
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
68
+ return helpers_2.encode_string("Sample")
69
+
70
+ def _arrow2622(value_5: str, oa: Any=oa) -> IEncodable:
71
+ class ObjectExpr2621(IEncodable):
72
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
73
+ return helpers_3.encode_string(value_5)
74
+
75
+ return ObjectExpr2621()
76
+
77
+ def _arrow2623(x: IEncodable, oa: Any=oa) -> IEncodable:
78
+ return x
79
+
80
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("@id", _arrow2618()), ("@type", list_1_2(singleton(ObjectExpr2619()))), ("additionalType", ObjectExpr2620()), try_include("name", _arrow2622, oa.Name), try_include_list("additionalProperties", _arrow2623, additional_properties), ("@context", context_jsonvalue)]))
81
+ class ObjectExpr2624(IEncodable):
82
+ def Encode(self, helpers_4: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
83
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
84
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_4))
85
+
86
+ arg: IEnumerable_1[tuple[str, __A_]] = map_2(mapping_1, values)
87
+ return helpers_4.encode_object(arg)
88
+
89
+ return ObjectExpr2624()
90
+
91
+
92
+ class ObjectExpr2626(Decoder_1[tuple[MaterialAttributeValue | None, FactorValue | None]]):
93
+ def Decode(self, s: IDecoderHelpers_1[Any], json: Any) -> FSharpResult_2[tuple[MaterialAttributeValue | None, FactorValue | None], tuple[str, ErrorReason_1[__A_]]]:
94
+ def _arrow2625(__unit: None=None) -> str:
95
+ match_value: FSharpResult_2[str, tuple[str, ErrorReason_1[__A_]]] = string.Decode(s, s.get_property("additionalType", json))
96
+ return match_value.fields[0] if (match_value.tag == 0) else ""
97
+
98
+ if (_arrow2625() if s.has_property("additionalType", json) else "") == "FactorValue":
99
+ match_value_1: FSharpResult_2[FactorValue, tuple[str, ErrorReason_1[__A_]]] = ROCrate_decoder_1.Decode(s, json)
100
+ return FSharpResult_2(1, match_value_1.fields[0]) if (match_value_1.tag == 1) else FSharpResult_2(0, (None, match_value_1.fields[0]))
101
+
102
+ else:
103
+ match_value_2: FSharpResult_2[MaterialAttributeValue, tuple[str, ErrorReason_1[__A_]]] = ROCrate_decoder_2.Decode(s, json)
104
+ return FSharpResult_2(1, match_value_2.fields[0]) if (match_value_2.tag == 1) else FSharpResult_2(0, (match_value_2.fields[0], None))
105
+
106
+
107
+
108
+ ROCrate_additionalPropertyDecoder: Decoder_1[tuple[MaterialAttributeValue | None, FactorValue | None]] = ObjectExpr2626()
109
+
110
+ def _arrow2630(get: IGetters) -> Sample:
111
+ match_value: str | None
112
+ object_arg: IOptionalGetter = get.Optional
113
+ match_value = object_arg.Field("additionalType", Decode_uri)
114
+ (pattern_matching_result,) = (None,)
115
+ if match_value is None:
116
+ pattern_matching_result = 0
117
+
118
+ elif match_value == "Sample":
119
+ pattern_matching_result = 0
120
+
121
+ else:
122
+ pattern_matching_result = 1
123
+
124
+ if pattern_matching_result == 1:
125
+ object_arg_1: IRequiredGetter = get.Required
126
+ object_arg_1.Field("FailBecauseNotSample", unit)
127
+
128
+ match_value_1: FSharpList[str] | None
129
+ arg_5: Decoder_1[FSharpList[str]] = list_1_3(string)
130
+ object_arg_2: IOptionalGetter = get.Optional
131
+ match_value_1 = object_arg_2.Field("@type", arg_5)
132
+ (pattern_matching_result_1,) = (None,)
133
+ if match_value_1 is None:
134
+ pattern_matching_result_1 = 0
135
+
136
+ elif not is_empty(match_value_1):
137
+ if head(match_value_1) == "Sample":
138
+ if is_empty(tail(match_value_1)):
139
+ pattern_matching_result_1 = 0
140
+
141
+ else:
142
+ pattern_matching_result_1 = 1
143
+
144
+
145
+ else:
146
+ pattern_matching_result_1 = 1
147
+
148
+
149
+ else:
150
+ pattern_matching_result_1 = 1
151
+
152
+ if pattern_matching_result_1 == 1:
153
+ object_arg_3: IRequiredGetter = get.Required
154
+ object_arg_3.Field("FailBecauseNotSample", unit)
155
+
156
+ additional_properties: FSharpList[tuple[MaterialAttributeValue | None, FactorValue | None]] | None
157
+ arg_9: Decoder_1[FSharpList[tuple[MaterialAttributeValue | None, FactorValue | None]]] = list_1_3(ROCrate_additionalPropertyDecoder)
158
+ object_arg_4: IOptionalGetter = get.Optional
159
+ additional_properties = object_arg_4.Field("additionalProperties", arg_9)
160
+ pattern_input: tuple[FSharpList[MaterialAttributeValue] | None, FSharpList[FactorValue] | None]
161
+ if additional_properties is not None:
162
+ additional_properties_1: FSharpList[tuple[MaterialAttributeValue | None, FactorValue | None]] = additional_properties
163
+ def chooser(tuple: tuple[MaterialAttributeValue | None, FactorValue | None]) -> MaterialAttributeValue | None:
164
+ return tuple[0]
165
+
166
+ def chooser_1(tuple_1: tuple[MaterialAttributeValue | None, FactorValue | None]) -> FactorValue | None:
167
+ return tuple_1[1]
168
+
169
+ pattern_input = (Option_fromValueWithDefault(empty(), choose(chooser, additional_properties_1)), Option_fromValueWithDefault(empty(), choose(chooser_1, additional_properties_1)))
170
+
171
+ else:
172
+ pattern_input = (None, None)
173
+
174
+ def _arrow2627(__unit: None=None) -> str | None:
175
+ object_arg_5: IOptionalGetter = get.Optional
176
+ return object_arg_5.Field("@id", Decode_uri)
177
+
178
+ def _arrow2628(__unit: None=None) -> str | None:
179
+ object_arg_6: IOptionalGetter = get.Optional
180
+ return object_arg_6.Field("name", string)
181
+
182
+ def _arrow2629(__unit: None=None) -> FSharpList[Source] | None:
183
+ arg_15: Decoder_1[FSharpList[Source]] = list_1_3(ROCrate_decoder_3)
184
+ object_arg_7: IOptionalGetter = get.Optional
185
+ return object_arg_7.Field("derivesFrom", arg_15)
186
+
187
+ return Sample(_arrow2627(), _arrow2628(), pattern_input[0], pattern_input[1], _arrow2629())
188
+
189
+
190
+ ROCrate_decoder: Decoder_1[Sample] = object(_arrow2630)
191
+
192
+ def ISAJson_encoder(id_map: Any | None, oa: Sample) -> IEncodable:
193
+ def f(oa_1: Sample, id_map: Any=id_map, oa: Any=oa) -> IEncodable:
194
+ def chooser(tupled_arg: tuple[str, IEncodable | None], oa_1: Any=oa_1) -> tuple[str, IEncodable] | None:
195
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
196
+ return (tupled_arg[0], v_1)
197
+
198
+ return map_1(mapping, tupled_arg[1])
199
+
200
+ def _arrow2636(value: str, oa_1: Any=oa_1) -> IEncodable:
201
+ class ObjectExpr2635(IEncodable):
202
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
203
+ return helpers.encode_string(value)
204
+
205
+ return ObjectExpr2635()
206
+
207
+ def _arrow2641(value_2: str, oa_1: Any=oa_1) -> IEncodable:
208
+ class ObjectExpr2640(IEncodable):
209
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
210
+ return helpers_1.encode_string(value_2)
211
+
212
+ return ObjectExpr2640()
213
+
214
+ def _arrow2642(oa_2: MaterialAttributeValue, oa_1: Any=oa_1) -> IEncodable:
215
+ return ISAJson_encoder_1(id_map, oa_2)
216
+
217
+ def _arrow2643(fv: FactorValue, oa_1: Any=oa_1) -> IEncodable:
218
+ return ISAJson_encoder_2(id_map, fv)
219
+
220
+ def _arrow2644(oa_3: Source, oa_1: Any=oa_1) -> IEncodable:
221
+ return ISAJson_encoder_3(id_map, oa_3)
222
+
223
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("@id", _arrow2636, ROCrate_genID(oa_1)), try_include("name", _arrow2641, oa_1.Name), try_include_list_opt("characteristics", _arrow2642, oa_1.Characteristics), try_include_list_opt("factorValues", _arrow2643, oa_1.FactorValues), try_include_list_opt("derivesFrom", _arrow2644, oa_1.DerivesFrom)]))
224
+ class ObjectExpr2649(IEncodable):
225
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any], oa_1: Any=oa_1) -> Any:
226
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
227
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_2))
228
+
229
+ arg: IEnumerable_1[tuple[str, __A_]] = map_2(mapping_1, values)
230
+ return helpers_2.encode_object(arg)
231
+
232
+ return ObjectExpr2649()
233
+
234
+ if id_map is not None:
235
+ def _arrow2651(s_1: Sample, id_map: Any=id_map, oa: Any=oa) -> str:
236
+ return ROCrate_genID(s_1)
237
+
238
+ return encode(_arrow2651, f, oa, id_map)
239
+
240
+ else:
241
+ return f(oa)
242
+
243
+
244
+
245
+ ISAJson_allowedFields: FSharpList[str] = of_array(["@id", "name", "characteristics", "factorValues", "derivesFrom", "@type", "@context"])
246
+
247
+ def _arrow2657(get: IGetters) -> Sample:
248
+ def _arrow2652(__unit: None=None) -> str | None:
249
+ object_arg: IOptionalGetter = get.Optional
250
+ return object_arg.Field("@id", Decode_uri)
251
+
252
+ def _arrow2653(__unit: None=None) -> str | None:
253
+ object_arg_1: IOptionalGetter = get.Optional
254
+ return object_arg_1.Field("name", string)
255
+
256
+ def _arrow2654(__unit: None=None) -> FSharpList[MaterialAttributeValue] | None:
257
+ arg_5: Decoder_1[FSharpList[MaterialAttributeValue]] = list_1_3(ISAJson_decoder_1)
258
+ object_arg_2: IOptionalGetter = get.Optional
259
+ return object_arg_2.Field("characteristics", arg_5)
260
+
261
+ def _arrow2655(__unit: None=None) -> FSharpList[FactorValue] | None:
262
+ arg_7: Decoder_1[FSharpList[FactorValue]] = list_1_3(ISAJson_decoder_2)
263
+ object_arg_3: IOptionalGetter = get.Optional
264
+ return object_arg_3.Field("factorValues", arg_7)
265
+
266
+ def _arrow2656(__unit: None=None) -> FSharpList[Source] | None:
267
+ arg_9: Decoder_1[FSharpList[Source]] = list_1_3(ISAJson_decoder_3)
268
+ object_arg_4: IOptionalGetter = get.Optional
269
+ return object_arg_4.Field("derivesFrom", arg_9)
270
+
271
+ return Sample(_arrow2652(), _arrow2653(), _arrow2654(), _arrow2655(), _arrow2656())
272
+
273
+
274
+ ISAJson_decoder: Decoder_1[Sample] = Decode_objectNoAdditionalProperties(ISAJson_allowedFields, _arrow2657)
275
+
276
+ __all__ = ["ROCrate_genID", "ROCrate_encoder", "ROCrate_additionalPropertyDecoder", "ROCrate_decoder", "ISAJson_encoder", "ISAJson_allowedFields", "ISAJson_decoder"]
277
+
@@ -0,0 +1,214 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import (Any, TypeVar)
4
+ from ...fable_modules.fable_library.list import (choose, singleton, of_array, FSharpList, is_empty, head, tail)
5
+ from ...fable_modules.fable_library.option import map
6
+ from ...fable_modules.fable_library.seq import map as map_1
7
+ from ...fable_modules.fable_library.string_ import replace
8
+ from ...fable_modules.fable_library.util import IEnumerable_1
9
+ from ...fable_modules.thoth_json_core.decode import (object, IOptionalGetter, IRequiredGetter, unit, list_1 as list_1_2, string, IGetters)
10
+ from ...fable_modules.thoth_json_core.encode import list_1 as list_1_1
11
+ from ...fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1)
12
+ from ...Core.Process.material_attribute_value import MaterialAttributeValue
13
+ from ...Core.Process.source import Source
14
+ from ...Core.uri import URIModule_toString
15
+ from ..context.rocrate.isa_source_context import context_jsonvalue
16
+ from ..decode import (Decode_uri, Decode_objectNoAdditionalProperties)
17
+ from ..encode import (try_include, try_include_list_opt)
18
+ from ..idtable import encode
19
+ from .material_attribute_value import (ROCrate_encoder as ROCrate_encoder_1, ROCrate_decoder as ROCrate_decoder_1, ISAJson_encoder as ISAJson_encoder_1, ISAJson_decoder as ISAJson_decoder_1)
20
+
21
+ __A_ = TypeVar("__A_")
22
+
23
+ def ROCrate_genID(s: Source) -> str:
24
+ match_value: str | None = s.ID
25
+ if match_value is None:
26
+ match_value_1: str | None = s.Name
27
+ if match_value_1 is None:
28
+ return "#EmptySource"
29
+
30
+ else:
31
+ return "#Source_" + replace(match_value_1, " ", "_")
32
+
33
+
34
+ else:
35
+ return URIModule_toString(match_value)
36
+
37
+
38
+
39
+ def ROCrate_encoder(oa: Source) -> IEncodable:
40
+ def chooser(tupled_arg: tuple[str, IEncodable | None], oa: Any=oa) -> tuple[str, IEncodable] | None:
41
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
42
+ return (tupled_arg[0], v_1)
43
+
44
+ return map(mapping, tupled_arg[1])
45
+
46
+ def _arrow2582(__unit: None=None, oa: Any=oa) -> IEncodable:
47
+ value: str = ROCrate_genID(oa)
48
+ class ObjectExpr2581(IEncodable):
49
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
50
+ return helpers.encode_string(value)
51
+
52
+ return ObjectExpr2581()
53
+
54
+ class ObjectExpr2583(IEncodable):
55
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
56
+ return helpers_1.encode_string("Source")
57
+
58
+ class ObjectExpr2584(IEncodable):
59
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
60
+ return helpers_2.encode_string("Source")
61
+
62
+ def _arrow2586(value_3: str, oa: Any=oa) -> IEncodable:
63
+ class ObjectExpr2585(IEncodable):
64
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
65
+ return helpers_3.encode_string(value_3)
66
+
67
+ return ObjectExpr2585()
68
+
69
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("@id", _arrow2582()), ("@type", list_1_1(singleton(ObjectExpr2583()))), ("additionalType", ObjectExpr2584()), try_include("name", _arrow2586, oa.Name), try_include_list_opt("characteristics", ROCrate_encoder_1, oa.Characteristics), ("@context", context_jsonvalue)]))
70
+ class ObjectExpr2587(IEncodable):
71
+ def Encode(self, helpers_4: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
72
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
73
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_4))
74
+
75
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
76
+ return helpers_4.encode_object(arg)
77
+
78
+ return ObjectExpr2587()
79
+
80
+
81
+ def _arrow2591(get: IGetters) -> Source:
82
+ match_value: str | None
83
+ object_arg: IOptionalGetter = get.Optional
84
+ match_value = object_arg.Field("additionalType", Decode_uri)
85
+ (pattern_matching_result,) = (None,)
86
+ if match_value is None:
87
+ pattern_matching_result = 0
88
+
89
+ elif match_value == "Source":
90
+ pattern_matching_result = 0
91
+
92
+ else:
93
+ pattern_matching_result = 1
94
+
95
+ if pattern_matching_result == 1:
96
+ object_arg_1: IRequiredGetter = get.Required
97
+ object_arg_1.Field("FailBecauseNotSample", unit)
98
+
99
+ match_value_1: FSharpList[str] | None
100
+ arg_5: Decoder_1[FSharpList[str]] = list_1_2(string)
101
+ object_arg_2: IOptionalGetter = get.Optional
102
+ match_value_1 = object_arg_2.Field("@type", arg_5)
103
+ (pattern_matching_result_1,) = (None,)
104
+ if match_value_1 is None:
105
+ pattern_matching_result_1 = 0
106
+
107
+ elif not is_empty(match_value_1):
108
+ if head(match_value_1) == "Source":
109
+ if is_empty(tail(match_value_1)):
110
+ pattern_matching_result_1 = 0
111
+
112
+ else:
113
+ pattern_matching_result_1 = 1
114
+
115
+
116
+ else:
117
+ pattern_matching_result_1 = 1
118
+
119
+
120
+ else:
121
+ pattern_matching_result_1 = 1
122
+
123
+ if pattern_matching_result_1 == 1:
124
+ object_arg_3: IRequiredGetter = get.Required
125
+ object_arg_3.Field("FailBecauseNotSample", unit)
126
+
127
+ def _arrow2588(__unit: None=None) -> str | None:
128
+ object_arg_4: IOptionalGetter = get.Optional
129
+ return object_arg_4.Field("@id", Decode_uri)
130
+
131
+ def _arrow2589(__unit: None=None) -> str | None:
132
+ object_arg_5: IOptionalGetter = get.Optional
133
+ return object_arg_5.Field("name", string)
134
+
135
+ def _arrow2590(__unit: None=None) -> FSharpList[MaterialAttributeValue] | None:
136
+ arg_13: Decoder_1[FSharpList[MaterialAttributeValue]] = list_1_2(ROCrate_decoder_1)
137
+ object_arg_6: IOptionalGetter = get.Optional
138
+ return object_arg_6.Field("characteristics", arg_13)
139
+
140
+ return Source(_arrow2588(), _arrow2589(), _arrow2590())
141
+
142
+
143
+ ROCrate_decoder: Decoder_1[Source] = object(_arrow2591)
144
+
145
+ def ISAJson_encoder(id_map: Any | None, oa: Source) -> IEncodable:
146
+ def f(oa_1: Source, id_map: Any=id_map, oa: Any=oa) -> IEncodable:
147
+ def chooser(tupled_arg: tuple[str, IEncodable | None], oa_1: Any=oa_1) -> tuple[str, IEncodable] | None:
148
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
149
+ return (tupled_arg[0], v_1)
150
+
151
+ return map(mapping, tupled_arg[1])
152
+
153
+ def _arrow2595(value: str, oa_1: Any=oa_1) -> IEncodable:
154
+ class ObjectExpr2594(IEncodable):
155
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
156
+ return helpers.encode_string(value)
157
+
158
+ return ObjectExpr2594()
159
+
160
+ def _arrow2597(value_2: str, oa_1: Any=oa_1) -> IEncodable:
161
+ class ObjectExpr2596(IEncodable):
162
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
163
+ return helpers_1.encode_string(value_2)
164
+
165
+ return ObjectExpr2596()
166
+
167
+ def _arrow2598(oa_2: MaterialAttributeValue, oa_1: Any=oa_1) -> IEncodable:
168
+ return ISAJson_encoder_1(id_map, oa_2)
169
+
170
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("@id", _arrow2595, ROCrate_genID(oa_1)), try_include("name", _arrow2597, oa_1.Name), try_include_list_opt("characteristics", _arrow2598, oa_1.Characteristics)]))
171
+ class ObjectExpr2599(IEncodable):
172
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any], oa_1: Any=oa_1) -> Any:
173
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
174
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_2))
175
+
176
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
177
+ return helpers_2.encode_object(arg)
178
+
179
+ return ObjectExpr2599()
180
+
181
+ if id_map is not None:
182
+ def _arrow2600(s_1: Source, id_map: Any=id_map, oa: Any=oa) -> str:
183
+ return ROCrate_genID(s_1)
184
+
185
+ return encode(_arrow2600, f, oa, id_map)
186
+
187
+ else:
188
+ return f(oa)
189
+
190
+
191
+
192
+ ISAJson_allowedFields: FSharpList[str] = of_array(["@id", "name", "characteristics", "@type", "@context"])
193
+
194
+ def _arrow2604(get: IGetters) -> Source:
195
+ def _arrow2601(__unit: None=None) -> str | None:
196
+ object_arg: IOptionalGetter = get.Optional
197
+ return object_arg.Field("@id", Decode_uri)
198
+
199
+ def _arrow2602(__unit: None=None) -> str | None:
200
+ object_arg_1: IOptionalGetter = get.Optional
201
+ return object_arg_1.Field("name", string)
202
+
203
+ def _arrow2603(__unit: None=None) -> FSharpList[MaterialAttributeValue] | None:
204
+ arg_5: Decoder_1[FSharpList[MaterialAttributeValue]] = list_1_2(ISAJson_decoder_1)
205
+ object_arg_2: IOptionalGetter = get.Optional
206
+ return object_arg_2.Field("characteristics", arg_5)
207
+
208
+ return Source(_arrow2601(), _arrow2602(), _arrow2603())
209
+
210
+
211
+ ISAJson_decoder: Decoder_1[Source] = Decode_objectNoAdditionalProperties(ISAJson_allowedFields, _arrow2604)
212
+
213
+ __all__ = ["ROCrate_genID", "ROCrate_encoder", "ROCrate_decoder", "ISAJson_encoder", "ISAJson_allowedFields", "ISAJson_decoder"]
214
+
@@ -0,0 +1,52 @@
1
+ from __future__ import annotations
2
+ from typing import (Any, TypeVar)
3
+ from ...fable_modules.fable_library.list import (FSharpList, choose, of_array)
4
+ from ...fable_modules.fable_library.option import map
5
+ from ...fable_modules.fable_library.seq import map as map_1
6
+ from ...fable_modules.fable_library.util import IEnumerable_1
7
+ from ...fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1)
8
+ from ...Core.Process.material import Material
9
+ from ...Core.Process.process import Process
10
+ from ...Core.Process.process_sequence import (get_sources, get_samples, get_materials)
11
+ from ...Core.Process.sample import Sample
12
+ from ...Core.Process.source import Source
13
+ from ..encode import try_include_list
14
+ from .material import ISAJson_encoder as ISAJson_encoder_2
15
+ from .sample import ISAJson_encoder as ISAJson_encoder_1
16
+ from .source import ISAJson_encoder
17
+
18
+ __A_ = TypeVar("__A_")
19
+
20
+ def encoder(id_map: Any | None, ps: FSharpList[Process]) -> IEncodable:
21
+ source: FSharpList[Source] = get_sources(ps)
22
+ samples: FSharpList[Sample] = get_samples(ps)
23
+ materials: FSharpList[Material] = get_materials(ps)
24
+ def chooser(tupled_arg: tuple[str, IEncodable | None], id_map: Any=id_map, ps: Any=ps) -> tuple[str, IEncodable] | None:
25
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
26
+ return (tupled_arg[0], v_1)
27
+
28
+ return map(mapping, tupled_arg[1])
29
+
30
+ def _arrow2671(oa: Source, id_map: Any=id_map, ps: Any=ps) -> IEncodable:
31
+ return ISAJson_encoder(id_map, oa)
32
+
33
+ def _arrow2672(oa_1: Sample, id_map: Any=id_map, ps: Any=ps) -> IEncodable:
34
+ return ISAJson_encoder_1(id_map, oa_1)
35
+
36
+ def _arrow2673(c: Material, id_map: Any=id_map, ps: Any=ps) -> IEncodable:
37
+ return ISAJson_encoder_2(id_map, c)
38
+
39
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include_list("sources", _arrow2671, source), try_include_list("samples", _arrow2672, samples), try_include_list("otherMaterials", _arrow2673, materials)]))
40
+ class ObjectExpr2674(IEncodable):
41
+ def Encode(self, helpers: IEncoderHelpers_1[Any], id_map: Any=id_map, ps: Any=ps) -> Any:
42
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
43
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers))
44
+
45
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
46
+ return helpers.encode_object(arg)
47
+
48
+ return ObjectExpr2674()
49
+
50
+
51
+ __all__ = ["encoder"]
52
+
@@ -0,0 +1,56 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from ...fable_modules.fable_library.list import of_array
4
+ from ...fable_modules.thoth_json_core.decode import (one_of, map, int_1, float_1, string)
5
+ from ...fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1)
6
+ from ...Core.ontology_annotation import OntologyAnnotation
7
+ from ...Core.value import Value
8
+ from ..ontology_annotation import (OntologyAnnotation_ISAJson_encoder, OntologyAnnotation_ISAJson_decoder)
9
+
10
+ def encoder(id_map: Any | None, value: Value) -> IEncodable:
11
+ if value.tag == 1:
12
+ class ObjectExpr2232(IEncodable):
13
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], id_map: Any=id_map, value: Any=value) -> Any:
14
+ return helpers_1.encode_signed_integral_number(value.fields[0])
15
+
16
+ return ObjectExpr2232()
17
+
18
+ elif value.tag == 3:
19
+ class ObjectExpr2233(IEncodable):
20
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any], id_map: Any=id_map, value: Any=value) -> Any:
21
+ return helpers_2.encode_string(value.fields[0])
22
+
23
+ return ObjectExpr2233()
24
+
25
+ elif value.tag == 0:
26
+ return OntologyAnnotation_ISAJson_encoder(id_map, value.fields[0])
27
+
28
+ else:
29
+ class ObjectExpr2234(IEncodable):
30
+ def Encode(self, helpers: IEncoderHelpers_1[Any], id_map: Any=id_map, value: Any=value) -> Any:
31
+ return helpers.encode_decimal_number(value.fields[0])
32
+
33
+ return ObjectExpr2234()
34
+
35
+
36
+
37
+ def _arrow2236(Item: int) -> Value:
38
+ return Value(1, Item)
39
+
40
+
41
+ def _arrow2237(Item_1: float) -> Value:
42
+ return Value(2, Item_1)
43
+
44
+
45
+ def _arrow2238(Item_2: OntologyAnnotation) -> Value:
46
+ return Value(0, Item_2)
47
+
48
+
49
+ def _arrow2239(Item_3: str) -> Value:
50
+ return Value(3, Item_3)
51
+
52
+
53
+ decoder: Decoder_1[Value] = one_of(of_array([map(_arrow2236, int_1), map(_arrow2237, float_1), map(_arrow2238, OntologyAnnotation_ISAJson_decoder), map(_arrow2239, string)]))
54
+
55
+ __all__ = ["encoder", "decoder"]
56
+
File without changes