arctrl 3.0.0__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 (511) hide show
  1. arctrl/__init__.py +23 -0
  2. arctrl/cwl.py +12 -0
  3. arctrl/py/CWL/__init__.py +0 -0
  4. arctrl/py/CWL/cwlprocessing_unit.py +221 -0
  5. arctrl/py/CWL/cwltypes.py +364 -0
  6. arctrl/py/CWL/decode.py +3532 -0
  7. arctrl/py/CWL/encode.py +1905 -0
  8. arctrl/py/CWL/expression_tool_description.py +192 -0
  9. arctrl/py/CWL/hash_helpers.py +60 -0
  10. arctrl/py/CWL/inputs.py +122 -0
  11. arctrl/py/CWL/operation_description.py +169 -0
  12. arctrl/py/CWL/outputs.py +171 -0
  13. arctrl/py/CWL/parameter_reference.py +74 -0
  14. arctrl/py/CWL/requirements.py +350 -0
  15. arctrl/py/CWL/tool_description.py +192 -0
  16. arctrl/py/CWL/workflow_description.py +181 -0
  17. arctrl/py/CWL/workflow_steps.py +354 -0
  18. arctrl/py/Contract/__init__.py +0 -0
  19. arctrl/py/Contract/arc.py +89 -0
  20. arctrl/py/Contract/arc_assay.py +125 -0
  21. arctrl/py/Contract/arc_investigation.py +88 -0
  22. arctrl/py/Contract/arc_run.py +291 -0
  23. arctrl/py/Contract/arc_study.py +126 -0
  24. arctrl/py/Contract/arc_workflow.py +213 -0
  25. arctrl/py/Contract/contract.py +153 -0
  26. arctrl/py/Contract/datamap.py +396 -0
  27. arctrl/py/Contract/git.py +116 -0
  28. arctrl/py/Contract/license.py +58 -0
  29. arctrl/py/Contract/validation_packages_config.py +107 -0
  30. arctrl/py/ContractIO/__init__.py +0 -0
  31. arctrl/py/ContractIO/contract_io.py +350 -0
  32. arctrl/py/ContractIO/file_system_helper.py +264 -0
  33. arctrl/py/Conversion/__init__.py +0 -0
  34. arctrl/py/Conversion/assay.py +151 -0
  35. arctrl/py/Conversion/basic.py +559 -0
  36. arctrl/py/Conversion/column_index.py +91 -0
  37. arctrl/py/Conversion/datamap.py +36 -0
  38. arctrl/py/Conversion/date_time.py +32 -0
  39. arctrl/py/Conversion/investigation.py +171 -0
  40. arctrl/py/Conversion/person.py +148 -0
  41. arctrl/py/Conversion/process.py +828 -0
  42. arctrl/py/Conversion/run.py +367 -0
  43. arctrl/py/Conversion/scholarly_article.py +163 -0
  44. arctrl/py/Conversion/study.py +99 -0
  45. arctrl/py/Conversion/table.py +229 -0
  46. arctrl/py/Conversion/workflow.py +680 -0
  47. arctrl/py/Core/Helper/__init__.py +0 -0
  48. arctrl/py/Core/Helper/collections_.py +512 -0
  49. arctrl/py/Core/Helper/date_time.py +26 -0
  50. arctrl/py/Core/Helper/hash_codes.py +60 -0
  51. arctrl/py/Core/Helper/identifier.py +290 -0
  52. arctrl/py/Core/Helper/orcid.py +42 -0
  53. arctrl/py/Core/Helper/printer.py +13 -0
  54. arctrl/py/Core/Helper/regex.py +554 -0
  55. arctrl/py/Core/Helper/sem_ver.py +71 -0
  56. arctrl/py/Core/Helper/url.py +148 -0
  57. arctrl/py/Core/Process/__init__.py +0 -0
  58. arctrl/py/Core/Process/column_index.py +280 -0
  59. arctrl/py/Core/Process/component.py +200 -0
  60. arctrl/py/Core/Process/factor.py +151 -0
  61. arctrl/py/Core/Process/factor_value.py +182 -0
  62. arctrl/py/Core/Process/material.py +74 -0
  63. arctrl/py/Core/Process/material_attribute.py +95 -0
  64. arctrl/py/Core/Process/material_attribute_value.py +184 -0
  65. arctrl/py/Core/Process/material_type.py +45 -0
  66. arctrl/py/Core/Process/process.py +477 -0
  67. arctrl/py/Core/Process/process_input.py +265 -0
  68. arctrl/py/Core/Process/process_output.py +235 -0
  69. arctrl/py/Core/Process/process_parameter_value.py +200 -0
  70. arctrl/py/Core/Process/process_sequence.py +435 -0
  71. arctrl/py/Core/Process/protocol.py +175 -0
  72. arctrl/py/Core/Process/protocol_parameter.py +98 -0
  73. arctrl/py/Core/Process/sample.py +82 -0
  74. arctrl/py/Core/Process/source.py +62 -0
  75. arctrl/py/Core/Table/__init__.py +0 -0
  76. arctrl/py/Core/Table/arc_table.py +1206 -0
  77. arctrl/py/Core/Table/arc_table_aux.py +1308 -0
  78. arctrl/py/Core/Table/arc_tables.py +574 -0
  79. arctrl/py/Core/Table/composite_cell.py +319 -0
  80. arctrl/py/Core/Table/composite_column.py +73 -0
  81. arctrl/py/Core/Table/composite_header.py +739 -0
  82. arctrl/py/Core/__init__.py +0 -0
  83. arctrl/py/Core/arc_types.py +5312 -0
  84. arctrl/py/Core/comment.py +128 -0
  85. arctrl/py/Core/comment_list.py +127 -0
  86. arctrl/py/Core/conversion.py +1375 -0
  87. arctrl/py/Core/data.py +247 -0
  88. arctrl/py/Core/data_context.py +157 -0
  89. arctrl/py/Core/data_file.py +112 -0
  90. arctrl/py/Core/datamap.py +217 -0
  91. arctrl/py/Core/identifier_setters.py +43 -0
  92. arctrl/py/Core/iproperty_value.py +36 -0
  93. arctrl/py/Core/ontology_annotation.py +298 -0
  94. arctrl/py/Core/ontology_source_reference.py +114 -0
  95. arctrl/py/Core/person.py +259 -0
  96. arctrl/py/Core/publication.py +161 -0
  97. arctrl/py/Core/template.py +231 -0
  98. arctrl/py/Core/templates.py +148 -0
  99. arctrl/py/Core/uri.py +11 -0
  100. arctrl/py/Core/value.py +188 -0
  101. arctrl/py/FileSystem/__init__.py +0 -0
  102. arctrl/py/FileSystem/commit.py +21 -0
  103. arctrl/py/FileSystem/default_gitattributes.py +1 -0
  104. arctrl/py/FileSystem/default_gitignore.py +1 -0
  105. arctrl/py/FileSystem/default_license.py +1 -0
  106. arctrl/py/FileSystem/file_system.py +58 -0
  107. arctrl/py/FileSystem/file_system_tree.py +483 -0
  108. arctrl/py/FileSystem/path.py +266 -0
  109. arctrl/py/Json/Datamap/__init__.py +0 -0
  110. arctrl/py/Json/Datamap/data_context.py +101 -0
  111. arctrl/py/Json/Datamap/datamap.py +53 -0
  112. arctrl/py/Json/Process/__init__.py +0 -0
  113. arctrl/py/Json/Process/assay_materials.py +46 -0
  114. arctrl/py/Json/Process/component.py +125 -0
  115. arctrl/py/Json/Process/factor.py +107 -0
  116. arctrl/py/Json/Process/factor_value.py +101 -0
  117. arctrl/py/Json/Process/material.py +226 -0
  118. arctrl/py/Json/Process/material_attribute.py +79 -0
  119. arctrl/py/Json/Process/material_attribute_value.py +101 -0
  120. arctrl/py/Json/Process/material_type.py +53 -0
  121. arctrl/py/Json/Process/process.py +296 -0
  122. arctrl/py/Json/Process/process_input.py +83 -0
  123. arctrl/py/Json/Process/process_output.py +67 -0
  124. arctrl/py/Json/Process/process_parameter_value.py +81 -0
  125. arctrl/py/Json/Process/protocol.py +354 -0
  126. arctrl/py/Json/Process/protocol_parameter.py +91 -0
  127. arctrl/py/Json/Process/sample.py +277 -0
  128. arctrl/py/Json/Process/source.py +214 -0
  129. arctrl/py/Json/Process/study_materials.py +52 -0
  130. arctrl/py/Json/Process/value.py +56 -0
  131. arctrl/py/Json/ROCrate/__init__.py +0 -0
  132. arctrl/py/Json/ROCrate/ldcontext.py +143 -0
  133. arctrl/py/Json/ROCrate/ldgraph.py +117 -0
  134. arctrl/py/Json/ROCrate/ldnode.py +304 -0
  135. arctrl/py/Json/ROCrate/ldref.py +44 -0
  136. arctrl/py/Json/ROCrate/ldvalue.py +102 -0
  137. arctrl/py/Json/Table/__init__.py +0 -0
  138. arctrl/py/Json/Table/arc_table.py +375 -0
  139. arctrl/py/Json/Table/cell_table.py +83 -0
  140. arctrl/py/Json/Table/composite_cell.py +136 -0
  141. arctrl/py/Json/Table/composite_header.py +67 -0
  142. arctrl/py/Json/Table/iotype.py +24 -0
  143. arctrl/py/Json/Table/oatable.py +82 -0
  144. arctrl/py/Json/Table/templates.py +281 -0
  145. arctrl/py/Json/__init__.py +0 -0
  146. arctrl/py/Json/assay.py +600 -0
  147. arctrl/py/Json/comment.py +206 -0
  148. arctrl/py/Json/context/rocrate/__init__.py +0 -0
  149. arctrl/py/Json/context/rocrate/isa_assay_context.py +101 -0
  150. arctrl/py/Json/context/rocrate/isa_comment_context.py +60 -0
  151. arctrl/py/Json/context/rocrate/isa_component_context.py +77 -0
  152. arctrl/py/Json/context/rocrate/isa_data_context.py +74 -0
  153. arctrl/py/Json/context/rocrate/isa_factor_context.py +74 -0
  154. arctrl/py/Json/context/rocrate/isa_factor_value_context.py +84 -0
  155. arctrl/py/Json/context/rocrate/isa_investigation_context.py +110 -0
  156. arctrl/py/Json/context/rocrate/isa_material_attribute_context.py +64 -0
  157. arctrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +80 -0
  158. arctrl/py/Json/context/rocrate/isa_material_context.py +71 -0
  159. arctrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +68 -0
  160. arctrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +75 -0
  161. arctrl/py/Json/context/rocrate/isa_organization_context.py +55 -0
  162. arctrl/py/Json/context/rocrate/isa_person_context.py +131 -0
  163. arctrl/py/Json/context/rocrate/isa_process_context.py +94 -0
  164. arctrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +80 -0
  165. arctrl/py/Json/context/rocrate/isa_protocol_context.py +97 -0
  166. arctrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +64 -0
  167. arctrl/py/Json/context/rocrate/isa_publication_context.py +78 -0
  168. arctrl/py/Json/context/rocrate/isa_sample_context.py +65 -0
  169. arctrl/py/Json/context/rocrate/isa_source_context.py +66 -0
  170. arctrl/py/Json/context/rocrate/isa_study_context.py +125 -0
  171. arctrl/py/Json/context/rocrate/property_value_context.py +73 -0
  172. arctrl/py/Json/context/rocrate/rocrate_context.py +81 -0
  173. arctrl/py/Json/converter_options.py +23 -0
  174. arctrl/py/Json/data.py +356 -0
  175. arctrl/py/Json/data_file.py +63 -0
  176. arctrl/py/Json/decode.py +271 -0
  177. arctrl/py/Json/encode.py +140 -0
  178. arctrl/py/Json/idtable.py +44 -0
  179. arctrl/py/Json/investigation.py +695 -0
  180. arctrl/py/Json/ontology_annotation.py +404 -0
  181. arctrl/py/Json/ontology_source_reference.py +255 -0
  182. arctrl/py/Json/person.py +658 -0
  183. arctrl/py/Json/property_value.py +359 -0
  184. arctrl/py/Json/publication.py +279 -0
  185. arctrl/py/Json/run.py +275 -0
  186. arctrl/py/Json/string_table.py +87 -0
  187. arctrl/py/Json/study.py +793 -0
  188. arctrl/py/Json/workflow.py +307 -0
  189. arctrl/py/JsonIO/Process/__init__.py +0 -0
  190. arctrl/py/JsonIO/Process/component.py +60 -0
  191. arctrl/py/JsonIO/Process/factor.py +36 -0
  192. arctrl/py/JsonIO/Process/factor_value.py +38 -0
  193. arctrl/py/JsonIO/Process/material.py +60 -0
  194. arctrl/py/JsonIO/Process/material_attribute.py +38 -0
  195. arctrl/py/JsonIO/Process/material_attribute_value.py +60 -0
  196. arctrl/py/JsonIO/Process/material_type.py +36 -0
  197. arctrl/py/JsonIO/Process/process.py +60 -0
  198. arctrl/py/JsonIO/Process/process_input.py +38 -0
  199. arctrl/py/JsonIO/Process/process_output.py +60 -0
  200. arctrl/py/JsonIO/Process/process_parameter_value.py +60 -0
  201. arctrl/py/JsonIO/Process/process_sequence.py +71 -0
  202. arctrl/py/JsonIO/Process/protocol.py +60 -0
  203. arctrl/py/JsonIO/Process/protocol_parameter.py +36 -0
  204. arctrl/py/JsonIO/Process/sample.py +60 -0
  205. arctrl/py/JsonIO/Process/source.py +60 -0
  206. arctrl/py/JsonIO/Process/study_materials.py +52 -0
  207. arctrl/py/JsonIO/Process/value.py +32 -0
  208. arctrl/py/JsonIO/Table/__init__.py +0 -0
  209. arctrl/py/JsonIO/Table/arc_table.py +103 -0
  210. arctrl/py/JsonIO/Table/composite_cell.py +36 -0
  211. arctrl/py/JsonIO/Table/composite_header.py +36 -0
  212. arctrl/py/JsonIO/Table/compression.py +67 -0
  213. arctrl/py/JsonIO/Table/iotype.py +36 -0
  214. arctrl/py/JsonIO/Table/templates.py +113 -0
  215. arctrl/py/JsonIO/__init__.py +0 -0
  216. arctrl/py/JsonIO/assay.py +113 -0
  217. arctrl/py/JsonIO/comment.py +80 -0
  218. arctrl/py/JsonIO/data.py +60 -0
  219. arctrl/py/JsonIO/data_file.py +58 -0
  220. arctrl/py/JsonIO/datamap.py +36 -0
  221. arctrl/py/JsonIO/decode.py +9 -0
  222. arctrl/py/JsonIO/encode.py +1 -0
  223. arctrl/py/JsonIO/investigation.py +91 -0
  224. arctrl/py/JsonIO/ldobject.py +106 -0
  225. arctrl/py/JsonIO/ontology_annotation.py +80 -0
  226. arctrl/py/JsonIO/ontology_source_reference.py +80 -0
  227. arctrl/py/JsonIO/person.py +82 -0
  228. arctrl/py/JsonIO/publication.py +82 -0
  229. arctrl/py/JsonIO/run.py +68 -0
  230. arctrl/py/JsonIO/study.py +114 -0
  231. arctrl/py/JsonIO/workflow.py +68 -0
  232. arctrl/py/ROCrate/ISAProfile/__init__.py +0 -0
  233. arctrl/py/ROCrate/ISAProfile/assay.py +70 -0
  234. arctrl/py/ROCrate/ISAProfile/data.py +65 -0
  235. arctrl/py/ROCrate/ISAProfile/dataset.py +24 -0
  236. arctrl/py/ROCrate/ISAProfile/investigation.py +73 -0
  237. arctrl/py/ROCrate/ISAProfile/lab_process.py +162 -0
  238. arctrl/py/ROCrate/ISAProfile/lab_protocol.py +37 -0
  239. arctrl/py/ROCrate/ISAProfile/person.py +72 -0
  240. arctrl/py/ROCrate/ISAProfile/property_value.py +98 -0
  241. arctrl/py/ROCrate/ISAProfile/sample.py +64 -0
  242. arctrl/py/ROCrate/ISAProfile/scholarly_article.py +98 -0
  243. arctrl/py/ROCrate/ISAProfile/study.py +74 -0
  244. arctrl/py/ROCrate/LDTypes/__init__.py +0 -0
  245. arctrl/py/ROCrate/LDTypes/comment.py +131 -0
  246. arctrl/py/ROCrate/LDTypes/computational_workflow.py +455 -0
  247. arctrl/py/ROCrate/LDTypes/computer_language.py +269 -0
  248. arctrl/py/ROCrate/LDTypes/create_action.py +303 -0
  249. arctrl/py/ROCrate/LDTypes/creative_work.py +566 -0
  250. arctrl/py/ROCrate/LDTypes/dataset.py +943 -0
  251. arctrl/py/ROCrate/LDTypes/defined_term.py +131 -0
  252. arctrl/py/ROCrate/LDTypes/file.py +281 -0
  253. arctrl/py/ROCrate/LDTypes/formal_parameter.py +431 -0
  254. arctrl/py/ROCrate/LDTypes/lab_process.py +352 -0
  255. arctrl/py/ROCrate/LDTypes/lab_protocol.py +395 -0
  256. arctrl/py/ROCrate/LDTypes/organization.py +83 -0
  257. arctrl/py/ROCrate/LDTypes/person.py +484 -0
  258. arctrl/py/ROCrate/LDTypes/postal_address.py +195 -0
  259. arctrl/py/ROCrate/LDTypes/property_value.py +952 -0
  260. arctrl/py/ROCrate/LDTypes/sample.py +202 -0
  261. arctrl/py/ROCrate/LDTypes/scholarly_article.py +229 -0
  262. arctrl/py/ROCrate/LDTypes/software_source_code.py +310 -0
  263. arctrl/py/ROCrate/LDTypes/workflow_invocation.py +48 -0
  264. arctrl/py/ROCrate/LDTypes/workflow_protocol.py +52 -0
  265. arctrl/py/ROCrate/__init__.py +0 -0
  266. arctrl/py/ROCrate/arc_rocrate_metadata.py +39 -0
  267. arctrl/py/ROCrate/dyn_obj_extensions.py +1 -0
  268. arctrl/py/ROCrate/helper.py +8 -0
  269. arctrl/py/ROCrate/ldcontext.py +406 -0
  270. arctrl/py/ROCrate/ldobject.py +1247 -0
  271. arctrl/py/ROCrate/rocrate_context.py +51 -0
  272. arctrl/py/Spreadsheet/AnnotationTable/__init__.py +0 -0
  273. arctrl/py/Spreadsheet/AnnotationTable/arc_table.py +203 -0
  274. arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
  275. arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +305 -0
  276. arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
  277. arctrl/py/Spreadsheet/DatamapTable/__init__.py +0 -0
  278. arctrl/py/Spreadsheet/DatamapTable/datamap_column.py +114 -0
  279. arctrl/py/Spreadsheet/DatamapTable/datamap_header.py +621 -0
  280. arctrl/py/Spreadsheet/DatamapTable/datamap_table.py +118 -0
  281. arctrl/py/Spreadsheet/Metadata/__init__.py +0 -0
  282. arctrl/py/Spreadsheet/Metadata/assays.py +125 -0
  283. arctrl/py/Spreadsheet/Metadata/comment.py +77 -0
  284. arctrl/py/Spreadsheet/Metadata/contacts.py +134 -0
  285. arctrl/py/Spreadsheet/Metadata/conversions.py +190 -0
  286. arctrl/py/Spreadsheet/Metadata/design_descriptors.py +34 -0
  287. arctrl/py/Spreadsheet/Metadata/factors.py +107 -0
  288. arctrl/py/Spreadsheet/Metadata/ontology_annotation.py +88 -0
  289. arctrl/py/Spreadsheet/Metadata/ontology_source_reference.py +96 -0
  290. arctrl/py/Spreadsheet/Metadata/protocols.py +146 -0
  291. arctrl/py/Spreadsheet/Metadata/publication.py +122 -0
  292. arctrl/py/Spreadsheet/Metadata/run.py +122 -0
  293. arctrl/py/Spreadsheet/Metadata/sparse_table.py +499 -0
  294. arctrl/py/Spreadsheet/Metadata/study.py +312 -0
  295. arctrl/py/Spreadsheet/Metadata/workflow.py +159 -0
  296. arctrl/py/Spreadsheet/__init__.py +0 -0
  297. arctrl/py/Spreadsheet/arc_assay.py +233 -0
  298. arctrl/py/Spreadsheet/arc_investigation.py +435 -0
  299. arctrl/py/Spreadsheet/arc_run.py +190 -0
  300. arctrl/py/Spreadsheet/arc_study.py +144 -0
  301. arctrl/py/Spreadsheet/arc_workflow.py +177 -0
  302. arctrl/py/Spreadsheet/assembly_info.py +1 -0
  303. arctrl/py/Spreadsheet/collection_aux.py +167 -0
  304. arctrl/py/Spreadsheet/datamap.py +43 -0
  305. arctrl/py/Spreadsheet/template.py +460 -0
  306. arctrl/py/ValidationPackages/__init__.py +0 -0
  307. arctrl/py/ValidationPackages/validation_package.py +82 -0
  308. arctrl/py/ValidationPackages/validation_packages_config.py +132 -0
  309. arctrl/py/WebRequest/__init__.py +0 -0
  310. arctrl/py/WebRequest/web_request.py +9 -0
  311. arctrl/py/WebRequest/web_request_py.py +135 -0
  312. arctrl/py/WorkflowGraph/__init__.py +0 -0
  313. arctrl/py/WorkflowGraph/adapters.py +141 -0
  314. arctrl/py/WorkflowGraph/build_options.py +45 -0
  315. arctrl/py/WorkflowGraph/builder.py +720 -0
  316. arctrl/py/WorkflowGraph/graph_types.py +260 -0
  317. arctrl/py/WorkflowGraph/query_helpers.py +76 -0
  318. arctrl/py/WorkflowGraph/reference_parsing.py +59 -0
  319. arctrl/py/WorkflowGraph/visualization_siren.py +574 -0
  320. arctrl/py/WorkflowGraph/workflow_graph.py +119 -0
  321. arctrl/py/Yaml/__init__.py +0 -0
  322. arctrl/py/Yaml/decode.py +1 -0
  323. arctrl/py/Yaml/encode.py +10 -0
  324. arctrl/py/Yaml/validation_package.py +77 -0
  325. arctrl/py/Yaml/validation_packages_config.py +86 -0
  326. arctrl/py/__init__.py +0 -0
  327. arctrl/py/arc.py +1891 -0
  328. arctrl/py/column_index.py +280 -0
  329. arctrl/py/conversion.py +142 -0
  330. arctrl/py/cross_async.py +76 -0
  331. arctrl/py/cwlrun_resolver.py +228 -0
  332. arctrl/py/fable_modules/dynamic_obj/__init__.py +0 -0
  333. arctrl/py/fable_modules/dynamic_obj/dyn_obj.py +136 -0
  334. arctrl/py/fable_modules/dynamic_obj/dynamic_obj.py +415 -0
  335. arctrl/py/fable_modules/dynamic_obj/fable_js.py +1 -0
  336. arctrl/py/fable_modules/dynamic_obj/fable_py.py +288 -0
  337. arctrl/py/fable_modules/dynamic_obj/hash_codes.py +82 -0
  338. arctrl/py/fable_modules/dynamic_obj/property_helper.py +25 -0
  339. arctrl/py/fable_modules/dynamic_obj/reflection_utils.py +87 -0
  340. arctrl/py/fable_modules/fable_library/__init__.py +0 -0
  341. arctrl/py/fable_modules/fable_library/array_.py +1528 -0
  342. arctrl/py/fable_modules/fable_library/async_.py +377 -0
  343. arctrl/py/fable_modules/fable_library/async_builder.py +379 -0
  344. arctrl/py/fable_modules/fable_library/big_int.py +330 -0
  345. arctrl/py/fable_modules/fable_library/bit_converter.py +131 -0
  346. arctrl/py/fable_modules/fable_library/boolean.py +26 -0
  347. arctrl/py/fable_modules/fable_library/char.py +237 -0
  348. arctrl/py/fable_modules/fable_library/choice.py +212 -0
  349. arctrl/py/fable_modules/fable_library/date.py +779 -0
  350. arctrl/py/fable_modules/fable_library/date_offset.py +79 -0
  351. arctrl/py/fable_modules/fable_library/decimal_.py +190 -0
  352. arctrl/py/fable_modules/fable_library/diagnostics.py +54 -0
  353. arctrl/py/fable_modules/fable_library/double.py +87 -0
  354. arctrl/py/fable_modules/fable_library/encoding.py +41 -0
  355. arctrl/py/fable_modules/fable_library/event.py +206 -0
  356. arctrl/py/fable_modules/fable_library/file.py +107 -0
  357. arctrl/py/fable_modules/fable_library/fsharp_collections.py +52 -0
  358. arctrl/py/fable_modules/fable_library/fsharp_core.py +123 -0
  359. arctrl/py/fable_modules/fable_library/global_.py +63 -0
  360. arctrl/py/fable_modules/fable_library/guid.py +41 -0
  361. arctrl/py/fable_modules/fable_library/int32.py +73 -0
  362. arctrl/py/fable_modules/fable_library/list.py +1788 -0
  363. arctrl/py/fable_modules/fable_library/long.py +240 -0
  364. arctrl/py/fable_modules/fable_library/mailbox_processor.py +179 -0
  365. arctrl/py/fable_modules/fable_library/map.py +1854 -0
  366. arctrl/py/fable_modules/fable_library/map_util.py +148 -0
  367. arctrl/py/fable_modules/fable_library/mutable_map.py +397 -0
  368. arctrl/py/fable_modules/fable_library/mutable_set.py +279 -0
  369. arctrl/py/fable_modules/fable_library/native.py +45 -0
  370. arctrl/py/fable_modules/fable_library/numeric.py +46 -0
  371. arctrl/py/fable_modules/fable_library/observable.py +222 -0
  372. arctrl/py/fable_modules/fable_library/option.py +128 -0
  373. arctrl/py/fable_modules/fable_library/path.py +62 -0
  374. arctrl/py/fable_modules/fable_library/range.py +117 -0
  375. arctrl/py/fable_modules/fable_library/reflection.py +463 -0
  376. arctrl/py/fable_modules/fable_library/reg_exp.py +137 -0
  377. arctrl/py/fable_modules/fable_library/resize_array.py +31 -0
  378. arctrl/py/fable_modules/fable_library/result.py +212 -0
  379. arctrl/py/fable_modules/fable_library/seq.py +1979 -0
  380. arctrl/py/fable_modules/fable_library/seq2.py +221 -0
  381. arctrl/py/fable_modules/fable_library/set.py +2414 -0
  382. arctrl/py/fable_modules/fable_library/singleton_local_time_zone.py +36 -0
  383. arctrl/py/fable_modules/fable_library/string_.py +573 -0
  384. arctrl/py/fable_modules/fable_library/system_collections_generic.py +462 -0
  385. arctrl/py/fable_modules/fable_library/system_text.py +237 -0
  386. arctrl/py/fable_modules/fable_library/task.py +116 -0
  387. arctrl/py/fable_modules/fable_library/task_builder.py +122 -0
  388. arctrl/py/fable_modules/fable_library/thread.py +5 -0
  389. arctrl/py/fable_modules/fable_library/time_span.py +283 -0
  390. arctrl/py/fable_modules/fable_library/timer.py +24 -0
  391. arctrl/py/fable_modules/fable_library/types.py +401 -0
  392. arctrl/py/fable_modules/fable_library/uri.py +109 -0
  393. arctrl/py/fable_modules/fable_library/util.py +2735 -0
  394. arctrl/py/fable_modules/fable_openpyxl/__init__.py +0 -0
  395. arctrl/py/fable_modules/fable_openpyxl/openpyxl.py +362 -0
  396. arctrl/py/fable_modules/fable_python/cognite-sdk/__init__.py +0 -0
  397. arctrl/py/fable_modules/fable_python/cognite-sdk/cognite_sdk.py +22 -0
  398. arctrl/py/fable_modules/fable_python/flask/__init__.py +0 -0
  399. arctrl/py/fable_modules/fable_python/flask/flask.py +34 -0
  400. arctrl/py/fable_modules/fable_python/jupyter/__init__.py +0 -0
  401. arctrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +47 -0
  402. arctrl/py/fable_modules/fable_python/jupyter/ipython.py +13 -0
  403. arctrl/py/fable_modules/fable_python/stdlib/__init__.py +0 -0
  404. arctrl/py/fable_modules/fable_python/stdlib/ast.py +1 -0
  405. arctrl/py/fable_modules/fable_python/stdlib/asyncio/__init__.py +0 -0
  406. arctrl/py/fable_modules/fable_python/stdlib/asyncio/events.py +17 -0
  407. arctrl/py/fable_modules/fable_python/stdlib/asyncio/futures.py +52 -0
  408. arctrl/py/fable_modules/fable_python/stdlib/asyncio/tasks.py +38 -0
  409. arctrl/py/fable_modules/fable_python/stdlib/base64_.py +1 -0
  410. arctrl/py/fable_modules/fable_python/stdlib/builtins_.py +38 -0
  411. arctrl/py/fable_modules/fable_python/stdlib/html.py +1 -0
  412. arctrl/py/fable_modules/fable_python/stdlib/json.py +1 -0
  413. arctrl/py/fable_modules/fable_python/stdlib/math_.py +1 -0
  414. arctrl/py/fable_modules/fable_python/stdlib/os_.py +1 -0
  415. arctrl/py/fable_modules/fable_python/stdlib/queue_.py +1 -0
  416. arctrl/py/fable_modules/fable_python/stdlib/string_.py +1 -0
  417. arctrl/py/fable_modules/fable_python/stdlib/sys_.py +30 -0
  418. arctrl/py/fable_modules/fable_python/stdlib/time_.py +1 -0
  419. arctrl/py/fable_modules/fable_python/stdlib/tk_inter.py +1 -0
  420. arctrl/py/fable_modules/fs_spreadsheet/Cells/__init__.py +0 -0
  421. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +340 -0
  422. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +466 -0
  423. arctrl/py/fable_modules/fs_spreadsheet/DSL/__init__.py +0 -0
  424. arctrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +214 -0
  425. arctrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +139 -0
  426. arctrl/py/fable_modules/fs_spreadsheet/DSL/dsl.py +50 -0
  427. arctrl/py/fable_modules/fs_spreadsheet/DSL/expression.py +65 -0
  428. arctrl/py/fable_modules/fs_spreadsheet/DSL/operators.py +9 -0
  429. arctrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +139 -0
  430. arctrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +118 -0
  431. arctrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +122 -0
  432. arctrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +463 -0
  433. arctrl/py/fable_modules/fs_spreadsheet/DSL/types.py +314 -0
  434. arctrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +106 -0
  435. arctrl/py/fable_modules/fs_spreadsheet/Json/__init__.py +0 -0
  436. arctrl/py/fable_modules/fs_spreadsheet/Json/cell.py +103 -0
  437. arctrl/py/fable_modules/fs_spreadsheet/Json/column.py +70 -0
  438. arctrl/py/fable_modules/fs_spreadsheet/Json/row.py +70 -0
  439. arctrl/py/fable_modules/fs_spreadsheet/Json/table.py +54 -0
  440. arctrl/py/fable_modules/fs_spreadsheet/Json/value.py +93 -0
  441. arctrl/py/fable_modules/fs_spreadsheet/Json/workbook.py +71 -0
  442. arctrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +216 -0
  443. arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
  444. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +43 -0
  445. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +190 -0
  446. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +92 -0
  447. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +77 -0
  448. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +48 -0
  449. arctrl/py/fable_modules/fs_spreadsheet/Tables/__init__.py +0 -0
  450. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +461 -0
  451. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +117 -0
  452. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_row.py +23 -0
  453. arctrl/py/fable_modules/fs_spreadsheet/__init__.py +0 -0
  454. arctrl/py/fable_modules/fs_spreadsheet/fs_address.py +236 -0
  455. arctrl/py/fable_modules/fs_spreadsheet/fs_column.py +172 -0
  456. arctrl/py/fable_modules/fs_spreadsheet/fs_row.py +183 -0
  457. arctrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +192 -0
  458. arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +610 -0
  459. arctrl/py/fable_modules/fs_spreadsheet/hash_codes.py +60 -0
  460. arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +329 -0
  461. arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
  462. arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +60 -0
  463. arctrl/py/fable_modules/fs_spreadsheet_py/cell_type.py +50 -0
  464. arctrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +60 -0
  465. arctrl/py/fable_modules/fs_spreadsheet_py/json.py +47 -0
  466. arctrl/py/fable_modules/fs_spreadsheet_py/table.py +54 -0
  467. arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +41 -0
  468. arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +52 -0
  469. arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
  470. arctrl/py/fable_modules/siren/__init__.py +0 -0
  471. arctrl/py/fable_modules/siren/config.py +1038 -0
  472. arctrl/py/fable_modules/siren/formatting.py +1121 -0
  473. arctrl/py/fable_modules/siren/siren.py +1941 -0
  474. arctrl/py/fable_modules/siren/siren_types.py +1229 -0
  475. arctrl/py/fable_modules/siren/theme_variables.py +517 -0
  476. arctrl/py/fable_modules/siren/util.py +37 -0
  477. arctrl/py/fable_modules/siren/yaml.py +101 -0
  478. arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
  479. arctrl/py/fable_modules/thoth_json_core/decode.py +1614 -0
  480. arctrl/py/fable_modules/thoth_json_core/encode.py +305 -0
  481. arctrl/py/fable_modules/thoth_json_core/types.py +181 -0
  482. arctrl/py/fable_modules/thoth_json_python/__init__.py +0 -0
  483. arctrl/py/fable_modules/thoth_json_python/decode.py +112 -0
  484. arctrl/py/fable_modules/thoth_json_python/encode.py +72 -0
  485. arctrl/py/fable_modules/thoth_json_python/python.py +1 -0
  486. arctrl/py/fable_modules/yamlicious/Interop/__init__.py +0 -0
  487. arctrl/py/fable_modules/yamlicious/Interop/js_interop.py +1 -0
  488. arctrl/py/fable_modules/yamlicious/Interop/py_interop.py +7 -0
  489. arctrl/py/fable_modules/yamlicious/__init__.py +0 -0
  490. arctrl/py/fable_modules/yamlicious/decode.py +1784 -0
  491. arctrl/py/fable_modules/yamlicious/encode.py +84 -0
  492. arctrl/py/fable_modules/yamlicious/flow_to_block.py +994 -0
  493. arctrl/py/fable_modules/yamlicious/library.py +10 -0
  494. arctrl/py/fable_modules/yamlicious/persil.py +57 -0
  495. arctrl/py/fable_modules/yamlicious/preprocessing.py +99 -0
  496. arctrl/py/fable_modules/yamlicious/reader.py +739 -0
  497. arctrl/py/fable_modules/yamlicious/regex.py +29 -0
  498. arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +265 -0
  499. arctrl/py/fable_modules/yamlicious/writer.py +175 -0
  500. arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
  501. arctrl/py/json.py +389 -0
  502. arctrl/py/license.py +169 -0
  503. arctrl/py/rocrate_io.py +242 -0
  504. arctrl/py/template_web.py +23 -0
  505. arctrl/py/xlsx.py +212 -0
  506. arctrl/py/yaml.py +79 -0
  507. arctrl/rocrate.py +21 -0
  508. arctrl-3.0.0.dist-info/METADATA +157 -0
  509. arctrl-3.0.0.dist-info/RECORD +511 -0
  510. arctrl-3.0.0.dist-info/WHEEL +4 -0
  511. arctrl-3.0.0.dist-info/licenses/LICENSE +21 -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 _arrow3295(__unit: None=None, oa: Any=oa) -> IEncodable:
55
+ value_2: str = ROCrate_genID(oa)
56
+ class ObjectExpr3294(IEncodable):
57
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
58
+ return helpers.encode_string(value_2)
59
+
60
+ return ObjectExpr3294()
61
+
62
+ class ObjectExpr3296(IEncodable):
63
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
64
+ return helpers_1.encode_string("Sample")
65
+
66
+ class ObjectExpr3297(IEncodable):
67
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
68
+ return helpers_2.encode_string("Sample")
69
+
70
+ def _arrow3299(value_5: str, oa: Any=oa) -> IEncodable:
71
+ class ObjectExpr3298(IEncodable):
72
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
73
+ return helpers_3.encode_string(value_5)
74
+
75
+ return ObjectExpr3298()
76
+
77
+ def _arrow3300(x: IEncodable, oa: Any=oa) -> IEncodable:
78
+ return x
79
+
80
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("@id", _arrow3295()), ("@type", list_1_2(singleton(ObjectExpr3296()))), ("additionalType", ObjectExpr3297()), try_include("name", _arrow3299, oa.Name), try_include_list("additionalProperties", _arrow3300, additional_properties), ("@context", context_jsonvalue)]))
81
+ class ObjectExpr3301(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 ObjectExpr3301()
90
+
91
+
92
+ class ObjectExpr3303(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 _arrow3302(__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 (_arrow3302() 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]] = ObjectExpr3303()
109
+
110
+ def _arrow3307(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 _arrow3304(__unit: None=None) -> str | None:
175
+ object_arg_5: IOptionalGetter = get.Optional
176
+ return object_arg_5.Field("@id", Decode_uri)
177
+
178
+ def _arrow3305(__unit: None=None) -> str | None:
179
+ object_arg_6: IOptionalGetter = get.Optional
180
+ return object_arg_6.Field("name", string)
181
+
182
+ def _arrow3306(__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(_arrow3304(), _arrow3305(), pattern_input[0], pattern_input[1], _arrow3306())
188
+
189
+
190
+ ROCrate_decoder: Decoder_1[Sample] = object(_arrow3307)
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 _arrow3311(value: str, oa_1: Any=oa_1) -> IEncodable:
201
+ class ObjectExpr3310(IEncodable):
202
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
203
+ return helpers.encode_string(value)
204
+
205
+ return ObjectExpr3310()
206
+
207
+ def _arrow3314(value_2: str, oa_1: Any=oa_1) -> IEncodable:
208
+ class ObjectExpr3313(IEncodable):
209
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
210
+ return helpers_1.encode_string(value_2)
211
+
212
+ return ObjectExpr3313()
213
+
214
+ def _arrow3317(oa_2: MaterialAttributeValue, oa_1: Any=oa_1) -> IEncodable:
215
+ return ISAJson_encoder_1(id_map, oa_2)
216
+
217
+ def _arrow3318(fv: FactorValue, oa_1: Any=oa_1) -> IEncodable:
218
+ return ISAJson_encoder_2(id_map, fv)
219
+
220
+ def _arrow3320(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", _arrow3311, ROCrate_genID(oa_1)), try_include("name", _arrow3314, oa_1.Name), try_include_list_opt("characteristics", _arrow3317, oa_1.Characteristics), try_include_list_opt("factorValues", _arrow3318, oa_1.FactorValues), try_include_list_opt("derivesFrom", _arrow3320, oa_1.DerivesFrom)]))
224
+ class ObjectExpr3323(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 ObjectExpr3323()
233
+
234
+ if id_map is not None:
235
+ def _arrow3327(s_1: Sample, id_map: Any=id_map, oa: Any=oa) -> str:
236
+ return ROCrate_genID(s_1)
237
+
238
+ return encode(_arrow3327, 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 _arrow3334(get: IGetters) -> Sample:
248
+ def _arrow3329(__unit: None=None) -> str | None:
249
+ object_arg: IOptionalGetter = get.Optional
250
+ return object_arg.Field("@id", Decode_uri)
251
+
252
+ def _arrow3330(__unit: None=None) -> str | None:
253
+ object_arg_1: IOptionalGetter = get.Optional
254
+ return object_arg_1.Field("name", string)
255
+
256
+ def _arrow3331(__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 _arrow3332(__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 _arrow3333(__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(_arrow3329(), _arrow3330(), _arrow3331(), _arrow3332(), _arrow3333())
272
+
273
+
274
+ ISAJson_decoder: Decoder_1[Sample] = Decode_objectNoAdditionalProperties(ISAJson_allowedFields, _arrow3334)
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 _arrow3259(__unit: None=None, oa: Any=oa) -> IEncodable:
47
+ value: str = ROCrate_genID(oa)
48
+ class ObjectExpr3258(IEncodable):
49
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
50
+ return helpers.encode_string(value)
51
+
52
+ return ObjectExpr3258()
53
+
54
+ class ObjectExpr3260(IEncodable):
55
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
56
+ return helpers_1.encode_string("Source")
57
+
58
+ class ObjectExpr3261(IEncodable):
59
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
60
+ return helpers_2.encode_string("Source")
61
+
62
+ def _arrow3263(value_3: str, oa: Any=oa) -> IEncodable:
63
+ class ObjectExpr3262(IEncodable):
64
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
65
+ return helpers_3.encode_string(value_3)
66
+
67
+ return ObjectExpr3262()
68
+
69
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("@id", _arrow3259()), ("@type", list_1_1(singleton(ObjectExpr3260()))), ("additionalType", ObjectExpr3261()), try_include("name", _arrow3263, oa.Name), try_include_list_opt("characteristics", ROCrate_encoder_1, oa.Characteristics), ("@context", context_jsonvalue)]))
70
+ class ObjectExpr3264(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 ObjectExpr3264()
79
+
80
+
81
+ def _arrow3268(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 _arrow3265(__unit: None=None) -> str | None:
128
+ object_arg_4: IOptionalGetter = get.Optional
129
+ return object_arg_4.Field("@id", Decode_uri)
130
+
131
+ def _arrow3266(__unit: None=None) -> str | None:
132
+ object_arg_5: IOptionalGetter = get.Optional
133
+ return object_arg_5.Field("name", string)
134
+
135
+ def _arrow3267(__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(_arrow3265(), _arrow3266(), _arrow3267())
141
+
142
+
143
+ ROCrate_decoder: Decoder_1[Source] = object(_arrow3268)
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 _arrow3272(value: str, oa_1: Any=oa_1) -> IEncodable:
154
+ class ObjectExpr3271(IEncodable):
155
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
156
+ return helpers.encode_string(value)
157
+
158
+ return ObjectExpr3271()
159
+
160
+ def _arrow3274(value_2: str, oa_1: Any=oa_1) -> IEncodable:
161
+ class ObjectExpr3273(IEncodable):
162
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
163
+ return helpers_1.encode_string(value_2)
164
+
165
+ return ObjectExpr3273()
166
+
167
+ def _arrow3275(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", _arrow3272, ROCrate_genID(oa_1)), try_include("name", _arrow3274, oa_1.Name), try_include_list_opt("characteristics", _arrow3275, oa_1.Characteristics)]))
171
+ class ObjectExpr3276(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 ObjectExpr3276()
180
+
181
+ if id_map is not None:
182
+ def _arrow3277(s_1: Source, id_map: Any=id_map, oa: Any=oa) -> str:
183
+ return ROCrate_genID(s_1)
184
+
185
+ return encode(_arrow3277, 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 _arrow3281(get: IGetters) -> Source:
195
+ def _arrow3278(__unit: None=None) -> str | None:
196
+ object_arg: IOptionalGetter = get.Optional
197
+ return object_arg.Field("@id", Decode_uri)
198
+
199
+ def _arrow3279(__unit: None=None) -> str | None:
200
+ object_arg_1: IOptionalGetter = get.Optional
201
+ return object_arg_1.Field("name", string)
202
+
203
+ def _arrow3280(__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(_arrow3278(), _arrow3279(), _arrow3280())
209
+
210
+
211
+ ISAJson_decoder: Decoder_1[Source] = Decode_objectNoAdditionalProperties(ISAJson_allowedFields, _arrow3281)
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 _arrow3348(oa: Source, id_map: Any=id_map, ps: Any=ps) -> IEncodable:
31
+ return ISAJson_encoder(id_map, oa)
32
+
33
+ def _arrow3349(oa_1: Sample, id_map: Any=id_map, ps: Any=ps) -> IEncodable:
34
+ return ISAJson_encoder_1(id_map, oa_1)
35
+
36
+ def _arrow3350(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", _arrow3348, source), try_include_list("samples", _arrow3349, samples), try_include_list("otherMaterials", _arrow3350, materials)]))
40
+ class ObjectExpr3351(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 ObjectExpr3351()
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 ObjectExpr2901(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 ObjectExpr2901()
17
+
18
+ elif value.tag == 3:
19
+ class ObjectExpr2902(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 ObjectExpr2902()
24
+
25
+ elif value.tag == 0:
26
+ return OntologyAnnotation_ISAJson_encoder(id_map, value.fields[0])
27
+
28
+ else:
29
+ class ObjectExpr2903(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 ObjectExpr2903()
34
+
35
+
36
+
37
+ def _arrow2905(Item: int) -> Value:
38
+ return Value(1, Item)
39
+
40
+
41
+ def _arrow2906(Item_1: float) -> Value:
42
+ return Value(2, Item_1)
43
+
44
+
45
+ def _arrow2907(Item_2: OntologyAnnotation) -> Value:
46
+ return Value(0, Item_2)
47
+
48
+
49
+ def _arrow2908(Item_3: str) -> Value:
50
+ return Value(3, Item_3)
51
+
52
+
53
+ decoder: Decoder_1[Value] = one_of(of_array([map(_arrow2905, int_1), map(_arrow2906, float_1), map(_arrow2907, OntologyAnnotation_ISAJson_decoder), map(_arrow2908, string)]))
54
+
55
+ __all__ = ["encoder", "decoder"]
56
+
File without changes