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,46 @@
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_samples, get_materials)
11
+ from ...Core.Process.sample import Sample
12
+ from ..encode import try_include_list
13
+ from .material import ISAJson_encoder as ISAJson_encoder_1
14
+ from .sample import ISAJson_encoder
15
+
16
+ __A_ = TypeVar("__A_")
17
+
18
+ def encoder(id_map: Any | None, ps: FSharpList[Process]) -> IEncodable:
19
+ samples: FSharpList[Sample] = get_samples(ps)
20
+ materials: FSharpList[Material] = get_materials(ps)
21
+ def chooser(tupled_arg: tuple[str, IEncodable | None], id_map: Any=id_map, ps: Any=ps) -> tuple[str, IEncodable] | None:
22
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
23
+ return (tupled_arg[0], v_1)
24
+
25
+ return map(mapping, tupled_arg[1])
26
+
27
+ def _arrow2667(oa: Sample, id_map: Any=id_map, ps: Any=ps) -> IEncodable:
28
+ return ISAJson_encoder(id_map, oa)
29
+
30
+ def _arrow2668(c: Material, id_map: Any=id_map, ps: Any=ps) -> IEncodable:
31
+ return ISAJson_encoder_1(id_map, c)
32
+
33
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include_list("samples", _arrow2667, samples), try_include_list("otherMaterials", _arrow2668, materials)]))
34
+ class ObjectExpr2669(IEncodable):
35
+ def Encode(self, helpers: IEncoderHelpers_1[Any], id_map: Any=id_map, ps: Any=ps) -> Any:
36
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
37
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers))
38
+
39
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
40
+ return helpers.encode_object(arg)
41
+
42
+ return ObjectExpr2669()
43
+
44
+
45
+ __all__ = ["encoder"]
46
+
@@ -0,0 +1,79 @@
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, of_array, FSharpList)
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.util import IEnumerable_1
8
+ from ...fable_modules.thoth_json_core.decode import (object, IOptionalGetter, IGetters)
9
+ from ...fable_modules.thoth_json_core.types import (IEncodable, Decoder_1, IEncoderHelpers_1)
10
+ from ...Core.ontology_annotation import OntologyAnnotation
11
+ from ...Core.Process.component import (Component, Component_createAsPV, Component__get_ComponentName, Component_decomposeName_Z721C83C5)
12
+ from ...Core.value import Value
13
+ from ..decode import Decode_uri
14
+ from ..encode import try_include
15
+ from ..ontology_annotation import (OntologyAnnotation_ISAJson_encoder, OntologyAnnotation_ISAJson_decoder)
16
+ from ..property_value import (encoder, decoder, gen_id)
17
+
18
+ __A_ = TypeVar("__A_")
19
+
20
+ ROCrate_encoder: Callable[[Component], IEncodable] = encoder
21
+
22
+ ROCrate_decoder: Decoder_1[Component] = decoder(Component_createAsPV)
23
+
24
+ def ISAJson_genID(c: Component) -> str:
25
+ return gen_id(c)
26
+
27
+
28
+ def ISAJson_encoder(id_map: Any | None, c: Component) -> IEncodable:
29
+ def chooser(tupled_arg: tuple[str, IEncodable | None], id_map: Any=id_map, c: Any=c) -> tuple[str, IEncodable] | None:
30
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
31
+ return (tupled_arg[0], v_1)
32
+
33
+ return map(mapping, tupled_arg[1])
34
+
35
+ def _arrow2469(value: str, id_map: Any=id_map, c: Any=c) -> IEncodable:
36
+ class ObjectExpr2468(IEncodable):
37
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
38
+ return helpers.encode_string(value)
39
+
40
+ return ObjectExpr2468()
41
+
42
+ def _arrow2470(oa: OntologyAnnotation, id_map: Any=id_map, c: Any=c) -> IEncodable:
43
+ return OntologyAnnotation_ISAJson_encoder(id_map, oa)
44
+
45
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("componentName", _arrow2469, Component__get_ComponentName(c)), try_include("componentType", _arrow2470, c.ComponentType)]))
46
+ class ObjectExpr2471(IEncodable):
47
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], id_map: Any=id_map, c: Any=c) -> Any:
48
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
49
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_1))
50
+
51
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
52
+ return helpers_1.encode_object(arg)
53
+
54
+ return ObjectExpr2471()
55
+
56
+
57
+ def _arrow2473(get: IGetters) -> Component:
58
+ name: str | None
59
+ object_arg: IOptionalGetter = get.Optional
60
+ name = object_arg.Field("componentName", Decode_uri)
61
+ pattern_input_1: tuple[Value | None, OntologyAnnotation | None]
62
+ if name is None:
63
+ pattern_input_1 = (None, None)
64
+
65
+ else:
66
+ pattern_input: tuple[Value, OntologyAnnotation | None] = Component_decomposeName_Z721C83C5(name)
67
+ pattern_input_1 = (pattern_input[0], pattern_input[1])
68
+
69
+ def _arrow2472(__unit: None=None) -> OntologyAnnotation | None:
70
+ object_arg_1: IOptionalGetter = get.Optional
71
+ return object_arg_1.Field("componentType", OntologyAnnotation_ISAJson_decoder)
72
+
73
+ return Component(pattern_input_1[0], pattern_input_1[1], _arrow2472())
74
+
75
+
76
+ ISAJson_decoder: Decoder_1[Component] = object(_arrow2473)
77
+
78
+ __all__ = ["ROCrate_encoder", "ROCrate_decoder", "ISAJson_genID", "ISAJson_encoder", "ISAJson_decoder"]
79
+
@@ -0,0 +1,107 @@
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, of_array, FSharpList)
5
+ from ...fable_modules.fable_library.option import (map, default_arg)
6
+ from ...fable_modules.fable_library.seq import map as map_1
7
+ from ...fable_modules.fable_library.types import Array
8
+ from ...fable_modules.fable_library.util import IEnumerable_1
9
+ from ...fable_modules.thoth_json_core.decode import (object, IOptionalGetter, string, resize_array, IGetters)
10
+ from ...fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1)
11
+ from ...Core.comment import Comment
12
+ from ...Core.ontology_annotation import OntologyAnnotation
13
+ from ...Core.Process.factor import Factor
14
+ from ..comment import (ISAJson_encoder, ISAJson_decoder)
15
+ from ..encode import (try_include, try_include_seq)
16
+ from ..idtable import encode
17
+ from ..ontology_annotation import (OntologyAnnotation_ROCrate_genID, OntologyAnnotation_ISAJson_encoder, OntologyAnnotation_ISAJson_decoder)
18
+
19
+ __A_ = TypeVar("__A_")
20
+
21
+ def gen_id(f: Factor) -> str:
22
+ match_value: str | None = f.Name
23
+ if match_value is None:
24
+ match_value_1: OntologyAnnotation | None = f.FactorType
25
+ if match_value_1 is None:
26
+ return "#EmptyFactor"
27
+
28
+ else:
29
+ return ("#Factor/" + OntologyAnnotation_ROCrate_genID(match_value_1)) + ""
30
+
31
+
32
+ else:
33
+ return ("#Factor/" + match_value) + ""
34
+
35
+
36
+
37
+ def encoder(id_map: Any | None, value: Factor) -> IEncodable:
38
+ def f_1(value_1: Factor, id_map: Any=id_map, value: Any=value) -> IEncodable:
39
+ def chooser(tupled_arg: tuple[str, IEncodable | None], value_1: Any=value_1) -> tuple[str, IEncodable] | None:
40
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
41
+ return (tupled_arg[0], v_1)
42
+
43
+ return map(mapping, tupled_arg[1])
44
+
45
+ def _arrow2298(value_2: str, value_1: Any=value_1) -> IEncodable:
46
+ class ObjectExpr2297(IEncodable):
47
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
48
+ return helpers.encode_string(value_2)
49
+
50
+ return ObjectExpr2297()
51
+
52
+ def _arrow2300(value_4: str, value_1: Any=value_1) -> IEncodable:
53
+ class ObjectExpr2299(IEncodable):
54
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
55
+ return helpers_1.encode_string(value_4)
56
+
57
+ return ObjectExpr2299()
58
+
59
+ def _arrow2301(oa: OntologyAnnotation, value_1: Any=value_1) -> IEncodable:
60
+ return OntologyAnnotation_ISAJson_encoder(id_map, oa)
61
+
62
+ def _arrow2302(comment: Comment, value_1: Any=value_1) -> IEncodable:
63
+ return ISAJson_encoder(id_map, comment)
64
+
65
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("@id", _arrow2298, gen_id(value_1)), try_include("factorName", _arrow2300, value_1.Name), try_include("factorType", _arrow2301, value_1.FactorType), try_include_seq("comments", _arrow2302, default_arg(value_1.Comments, []))]))
66
+ class ObjectExpr2303(IEncodable):
67
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any], value_1: Any=value_1) -> Any:
68
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
69
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_2))
70
+
71
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
72
+ return helpers_2.encode_object(arg)
73
+
74
+ return ObjectExpr2303()
75
+
76
+ if id_map is not None:
77
+ def _arrow2304(f_2: Factor, id_map: Any=id_map, value: Any=value) -> str:
78
+ return gen_id(f_2)
79
+
80
+ return encode(_arrow2304, f_1, value, id_map)
81
+
82
+ else:
83
+ return f_1(value)
84
+
85
+
86
+
87
+ def _arrow2308(get: IGetters) -> Factor:
88
+ def _arrow2305(__unit: None=None) -> str | None:
89
+ object_arg: IOptionalGetter = get.Optional
90
+ return object_arg.Field("factorName", string)
91
+
92
+ def _arrow2306(__unit: None=None) -> OntologyAnnotation | None:
93
+ object_arg_1: IOptionalGetter = get.Optional
94
+ return object_arg_1.Field("factorType", OntologyAnnotation_ISAJson_decoder)
95
+
96
+ def _arrow2307(__unit: None=None) -> Array[Comment] | None:
97
+ arg_5: Decoder_1[Array[Comment]] = resize_array(ISAJson_decoder)
98
+ object_arg_2: IOptionalGetter = get.Optional
99
+ return object_arg_2.Field("comments", arg_5)
100
+
101
+ return Factor(_arrow2305(), _arrow2306(), _arrow2307())
102
+
103
+
104
+ decoder: Decoder_1[Factor] = object(_arrow2308)
105
+
106
+ __all__ = ["gen_id", "encoder", "decoder"]
107
+
@@ -0,0 +1,101 @@
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, of_array, FSharpList)
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.util import IEnumerable_1
8
+ from ...fable_modules.thoth_json_core.decode import (object, IOptionalGetter, IGetters)
9
+ from ...fable_modules.thoth_json_core.types import (IEncodable, Decoder_1, IEncoderHelpers_1)
10
+ from ...Core.ontology_annotation import OntologyAnnotation
11
+ from ...Core.Process.factor import Factor
12
+ from ...Core.Process.factor_value import (FactorValue, FactorValue_createAsPV)
13
+ from ...Core.value import Value as Value_1
14
+ from ..decode import Decode_uri
15
+ from ..encode import try_include
16
+ from ..idtable import encode
17
+ from ..ontology_annotation import (OntologyAnnotation_ISAJson_encoder, OntologyAnnotation_ISAJson_decoder)
18
+ from ..property_value import (encoder, decoder, gen_id)
19
+ from .factor import (encoder as encoder_1, decoder as decoder_1)
20
+ from .value import (encoder as encoder_2, decoder as decoder_2)
21
+
22
+ __A_ = TypeVar("__A_")
23
+
24
+ ROCrate_encoder: Callable[[FactorValue], IEncodable] = encoder
25
+
26
+ ROCrate_decoder: Decoder_1[FactorValue] = decoder(FactorValue_createAsPV)
27
+
28
+ def ISAJson_genID(fv: FactorValue) -> str:
29
+ return gen_id(fv)
30
+
31
+
32
+ def ISAJson_encoder(id_map: Any | None, fv: FactorValue) -> IEncodable:
33
+ def f(fv_1: FactorValue, id_map: Any=id_map, fv: Any=fv) -> IEncodable:
34
+ def chooser(tupled_arg: tuple[str, IEncodable | None], fv_1: Any=fv_1) -> tuple[str, IEncodable] | None:
35
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
36
+ return (tupled_arg[0], v_1)
37
+
38
+ return map(mapping, tupled_arg[1])
39
+
40
+ def _arrow2344(value: str, fv_1: Any=fv_1) -> IEncodable:
41
+ class ObjectExpr2342(IEncodable):
42
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
43
+ return helpers.encode_string(value)
44
+
45
+ return ObjectExpr2342()
46
+
47
+ def _arrow2345(value_2: Factor, fv_1: Any=fv_1) -> IEncodable:
48
+ return encoder_1(id_map, value_2)
49
+
50
+ def _arrow2346(value_3: Value_1, fv_1: Any=fv_1) -> IEncodable:
51
+ return encoder_2(id_map, value_3)
52
+
53
+ def _arrow2348(oa: OntologyAnnotation, fv_1: Any=fv_1) -> IEncodable:
54
+ return OntologyAnnotation_ISAJson_encoder(id_map, oa)
55
+
56
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("@id", _arrow2344, ISAJson_genID(fv_1)), try_include("category", _arrow2345, fv_1.Category), try_include("value", _arrow2346, fv_1.Value), try_include("unit", _arrow2348, fv_1.Unit)]))
57
+ class ObjectExpr2351(IEncodable):
58
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], fv_1: Any=fv_1) -> Any:
59
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
60
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_1))
61
+
62
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
63
+ return helpers_1.encode_object(arg)
64
+
65
+ return ObjectExpr2351()
66
+
67
+ if id_map is not None:
68
+ def _arrow2352(fv_3: FactorValue, id_map: Any=id_map, fv: Any=fv) -> str:
69
+ return ISAJson_genID(fv_3)
70
+
71
+ return encode(_arrow2352, f, fv, id_map)
72
+
73
+ else:
74
+ return f(fv)
75
+
76
+
77
+
78
+ def _arrow2358(get: IGetters) -> FactorValue:
79
+ def _arrow2353(__unit: None=None) -> str | None:
80
+ object_arg: IOptionalGetter = get.Optional
81
+ return object_arg.Field("@id", Decode_uri)
82
+
83
+ def _arrow2355(__unit: None=None) -> Factor | None:
84
+ object_arg_1: IOptionalGetter = get.Optional
85
+ return object_arg_1.Field("category", decoder_1)
86
+
87
+ def _arrow2356(__unit: None=None) -> Value_1 | None:
88
+ object_arg_2: IOptionalGetter = get.Optional
89
+ return object_arg_2.Field("value", decoder_2)
90
+
91
+ def _arrow2357(__unit: None=None) -> OntologyAnnotation | None:
92
+ object_arg_3: IOptionalGetter = get.Optional
93
+ return object_arg_3.Field("unit", OntologyAnnotation_ISAJson_decoder)
94
+
95
+ return FactorValue(_arrow2353(), _arrow2355(), _arrow2356(), _arrow2357())
96
+
97
+
98
+ ISAJson_decoder: Decoder_1[FactorValue] = object(_arrow2358)
99
+
100
+ __all__ = ["ROCrate_encoder", "ROCrate_decoder", "ISAJson_genID", "ISAJson_encoder", "ISAJson_decoder"]
101
+
@@ -0,0 +1,226 @@
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)
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, string, list_1 as list_1_2, 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 import Material
13
+ from ...Core.Process.material_attribute_value import MaterialAttributeValue
14
+ from ...Core.Process.material_type import MaterialType
15
+ from ..context.rocrate.isa_material_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_2, ROCrate_decoder as ROCrate_decoder_2, ISAJson_encoder as ISAJson_encoder_2, ISAJson_decoder as ISAJson_decoder_2)
20
+ from .material_type 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)
21
+
22
+ __A_ = TypeVar("__A_")
23
+
24
+ def ROCrate_genID(m: Material) -> str:
25
+ match_value: str | None = m.ID
26
+ if match_value is None:
27
+ match_value_1: str | None = m.Name
28
+ if match_value_1 is None:
29
+ return "#EmptyMaterial"
30
+
31
+ else:
32
+ return "#Material_" + replace(match_value_1, " ", "_")
33
+
34
+
35
+ else:
36
+ return match_value
37
+
38
+
39
+
40
+ def ROCrate_encoder(oa: Material) -> IEncodable:
41
+ def chooser(tupled_arg: tuple[str, IEncodable | None], oa: Any=oa) -> tuple[str, IEncodable] | None:
42
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
43
+ return (tupled_arg[0], v_1)
44
+
45
+ return map(mapping, tupled_arg[1])
46
+
47
+ def _arrow2547(__unit: None=None, oa: Any=oa) -> IEncodable:
48
+ value: str = ROCrate_genID(oa)
49
+ class ObjectExpr2546(IEncodable):
50
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
51
+ return helpers.encode_string(value)
52
+
53
+ return ObjectExpr2546()
54
+
55
+ class ObjectExpr2548(IEncodable):
56
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
57
+ return helpers_1.encode_string("Material")
58
+
59
+ class ObjectExpr2549(IEncodable):
60
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
61
+ return helpers_2.encode_string("Material")
62
+
63
+ def _arrow2551(value_3: str, oa: Any=oa) -> IEncodable:
64
+ class ObjectExpr2550(IEncodable):
65
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
66
+ return helpers_3.encode_string(value_3)
67
+
68
+ return ObjectExpr2550()
69
+
70
+ def _arrow2552(value_5: MaterialType, oa: Any=oa) -> IEncodable:
71
+ return ROCrate_encoder_1(value_5)
72
+
73
+ def _arrow2553(oa_1: Material, oa: Any=oa) -> IEncodable:
74
+ return ROCrate_encoder(oa_1)
75
+
76
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("@id", _arrow2547()), ("@type", list_1_1(singleton(ObjectExpr2548()))), ("additionalType", ObjectExpr2549()), try_include("name", _arrow2551, oa.Name), try_include("type", _arrow2552, oa.MaterialType), try_include_list_opt("characteristics", ROCrate_encoder_2, oa.Characteristics), try_include_list_opt("derivesFrom", _arrow2553, oa.DerivesFrom), ("@context", context_jsonvalue)]))
77
+ class ObjectExpr2554(IEncodable):
78
+ def Encode(self, helpers_4: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
79
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
80
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_4))
81
+
82
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
83
+ return helpers_4.encode_object(arg)
84
+
85
+ return ObjectExpr2554()
86
+
87
+
88
+ def _arrow2561(__unit: None=None) -> Decoder_1[Material]:
89
+ def decode(__unit: None=None) -> Decoder_1[Material]:
90
+ def _arrow2560(get: IGetters) -> Material:
91
+ match_value: str | None
92
+ object_arg: IOptionalGetter = get.Optional
93
+ match_value = object_arg.Field("additionalType", Decode_uri)
94
+ (pattern_matching_result,) = (None,)
95
+ if match_value is None:
96
+ pattern_matching_result = 0
97
+
98
+ elif match_value == "Material":
99
+ pattern_matching_result = 0
100
+
101
+ else:
102
+ pattern_matching_result = 1
103
+
104
+ if pattern_matching_result == 1:
105
+ object_arg_1: IRequiredGetter = get.Required
106
+ object_arg_1.Field("FailBecauseNotSample", unit)
107
+
108
+ def _arrow2555(__unit: None=None) -> str | None:
109
+ object_arg_2: IOptionalGetter = get.Optional
110
+ return object_arg_2.Field("@id", Decode_uri)
111
+
112
+ def _arrow2556(__unit: None=None) -> str | None:
113
+ object_arg_3: IOptionalGetter = get.Optional
114
+ return object_arg_3.Field("name", string)
115
+
116
+ def _arrow2557(__unit: None=None) -> MaterialType | None:
117
+ object_arg_4: IOptionalGetter = get.Optional
118
+ return object_arg_4.Field("type", ROCrate_decoder_1)
119
+
120
+ def _arrow2558(__unit: None=None) -> FSharpList[MaterialAttributeValue] | None:
121
+ arg_11: Decoder_1[FSharpList[MaterialAttributeValue]] = list_1_2(ROCrate_decoder_2)
122
+ object_arg_5: IOptionalGetter = get.Optional
123
+ return object_arg_5.Field("characteristics", arg_11)
124
+
125
+ def _arrow2559(__unit: None=None) -> FSharpList[Material] | None:
126
+ arg_13: Decoder_1[FSharpList[Material]] = list_1_2(decode(None))
127
+ object_arg_6: IOptionalGetter = get.Optional
128
+ return object_arg_6.Field("derivesFrom", arg_13)
129
+
130
+ return Material(_arrow2555(), _arrow2556(), _arrow2557(), _arrow2558(), _arrow2559())
131
+
132
+ return object(_arrow2560)
133
+
134
+ return decode(None)
135
+
136
+
137
+ ROCrate_decoder: Decoder_1[Material] = _arrow2561()
138
+
139
+ def ISAJson_encoder(id_map: Any | None, c: Material) -> IEncodable:
140
+ def f(oa: Material, id_map: Any=id_map, c: Any=c) -> IEncodable:
141
+ def chooser(tupled_arg: tuple[str, IEncodable | None], oa: Any=oa) -> tuple[str, IEncodable] | None:
142
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
143
+ return (tupled_arg[0], v_1)
144
+
145
+ return map(mapping, tupled_arg[1])
146
+
147
+ def _arrow2565(value: str, oa: Any=oa) -> IEncodable:
148
+ class ObjectExpr2564(IEncodable):
149
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
150
+ return helpers.encode_string(value)
151
+
152
+ return ObjectExpr2564()
153
+
154
+ def _arrow2567(value_2: str, oa: Any=oa) -> IEncodable:
155
+ class ObjectExpr2566(IEncodable):
156
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
157
+ return helpers_1.encode_string(value_2)
158
+
159
+ return ObjectExpr2566()
160
+
161
+ def _arrow2568(oa_1: MaterialAttributeValue, oa: Any=oa) -> IEncodable:
162
+ return ISAJson_encoder_2(id_map, oa_1)
163
+
164
+ def _arrow2569(c_1: Material, oa: Any=oa) -> IEncodable:
165
+ return ISAJson_encoder(id_map, c_1)
166
+
167
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("@id", _arrow2565, ROCrate_genID(oa)), try_include("name", _arrow2567, oa.Name), try_include("type", ISAJson_encoder_1, oa.MaterialType), try_include_list_opt("characteristics", _arrow2568, oa.Characteristics), try_include_list_opt("derivesFrom", _arrow2569, oa.DerivesFrom)]))
168
+ class ObjectExpr2570(IEncodable):
169
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
170
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
171
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_2))
172
+
173
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
174
+ return helpers_2.encode_object(arg)
175
+
176
+ return ObjectExpr2570()
177
+
178
+ if id_map is not None:
179
+ def _arrow2571(m_1: Material, id_map: Any=id_map, c: Any=c) -> str:
180
+ return ROCrate_genID(m_1)
181
+
182
+ return encode(_arrow2571, f, c, id_map)
183
+
184
+ else:
185
+ return f(c)
186
+
187
+
188
+
189
+ ISAJson_allowedFields: FSharpList[str] = of_array(["@id", "@type", "name", "type", "characteristics", "derivesFrom", "@context"])
190
+
191
+ def _arrow2578(__unit: None=None) -> Decoder_1[Material]:
192
+ def decode(__unit: None=None) -> Decoder_1[Material]:
193
+ def _arrow2577(get: IGetters) -> Material:
194
+ def _arrow2572(__unit: None=None) -> str | None:
195
+ object_arg: IOptionalGetter = get.Optional
196
+ return object_arg.Field("@id", Decode_uri)
197
+
198
+ def _arrow2573(__unit: None=None) -> str | None:
199
+ object_arg_1: IOptionalGetter = get.Optional
200
+ return object_arg_1.Field("name", string)
201
+
202
+ def _arrow2574(__unit: None=None) -> MaterialType | None:
203
+ object_arg_2: IOptionalGetter = get.Optional
204
+ return object_arg_2.Field("type", ISAJson_decoder_1)
205
+
206
+ def _arrow2575(__unit: None=None) -> FSharpList[MaterialAttributeValue] | None:
207
+ arg_7: Decoder_1[FSharpList[MaterialAttributeValue]] = list_1_2(ISAJson_decoder_2)
208
+ object_arg_3: IOptionalGetter = get.Optional
209
+ return object_arg_3.Field("characteristics", arg_7)
210
+
211
+ def _arrow2576(__unit: None=None) -> FSharpList[Material] | None:
212
+ arg_9: Decoder_1[FSharpList[Material]] = list_1_2(decode(None))
213
+ object_arg_4: IOptionalGetter = get.Optional
214
+ return object_arg_4.Field("derivesFrom", arg_9)
215
+
216
+ return Material(_arrow2572(), _arrow2573(), _arrow2574(), _arrow2575(), _arrow2576())
217
+
218
+ return Decode_objectNoAdditionalProperties(ISAJson_allowedFields, _arrow2577)
219
+
220
+ return decode(None)
221
+
222
+
223
+ ISAJson_decoder: Decoder_1[Material] = _arrow2578()
224
+
225
+ __all__ = ["ROCrate_genID", "ROCrate_encoder", "ROCrate_decoder", "ISAJson_encoder", "ISAJson_allowedFields", "ISAJson_decoder"]
226
+
@@ -0,0 +1,79 @@
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, of_array, FSharpList)
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.util import IEnumerable_1
8
+ from ...fable_modules.thoth_json_core.decode import (object, IOptionalGetter, IGetters)
9
+ from ...fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1)
10
+ from ...Core.ontology_annotation import OntologyAnnotation
11
+ from ...Core.Process.material_attribute import MaterialAttribute
12
+ from ..encode import try_include
13
+ from ..idtable import encode
14
+ from ..ontology_annotation import (OntologyAnnotation_ROCrate_genID, OntologyAnnotation_ISAJson_encoder, OntologyAnnotation_ISAJson_decoder)
15
+
16
+ __A_ = TypeVar("__A_")
17
+
18
+ def gen_id(m: MaterialAttribute) -> str:
19
+ match_value: OntologyAnnotation | None = m.CharacteristicType
20
+ if match_value is None:
21
+ return "#EmptyFactor"
22
+
23
+ else:
24
+ return ("#MaterialAttribute/" + OntologyAnnotation_ROCrate_genID(match_value)) + ""
25
+
26
+
27
+
28
+ def encoder(id_map: Any | None, value: MaterialAttribute) -> IEncodable:
29
+ def f(value_1: MaterialAttribute, id_map: Any=id_map, value: Any=value) -> IEncodable:
30
+ def chooser(tupled_arg: tuple[str, IEncodable | None], value_1: Any=value_1) -> tuple[str, IEncodable] | None:
31
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
32
+ return (tupled_arg[0], v_1)
33
+
34
+ return map(mapping, tupled_arg[1])
35
+
36
+ def _arrow2460(value_2: str, value_1: Any=value_1) -> IEncodable:
37
+ class ObjectExpr2459(IEncodable):
38
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
39
+ return helpers.encode_string(value_2)
40
+
41
+ return ObjectExpr2459()
42
+
43
+ def _arrow2461(oa: OntologyAnnotation, value_1: Any=value_1) -> IEncodable:
44
+ return OntologyAnnotation_ISAJson_encoder(id_map, oa)
45
+
46
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("@id", _arrow2460, gen_id(value_1)), try_include("characteristicType", _arrow2461, value_1.CharacteristicType)]))
47
+ class ObjectExpr2462(IEncodable):
48
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], value_1: Any=value_1) -> Any:
49
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
50
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_1))
51
+
52
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
53
+ return helpers_1.encode_object(arg)
54
+
55
+ return ObjectExpr2462()
56
+
57
+ if id_map is not None:
58
+ def _arrow2463(m_1: MaterialAttribute, id_map: Any=id_map, value: Any=value) -> str:
59
+ return gen_id(m_1)
60
+
61
+ return encode(_arrow2463, f, value, id_map)
62
+
63
+ else:
64
+ return f(value)
65
+
66
+
67
+
68
+ def _arrow2465(get: IGetters) -> MaterialAttribute:
69
+ def _arrow2464(__unit: None=None) -> OntologyAnnotation | None:
70
+ object_arg: IOptionalGetter = get.Optional
71
+ return object_arg.Field("characteristicType", OntologyAnnotation_ISAJson_decoder)
72
+
73
+ return MaterialAttribute(None, _arrow2464())
74
+
75
+
76
+ decoder: Decoder_1[MaterialAttribute] = object(_arrow2465)
77
+
78
+ __all__ = ["gen_id", "encoder", "decoder"]
79
+