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,359 @@
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, string, IGetters)
9
+ from ..fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1)
10
+ from ..Core.iproperty_value import IPropertyValue
11
+ from ..Core.ontology_annotation import OntologyAnnotation
12
+ from ..Core.value import Value as Value_4
13
+ from .context.rocrate.property_value_context import context_jsonvalue
14
+ from .encode import try_include
15
+ from .ontology_annotation import AnnotationValue_decoder
16
+
17
+ __A_ = TypeVar("__A_")
18
+
19
+ _T = TypeVar("_T")
20
+
21
+ def gen_id(p: IPropertyValue) -> str:
22
+ match_value: OntologyAnnotation | None = p.GetCategory()
23
+ match_value_1: Value_4 | None = p.GetValue()
24
+ match_value_2: OntologyAnnotation | None = p.GetUnit()
25
+ (pattern_matching_result, t, u, v, t_1, v_1) = (None, None, None, None, None, None)
26
+ if match_value is not None:
27
+ if match_value_1 is not None:
28
+ if match_value_2 is None:
29
+ pattern_matching_result = 1
30
+ t_1 = match_value
31
+ v_1 = match_value_1
32
+
33
+ else:
34
+ pattern_matching_result = 0
35
+ t = match_value
36
+ u = match_value_2
37
+ v = match_value_1
38
+
39
+
40
+ else:
41
+ pattern_matching_result = 2
42
+
43
+
44
+ else:
45
+ pattern_matching_result = 2
46
+
47
+ if pattern_matching_result == 0:
48
+ return ((((((("#" + p.GetAdditionalType()) + "/") + t.NameText) + "=") + v.Text) + "") + u.NameText) + ""
49
+
50
+ elif pattern_matching_result == 1:
51
+ return ((((("#" + p.GetAdditionalType()) + "/") + t_1.NameText) + "=") + v_1.Text) + ""
52
+
53
+ elif pattern_matching_result == 2:
54
+ return ("#Empty" + p.GetAdditionalType()) + ""
55
+
56
+
57
+
58
+ def encoder(pv: IPropertyValue) -> IEncodable:
59
+ pattern_input: tuple[str | None, str | None]
60
+ match_value: OntologyAnnotation | None = pv.GetCategory()
61
+ if match_value is None:
62
+ pattern_input = (None, None)
63
+
64
+ else:
65
+ oa: OntologyAnnotation = match_value
66
+ pattern_input = (oa.Name, oa.TermAccessionNumber)
67
+
68
+ pattern_input_1: tuple[IEncodable | None, IEncodable | None]
69
+ match_value_1: Value_4 | None = pv.GetValue()
70
+ if match_value_1 is None:
71
+ pattern_input_1 = (None, None)
72
+
73
+ else:
74
+ v: Value_4 = match_value_1
75
+ if v.tag == 1:
76
+ class ObjectExpr2745(IEncodable):
77
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], pv: Any=pv) -> Any:
78
+ return helpers_1.encode_signed_integral_number(v.fields[0])
79
+
80
+ pattern_input_1 = (ObjectExpr2745(), None)
81
+
82
+ elif v.tag == 2:
83
+ class ObjectExpr2746(IEncodable):
84
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any], pv: Any=pv) -> Any:
85
+ return helpers_2.encode_decimal_number(v.fields[0])
86
+
87
+ pattern_input_1 = (ObjectExpr2746(), None)
88
+
89
+ elif v.tag == 0:
90
+ oa_1: OntologyAnnotation = v.fields[0]
91
+ def _arrow2748(value_3: str, pv: Any=pv) -> IEncodable:
92
+ class ObjectExpr2747(IEncodable):
93
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
94
+ return helpers_3.encode_string(value_3)
95
+
96
+ return ObjectExpr2747()
97
+
98
+ def _arrow2750(value_5: str, pv: Any=pv) -> IEncodable:
99
+ class ObjectExpr2749(IEncodable):
100
+ def Encode(self, helpers_4: IEncoderHelpers_1[Any]) -> Any:
101
+ return helpers_4.encode_string(value_5)
102
+
103
+ return ObjectExpr2749()
104
+
105
+ pattern_input_1 = (map(_arrow2748, oa_1.Name), map(_arrow2750, oa_1.TermAccessionNumber))
106
+
107
+ else:
108
+ class ObjectExpr2751(IEncodable):
109
+ def Encode(self, helpers: IEncoderHelpers_1[Any], pv: Any=pv) -> Any:
110
+ return helpers.encode_string(v.fields[0])
111
+
112
+ pattern_input_1 = (ObjectExpr2751(), None)
113
+
114
+
115
+ pattern_input_2: tuple[str | None, str | None]
116
+ match_value_2: OntologyAnnotation | None = pv.GetUnit()
117
+ if match_value_2 is None:
118
+ pattern_input_2 = (None, None)
119
+
120
+ else:
121
+ oa_2: OntologyAnnotation = match_value_2
122
+ pattern_input_2 = (oa_2.Name, oa_2.TermAccessionNumber)
123
+
124
+ def chooser(tupled_arg: tuple[str, IEncodable | None], pv: Any=pv) -> tuple[str, IEncodable] | None:
125
+ def mapping(v_1_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
126
+ return (tupled_arg[0], v_1_1)
127
+
128
+ return map(mapping, tupled_arg[1])
129
+
130
+ def _arrow2755(__unit: None=None, pv: Any=pv) -> IEncodable:
131
+ value_8: str = gen_id(pv)
132
+ class ObjectExpr2754(IEncodable):
133
+ def Encode(self, helpers_5: IEncoderHelpers_1[Any]) -> Any:
134
+ return helpers_5.encode_string(value_8)
135
+
136
+ return ObjectExpr2754()
137
+
138
+ class ObjectExpr2756(IEncodable):
139
+ def Encode(self, helpers_6: IEncoderHelpers_1[Any], pv: Any=pv) -> Any:
140
+ return helpers_6.encode_string("PropertyValue")
141
+
142
+ def _arrow2758(__unit: None=None, pv: Any=pv) -> IEncodable:
143
+ value_10: str = pv.GetAdditionalType()
144
+ class ObjectExpr2757(IEncodable):
145
+ def Encode(self, helpers_7: IEncoderHelpers_1[Any]) -> Any:
146
+ return helpers_7.encode_string(value_10)
147
+
148
+ return ObjectExpr2757()
149
+
150
+ def _arrow2760(value_11: str, pv: Any=pv) -> IEncodable:
151
+ class ObjectExpr2759(IEncodable):
152
+ def Encode(self, helpers_8: IEncoderHelpers_1[Any]) -> Any:
153
+ return helpers_8.encode_string(value_11)
154
+
155
+ return ObjectExpr2759()
156
+
157
+ def _arrow2762(value_13: str, pv: Any=pv) -> IEncodable:
158
+ class ObjectExpr2761(IEncodable):
159
+ def Encode(self, helpers_9: IEncoderHelpers_1[Any]) -> Any:
160
+ return helpers_9.encode_string(value_13)
161
+
162
+ return ObjectExpr2761()
163
+
164
+ def _arrow2764(value_15: str, pv: Any=pv) -> IEncodable:
165
+ class ObjectExpr2763(IEncodable):
166
+ def Encode(self, helpers_10: IEncoderHelpers_1[Any]) -> Any:
167
+ return helpers_10.encode_string(value_15)
168
+
169
+ return ObjectExpr2763()
170
+
171
+ def _arrow2766(value_17: str, pv: Any=pv) -> IEncodable:
172
+ class ObjectExpr2765(IEncodable):
173
+ def Encode(self, helpers_11: IEncoderHelpers_1[Any]) -> Any:
174
+ return helpers_11.encode_string(value_17)
175
+
176
+ return ObjectExpr2765()
177
+
178
+ def _arrow2768(value_19: str, pv: Any=pv) -> IEncodable:
179
+ class ObjectExpr2767(IEncodable):
180
+ def Encode(self, helpers_12: IEncoderHelpers_1[Any]) -> Any:
181
+ return helpers_12.encode_string(value_19)
182
+
183
+ return ObjectExpr2767()
184
+
185
+ def _arrow2769(x: IEncodable, pv: Any=pv) -> IEncodable:
186
+ return x
187
+
188
+ def _arrow2770(x_1: IEncodable, pv: Any=pv) -> IEncodable:
189
+ return x_1
190
+
191
+ def _arrow2772(value_21: str, pv: Any=pv) -> IEncodable:
192
+ class ObjectExpr2771(IEncodable):
193
+ def Encode(self, helpers_13: IEncoderHelpers_1[Any]) -> Any:
194
+ return helpers_13.encode_string(value_21)
195
+
196
+ return ObjectExpr2771()
197
+
198
+ def _arrow2774(value_23: str, pv: Any=pv) -> IEncodable:
199
+ class ObjectExpr2773(IEncodable):
200
+ def Encode(self, helpers_14: IEncoderHelpers_1[Any]) -> Any:
201
+ return helpers_14.encode_string(value_23)
202
+
203
+ return ObjectExpr2773()
204
+
205
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("@id", _arrow2755()), ("@type", ObjectExpr2756()), ("additionalType", _arrow2758()), try_include("alternateName", _arrow2760, pv.AlternateName()), try_include("measurementMethod", _arrow2762, pv.MeasurementMethod()), try_include("description", _arrow2764, pv.Description()), try_include("category", _arrow2766, pattern_input[0]), try_include("categoryCode", _arrow2768, pattern_input[1]), try_include("value", _arrow2769, pattern_input_1[0]), try_include("valueCode", _arrow2770, pattern_input_1[1]), try_include("unit", _arrow2772, pattern_input_2[0]), try_include("unitCode", _arrow2774, pattern_input_2[1]), ("@context", context_jsonvalue)]))
206
+ class ObjectExpr2775(IEncodable):
207
+ def Encode(self, helpers_15: IEncoderHelpers_1[Any], pv: Any=pv) -> Any:
208
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
209
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_15))
210
+
211
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
212
+ return helpers_15.encode_object(arg)
213
+
214
+ return ObjectExpr2775()
215
+
216
+
217
+ def decoder(create: Callable[[str | None, str | None, str | None, OntologyAnnotation | None, Value_4 | None, OntologyAnnotation | None], _T]) -> Decoder_1[Any]:
218
+ def _arrow2778(get: IGetters, create: Any=create) -> _T:
219
+ alternate_name: str | None
220
+ object_arg: IOptionalGetter = get.Optional
221
+ alternate_name = object_arg.Field("alternateName", string)
222
+ measurement_method: str | None
223
+ object_arg_1: IOptionalGetter = get.Optional
224
+ measurement_method = object_arg_1.Field("measurementMethod", string)
225
+ description: str | None
226
+ object_arg_2: IOptionalGetter = get.Optional
227
+ description = object_arg_2.Field("description", string)
228
+ category: OntologyAnnotation | None
229
+ name: str | None
230
+ object_arg_3: IOptionalGetter = get.Optional
231
+ name = object_arg_3.Field("category", string)
232
+ code: str | None
233
+ object_arg_4: IOptionalGetter = get.Optional
234
+ code = object_arg_4.Field("categoryCode", string)
235
+ (pattern_matching_result, code_1) = (None, None)
236
+ if name is None:
237
+ if code is not None:
238
+ if code == "":
239
+ pattern_matching_result = 0
240
+
241
+ else:
242
+ pattern_matching_result = 2
243
+ code_1 = code
244
+
245
+
246
+ else:
247
+ pattern_matching_result = 0
248
+
249
+
250
+ elif code is not None:
251
+ if code == "":
252
+ pattern_matching_result = 1
253
+
254
+ else:
255
+ pattern_matching_result = 2
256
+ code_1 = code
257
+
258
+
259
+ else:
260
+ pattern_matching_result = 1
261
+
262
+ if pattern_matching_result == 0:
263
+ category = None
264
+
265
+ elif pattern_matching_result == 1:
266
+ try:
267
+ category = OntologyAnnotation.create(name)
268
+
269
+ except Exception as err:
270
+ raise Exception(((("Error while decoding category (name:" + str(name)) + "): ") + str(err)) + "")
271
+
272
+
273
+ elif pattern_matching_result == 2:
274
+ try:
275
+ category = OntologyAnnotation.from_term_annotation(code_1, name)
276
+
277
+ except Exception as err_1:
278
+ raise Exception(((((("Error while decoding category (name:" + str(name)) + ", code:") + code_1) + "): ") + str(err_1)) + "")
279
+
280
+
281
+ unit: OntologyAnnotation | None
282
+ name_1: str | None
283
+ object_arg_5: IOptionalGetter = get.Optional
284
+ name_1 = object_arg_5.Field("unit", string)
285
+ code_2: str | None
286
+ object_arg_6: IOptionalGetter = get.Optional
287
+ code_2 = object_arg_6.Field("unitCode", string)
288
+ (pattern_matching_result_1, code_3) = (None, None)
289
+ if name_1 is None:
290
+ if code_2 is not None:
291
+ if code_2 == "":
292
+ pattern_matching_result_1 = 0
293
+
294
+ else:
295
+ pattern_matching_result_1 = 2
296
+ code_3 = code_2
297
+
298
+
299
+ else:
300
+ pattern_matching_result_1 = 0
301
+
302
+
303
+ elif code_2 is not None:
304
+ if code_2 == "":
305
+ pattern_matching_result_1 = 1
306
+
307
+ else:
308
+ pattern_matching_result_1 = 2
309
+ code_3 = code_2
310
+
311
+
312
+ else:
313
+ pattern_matching_result_1 = 1
314
+
315
+ if pattern_matching_result_1 == 0:
316
+ unit = None
317
+
318
+ elif pattern_matching_result_1 == 1:
319
+ try:
320
+ unit = OntologyAnnotation.create(name_1)
321
+
322
+ except Exception as err_2:
323
+ raise Exception(((("Error while decoding unit (name:" + str(name_1)) + "): ") + str(err_2)) + "")
324
+
325
+
326
+ elif pattern_matching_result_1 == 2:
327
+ try:
328
+ unit = OntologyAnnotation.from_term_annotation(code_3, name_1)
329
+
330
+ except Exception as err_3:
331
+ raise Exception(((((("Error while decoding unit (name:" + str(name_1)) + ", code:") + code_3) + "): ") + str(err_3)) + "")
332
+
333
+
334
+ def _arrow2777(__unit: None=None) -> Value_4 | None:
335
+ value: str | None
336
+ object_arg_7: IOptionalGetter = get.Optional
337
+ value = object_arg_7.Field("value", AnnotationValue_decoder)
338
+ code_4: str | None
339
+ object_arg_8: IOptionalGetter = get.Optional
340
+ code_4 = object_arg_8.Field("valueCode", string)
341
+ if (code_4 is None) if (value is None) else False:
342
+ return None
343
+
344
+ else:
345
+ try:
346
+ return Value_4.from_options(value, None, code_4)
347
+
348
+ except Exception as err_4:
349
+ raise Exception(((((("Error while decoding value " + str(value)) + ",") + str(code_4)) + ": ") + str(err_4)) + "")
350
+
351
+
352
+
353
+ return create(alternate_name, measurement_method, description, category, _arrow2777(), unit)
354
+
355
+ return object(_arrow2778)
356
+
357
+
358
+ __all__ = ["gen_id", "encoder", "decoder"]
359
+
@@ -0,0 +1,279 @@
1
+ from __future__ import annotations
2
+ from typing import (Any, TypeVar)
3
+ from ..fable_modules.fable_library.list import (choose, of_array, FSharpList)
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.string_ import replace
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.publication import Publication
14
+ from .comment import (encoder as encoder_1, decoder as decoder_2, ROCrate_encoderDisambiguatingDescription, ROCrate_decoderDisambiguatingDescription, ISAJson_encoder as ISAJson_encoder_1)
15
+ from .context.rocrate.isa_publication_context import context_jsonvalue
16
+ from .decode import (Decode_uri, Decode_noAdditionalProperties)
17
+ from .encode import (try_include, try_include_seq)
18
+ from .ontology_annotation import (OntologyAnnotation_encoder, OntologyAnnotation_decoder, OntologyAnnotation_ROCrate_encoderDefinedTerm, OntologyAnnotation_ROCrate_decoderDefinedTerm)
19
+ from .person import (ROCrate_encodeAuthorListString, ROCrate_decodeAuthorListString)
20
+
21
+ __A_ = TypeVar("__A_")
22
+
23
+ def encoder(oa: Publication) -> IEncodable:
24
+ def chooser(tupled_arg: tuple[str, IEncodable | None], oa: Any=oa) -> 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 _arrow2912(value: str, oa: Any=oa) -> IEncodable:
31
+ class ObjectExpr2911(IEncodable):
32
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
33
+ return helpers.encode_string(value)
34
+
35
+ return ObjectExpr2911()
36
+
37
+ def _arrow2914(value_2: str, oa: Any=oa) -> IEncodable:
38
+ class ObjectExpr2913(IEncodable):
39
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
40
+ return helpers_1.encode_string(value_2)
41
+
42
+ return ObjectExpr2913()
43
+
44
+ def _arrow2916(value_4: str, oa: Any=oa) -> IEncodable:
45
+ class ObjectExpr2915(IEncodable):
46
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any]) -> Any:
47
+ return helpers_2.encode_string(value_4)
48
+
49
+ return ObjectExpr2915()
50
+
51
+ def _arrow2918(value_6: str, oa: Any=oa) -> IEncodable:
52
+ class ObjectExpr2917(IEncodable):
53
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
54
+ return helpers_3.encode_string(value_6)
55
+
56
+ return ObjectExpr2917()
57
+
58
+ def _arrow2919(oa_1: OntologyAnnotation, oa: Any=oa) -> IEncodable:
59
+ return OntologyAnnotation_encoder(oa_1)
60
+
61
+ def _arrow2920(comment: Comment, oa: Any=oa) -> IEncodable:
62
+ return encoder_1(comment)
63
+
64
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("pubMedID", _arrow2912, oa.PubMedID), try_include("doi", _arrow2914, oa.DOI), try_include("authorList", _arrow2916, oa.Authors), try_include("title", _arrow2918, oa.Title), try_include("status", _arrow2919, oa.Status), try_include_seq("comments", _arrow2920, oa.Comments)]))
65
+ class ObjectExpr2921(IEncodable):
66
+ def Encode(self, helpers_4: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
67
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
68
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_4))
69
+
70
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
71
+ return helpers_4.encode_object(arg)
72
+
73
+ return ObjectExpr2921()
74
+
75
+
76
+ def _arrow2928(get: IGetters) -> Publication:
77
+ def _arrow2922(__unit: None=None) -> str | None:
78
+ object_arg: IOptionalGetter = get.Optional
79
+ return object_arg.Field("pubMedID", Decode_uri)
80
+
81
+ def _arrow2923(__unit: None=None) -> str | None:
82
+ object_arg_1: IOptionalGetter = get.Optional
83
+ return object_arg_1.Field("doi", string)
84
+
85
+ def _arrow2924(__unit: None=None) -> str | None:
86
+ object_arg_2: IOptionalGetter = get.Optional
87
+ return object_arg_2.Field("authorList", string)
88
+
89
+ def _arrow2925(__unit: None=None) -> str | None:
90
+ object_arg_3: IOptionalGetter = get.Optional
91
+ return object_arg_3.Field("title", string)
92
+
93
+ def _arrow2926(__unit: None=None) -> OntologyAnnotation | None:
94
+ object_arg_4: IOptionalGetter = get.Optional
95
+ return object_arg_4.Field("status", OntologyAnnotation_decoder)
96
+
97
+ def _arrow2927(__unit: None=None) -> Array[Comment] | None:
98
+ arg_11: Decoder_1[Array[Comment]] = resize_array(decoder_2)
99
+ object_arg_5: IOptionalGetter = get.Optional
100
+ return object_arg_5.Field("comments", arg_11)
101
+
102
+ return Publication(_arrow2922(), _arrow2923(), _arrow2924(), _arrow2925(), _arrow2926(), _arrow2927())
103
+
104
+
105
+ decoder: Decoder_1[Publication] = object(_arrow2928)
106
+
107
+ def ROCrate_genID(p: Publication) -> str:
108
+ match_value: str | None = p.DOI
109
+ if match_value is None:
110
+ match_value_1: str | None = p.PubMedID
111
+ if match_value_1 is None:
112
+ match_value_2: str | None = p.Title
113
+ if match_value_2 is None:
114
+ return "#EmptyPublication"
115
+
116
+ else:
117
+ return "#Pub_" + replace(match_value_2, " ", "_")
118
+
119
+
120
+ else:
121
+ return match_value_1
122
+
123
+
124
+ else:
125
+ return match_value
126
+
127
+
128
+
129
+ def ROCrate_encoder(oa: Publication) -> IEncodable:
130
+ def chooser(tupled_arg: tuple[str, IEncodable | None], oa: Any=oa) -> tuple[str, IEncodable] | None:
131
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
132
+ return (tupled_arg[0], v_1)
133
+
134
+ return map(mapping, tupled_arg[1])
135
+
136
+ def _arrow2932(__unit: None=None, oa: Any=oa) -> IEncodable:
137
+ value: str = ROCrate_genID(oa)
138
+ class ObjectExpr2931(IEncodable):
139
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
140
+ return helpers.encode_string(value)
141
+
142
+ return ObjectExpr2931()
143
+
144
+ class ObjectExpr2933(IEncodable):
145
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
146
+ return helpers_1.encode_string("Publication")
147
+
148
+ def _arrow2935(value_2: str, oa: Any=oa) -> IEncodable:
149
+ class ObjectExpr2934(IEncodable):
150
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any]) -> Any:
151
+ return helpers_2.encode_string(value_2)
152
+
153
+ return ObjectExpr2934()
154
+
155
+ def _arrow2937(value_4: str, oa: Any=oa) -> IEncodable:
156
+ class ObjectExpr2936(IEncodable):
157
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
158
+ return helpers_3.encode_string(value_4)
159
+
160
+ return ObjectExpr2936()
161
+
162
+ def _arrow2938(author_list: str, oa: Any=oa) -> IEncodable:
163
+ return ROCrate_encodeAuthorListString(author_list)
164
+
165
+ def _arrow2940(value_6: str, oa: Any=oa) -> IEncodable:
166
+ class ObjectExpr2939(IEncodable):
167
+ def Encode(self, helpers_4: IEncoderHelpers_1[Any]) -> Any:
168
+ return helpers_4.encode_string(value_6)
169
+
170
+ return ObjectExpr2939()
171
+
172
+ def _arrow2941(oa_1: OntologyAnnotation, oa: Any=oa) -> IEncodable:
173
+ return OntologyAnnotation_ROCrate_encoderDefinedTerm(oa_1)
174
+
175
+ def _arrow2942(comment: Comment, oa: Any=oa) -> IEncodable:
176
+ return ROCrate_encoderDisambiguatingDescription(comment)
177
+
178
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("@id", _arrow2932()), ("@type", ObjectExpr2933()), try_include("pubMedID", _arrow2935, oa.PubMedID), try_include("doi", _arrow2937, oa.DOI), try_include("authorList", _arrow2938, oa.Authors), try_include("title", _arrow2940, oa.Title), try_include("status", _arrow2941, oa.Status), try_include_seq("comments", _arrow2942, oa.Comments), ("@context", context_jsonvalue)]))
179
+ class ObjectExpr2943(IEncodable):
180
+ def Encode(self, helpers_5: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
181
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
182
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_5))
183
+
184
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
185
+ return helpers_5.encode_object(arg)
186
+
187
+ return ObjectExpr2943()
188
+
189
+
190
+ def _arrow2950(get: IGetters) -> Publication:
191
+ def _arrow2944(__unit: None=None) -> str | None:
192
+ object_arg: IOptionalGetter = get.Optional
193
+ return object_arg.Field("pubMedID", Decode_uri)
194
+
195
+ def _arrow2945(__unit: None=None) -> str | None:
196
+ object_arg_1: IOptionalGetter = get.Optional
197
+ return object_arg_1.Field("doi", string)
198
+
199
+ def _arrow2946(__unit: None=None) -> str | None:
200
+ object_arg_2: IOptionalGetter = get.Optional
201
+ return object_arg_2.Field("authorList", ROCrate_decodeAuthorListString)
202
+
203
+ def _arrow2947(__unit: None=None) -> str | None:
204
+ object_arg_3: IOptionalGetter = get.Optional
205
+ return object_arg_3.Field("title", string)
206
+
207
+ def _arrow2948(__unit: None=None) -> OntologyAnnotation | None:
208
+ object_arg_4: IOptionalGetter = get.Optional
209
+ return object_arg_4.Field("status", OntologyAnnotation_ROCrate_decoderDefinedTerm)
210
+
211
+ def _arrow2949(__unit: None=None) -> Array[Comment] | None:
212
+ arg_11: Decoder_1[Array[Comment]] = resize_array(ROCrate_decoderDisambiguatingDescription)
213
+ object_arg_5: IOptionalGetter = get.Optional
214
+ return object_arg_5.Field("comments", arg_11)
215
+
216
+ return Publication(_arrow2944(), _arrow2945(), _arrow2946(), _arrow2947(), _arrow2948(), _arrow2949())
217
+
218
+
219
+ ROCrate_decoder: Decoder_1[Publication] = object(_arrow2950)
220
+
221
+ def ISAJson_encoder(id_map: Any | None, oa: Publication) -> IEncodable:
222
+ def chooser(tupled_arg: tuple[str, IEncodable | None], id_map: Any=id_map, oa: Any=oa) -> tuple[str, IEncodable] | None:
223
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
224
+ return (tupled_arg[0], v_1)
225
+
226
+ return map(mapping, tupled_arg[1])
227
+
228
+ def _arrow2954(value: str, id_map: Any=id_map, oa: Any=oa) -> IEncodable:
229
+ class ObjectExpr2953(IEncodable):
230
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
231
+ return helpers.encode_string(value)
232
+
233
+ return ObjectExpr2953()
234
+
235
+ def _arrow2958(value_2: str, id_map: Any=id_map, oa: Any=oa) -> IEncodable:
236
+ class ObjectExpr2957(IEncodable):
237
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
238
+ return helpers_1.encode_string(value_2)
239
+
240
+ return ObjectExpr2957()
241
+
242
+ def _arrow2962(value_4: str, id_map: Any=id_map, oa: Any=oa) -> IEncodable:
243
+ class ObjectExpr2961(IEncodable):
244
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any]) -> Any:
245
+ return helpers_2.encode_string(value_4)
246
+
247
+ return ObjectExpr2961()
248
+
249
+ def _arrow2967(value_6: str, id_map: Any=id_map, oa: Any=oa) -> IEncodable:
250
+ class ObjectExpr2966(IEncodable):
251
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
252
+ return helpers_3.encode_string(value_6)
253
+
254
+ return ObjectExpr2966()
255
+
256
+ def _arrow2969(oa_1: OntologyAnnotation, id_map: Any=id_map, oa: Any=oa) -> IEncodable:
257
+ return OntologyAnnotation_encoder(oa_1)
258
+
259
+ def _arrow2970(comment: Comment, id_map: Any=id_map, oa: Any=oa) -> IEncodable:
260
+ return ISAJson_encoder_1(id_map, comment)
261
+
262
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("pubMedID", _arrow2954, oa.PubMedID), try_include("doi", _arrow2958, oa.DOI), try_include("authorList", _arrow2962, oa.Authors), try_include("title", _arrow2967, oa.Title), try_include("status", _arrow2969, oa.Status), try_include_seq("comments", _arrow2970, oa.Comments)]))
263
+ class ObjectExpr2974(IEncodable):
264
+ def Encode(self, helpers_4: IEncoderHelpers_1[Any], id_map: Any=id_map, oa: Any=oa) -> Any:
265
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
266
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_4))
267
+
268
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
269
+ return helpers_4.encode_object(arg)
270
+
271
+ return ObjectExpr2974()
272
+
273
+
274
+ ISAJson_allowedFields: FSharpList[str] = of_array(["pubMedID", "doi", "authorList", "title", "status", "comments"])
275
+
276
+ ISAJson_decoder: Decoder_1[Publication] = Decode_noAdditionalProperties(ISAJson_allowedFields, decoder)
277
+
278
+ __all__ = ["encoder", "decoder", "ROCrate_genID", "ROCrate_encoder", "ROCrate_decoder", "ISAJson_encoder", "ISAJson_allowedFields", "ISAJson_decoder"]
279
+