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,658 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import (Any, TypeVar)
4
+ from ..fable_modules.fable_library.array_ import map as map_2
5
+ from ..fable_modules.fable_library.list import (choose, of_array, FSharpList)
6
+ from ..fable_modules.fable_library.option import (map, default_arg)
7
+ from ..fable_modules.fable_library.seq import (map as map_1, try_pick)
8
+ from ..fable_modules.fable_library.string_ import (replace, split, join)
9
+ from ..fable_modules.fable_library.types import Array
10
+ from ..fable_modules.fable_library.util import IEnumerable_1
11
+ from ..fable_modules.thoth_json_core.decode import (object, IOptionalGetter, string, resize_array, IGetters, IRequiredGetter, map as map_3, array as array_3)
12
+ from ..fable_modules.thoth_json_core.types import (IEncodable, IEncoderHelpers_1, Decoder_1)
13
+ from ..Core.comment import Comment
14
+ from ..Core.conversion import (Person_setCommentFromORCID, Person_setOrcidFromComments)
15
+ from ..Core.ontology_annotation import OntologyAnnotation
16
+ from ..Core.person import Person
17
+ from .comment import (encoder as encoder_1, decoder as decoder_1, ROCrate_encoderDisambiguatingDescription, ROCrate_decoderDisambiguatingDescription)
18
+ from .context.rocrate.isa_organization_context import context_jsonvalue
19
+ from .context.rocrate.isa_person_context import (context_jsonvalue as context_jsonvalue_1, context_minimal_json_value)
20
+ from .decode import Decode_objectNoAdditionalProperties
21
+ from .encode import (try_include, try_include_seq)
22
+ from .idtable import encode
23
+ from .ontology_annotation import (OntologyAnnotation_encoder, OntologyAnnotation_decoder, OntologyAnnotation_ROCrate_encoderDefinedTerm, OntologyAnnotation_ROCrate_decoderDefinedTerm)
24
+
25
+ __A_ = TypeVar("__A_")
26
+
27
+ def encoder(person: Person) -> IEncodable:
28
+ def chooser(tupled_arg: tuple[str, IEncodable | None], person: Any=person) -> tuple[str, IEncodable] | None:
29
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
30
+ return (tupled_arg[0], v_1)
31
+
32
+ return map(mapping, tupled_arg[1])
33
+
34
+ def _arrow2977(value: str, person: Any=person) -> IEncodable:
35
+ class ObjectExpr2976(IEncodable):
36
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
37
+ return helpers.encode_string(value)
38
+
39
+ return ObjectExpr2976()
40
+
41
+ def _arrow2981(value_2: str, person: Any=person) -> IEncodable:
42
+ class ObjectExpr2980(IEncodable):
43
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
44
+ return helpers_1.encode_string(value_2)
45
+
46
+ return ObjectExpr2980()
47
+
48
+ def _arrow2985(value_4: str, person: Any=person) -> IEncodable:
49
+ class ObjectExpr2984(IEncodable):
50
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any]) -> Any:
51
+ return helpers_2.encode_string(value_4)
52
+
53
+ return ObjectExpr2984()
54
+
55
+ def _arrow2987(value_6: str, person: Any=person) -> IEncodable:
56
+ class ObjectExpr2986(IEncodable):
57
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
58
+ return helpers_3.encode_string(value_6)
59
+
60
+ return ObjectExpr2986()
61
+
62
+ def _arrow2989(value_8: str, person: Any=person) -> IEncodable:
63
+ class ObjectExpr2988(IEncodable):
64
+ def Encode(self, helpers_4: IEncoderHelpers_1[Any]) -> Any:
65
+ return helpers_4.encode_string(value_8)
66
+
67
+ return ObjectExpr2988()
68
+
69
+ def _arrow2991(value_10: str, person: Any=person) -> IEncodable:
70
+ class ObjectExpr2990(IEncodable):
71
+ def Encode(self, helpers_5: IEncoderHelpers_1[Any]) -> Any:
72
+ return helpers_5.encode_string(value_10)
73
+
74
+ return ObjectExpr2990()
75
+
76
+ def _arrow2993(value_12: str, person: Any=person) -> IEncodable:
77
+ class ObjectExpr2992(IEncodable):
78
+ def Encode(self, helpers_6: IEncoderHelpers_1[Any]) -> Any:
79
+ return helpers_6.encode_string(value_12)
80
+
81
+ return ObjectExpr2992()
82
+
83
+ def _arrow2995(value_14: str, person: Any=person) -> IEncodable:
84
+ class ObjectExpr2994(IEncodable):
85
+ def Encode(self, helpers_7: IEncoderHelpers_1[Any]) -> Any:
86
+ return helpers_7.encode_string(value_14)
87
+
88
+ return ObjectExpr2994()
89
+
90
+ def _arrow2997(value_16: str, person: Any=person) -> IEncodable:
91
+ class ObjectExpr2996(IEncodable):
92
+ def Encode(self, helpers_8: IEncoderHelpers_1[Any]) -> Any:
93
+ return helpers_8.encode_string(value_16)
94
+
95
+ return ObjectExpr2996()
96
+
97
+ def _arrow2998(oa: OntologyAnnotation, person: Any=person) -> IEncodable:
98
+ return OntologyAnnotation_encoder(oa)
99
+
100
+ def _arrow2999(comment: Comment, person: Any=person) -> IEncodable:
101
+ return encoder_1(comment)
102
+
103
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("firstName", _arrow2977, person.FirstName), try_include("lastName", _arrow2981, person.LastName), try_include("midInitials", _arrow2985, person.MidInitials), try_include("orcid", _arrow2987, person.ORCID), try_include("email", _arrow2989, person.EMail), try_include("phone", _arrow2991, person.Phone), try_include("fax", _arrow2993, person.Fax), try_include("address", _arrow2995, person.Address), try_include("affiliation", _arrow2997, person.Affiliation), try_include_seq("roles", _arrow2998, person.Roles), try_include_seq("comments", _arrow2999, person.Comments)]))
104
+ class ObjectExpr3000(IEncodable):
105
+ def Encode(self, helpers_9: IEncoderHelpers_1[Any], person: Any=person) -> Any:
106
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
107
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_9))
108
+
109
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
110
+ return helpers_9.encode_object(arg)
111
+
112
+ return ObjectExpr3000()
113
+
114
+
115
+ def _arrow3012(get: IGetters) -> Person:
116
+ def _arrow3001(__unit: None=None) -> str | None:
117
+ object_arg: IOptionalGetter = get.Optional
118
+ return object_arg.Field("orcid", string)
119
+
120
+ def _arrow3002(__unit: None=None) -> str | None:
121
+ object_arg_1: IOptionalGetter = get.Optional
122
+ return object_arg_1.Field("lastName", string)
123
+
124
+ def _arrow3003(__unit: None=None) -> str | None:
125
+ object_arg_2: IOptionalGetter = get.Optional
126
+ return object_arg_2.Field("firstName", string)
127
+
128
+ def _arrow3004(__unit: None=None) -> str | None:
129
+ object_arg_3: IOptionalGetter = get.Optional
130
+ return object_arg_3.Field("midInitials", string)
131
+
132
+ def _arrow3005(__unit: None=None) -> str | None:
133
+ object_arg_4: IOptionalGetter = get.Optional
134
+ return object_arg_4.Field("email", string)
135
+
136
+ def _arrow3006(__unit: None=None) -> str | None:
137
+ object_arg_5: IOptionalGetter = get.Optional
138
+ return object_arg_5.Field("phone", string)
139
+
140
+ def _arrow3007(__unit: None=None) -> str | None:
141
+ object_arg_6: IOptionalGetter = get.Optional
142
+ return object_arg_6.Field("fax", string)
143
+
144
+ def _arrow3008(__unit: None=None) -> str | None:
145
+ object_arg_7: IOptionalGetter = get.Optional
146
+ return object_arg_7.Field("address", string)
147
+
148
+ def _arrow3009(__unit: None=None) -> str | None:
149
+ object_arg_8: IOptionalGetter = get.Optional
150
+ return object_arg_8.Field("affiliation", string)
151
+
152
+ def _arrow3010(__unit: None=None) -> Array[OntologyAnnotation] | None:
153
+ arg_19: Decoder_1[Array[OntologyAnnotation]] = resize_array(OntologyAnnotation_decoder)
154
+ object_arg_9: IOptionalGetter = get.Optional
155
+ return object_arg_9.Field("roles", arg_19)
156
+
157
+ def _arrow3011(__unit: None=None) -> Array[Comment] | None:
158
+ arg_21: Decoder_1[Array[Comment]] = resize_array(decoder_1)
159
+ object_arg_10: IOptionalGetter = get.Optional
160
+ return object_arg_10.Field("comments", arg_21)
161
+
162
+ return Person(_arrow3001(), _arrow3002(), _arrow3003(), _arrow3004(), _arrow3005(), _arrow3006(), _arrow3007(), _arrow3008(), _arrow3009(), _arrow3010(), _arrow3011())
163
+
164
+
165
+ decoder: Decoder_1[Person] = object(_arrow3012)
166
+
167
+ def ROCrate_genID(p: Person) -> str:
168
+ def chooser(c: Comment, p: Any=p) -> str | None:
169
+ match_value: str | None = c.Name
170
+ match_value_1: str | None = c.Value
171
+ (pattern_matching_result, n, v) = (None, None, None)
172
+ if match_value is not None:
173
+ if match_value_1 is not None:
174
+ pattern_matching_result = 0
175
+ n = match_value
176
+ v = match_value_1
177
+
178
+ else:
179
+ pattern_matching_result = 1
180
+
181
+
182
+ else:
183
+ pattern_matching_result = 1
184
+
185
+ if pattern_matching_result == 0:
186
+ if True if (True if (n == "orcid") else (n == "Orcid")) else (n == "ORCID"):
187
+ return v
188
+
189
+ else:
190
+ return None
191
+
192
+
193
+ elif pattern_matching_result == 1:
194
+ return None
195
+
196
+
197
+ orcid: str | None = try_pick(chooser, p.Comments)
198
+ if orcid is None:
199
+ match_value_1: str | None = p.EMail
200
+ if match_value_1 is None:
201
+ match_value_2: str | None = p.FirstName
202
+ match_value_3: str | None = p.MidInitials
203
+ match_value_4: str | None = p.LastName
204
+ (pattern_matching_result_1, fn, ln, mn, fn_1, ln_1, ln_2, fn_2) = (None, None, None, None, None, None, None, None)
205
+ if match_value_2 is None:
206
+ if match_value_3 is None:
207
+ if match_value_4 is not None:
208
+ pattern_matching_result_1 = 2
209
+ ln_2 = match_value_4
210
+
211
+ else:
212
+ pattern_matching_result_1 = 4
213
+
214
+
215
+ else:
216
+ pattern_matching_result_1 = 4
217
+
218
+
219
+ elif match_value_3 is None:
220
+ if match_value_4 is None:
221
+ pattern_matching_result_1 = 3
222
+ fn_2 = match_value_2
223
+
224
+ else:
225
+ pattern_matching_result_1 = 1
226
+ fn_1 = match_value_2
227
+ ln_1 = match_value_4
228
+
229
+
230
+ elif match_value_4 is not None:
231
+ pattern_matching_result_1 = 0
232
+ fn = match_value_2
233
+ ln = match_value_4
234
+ mn = match_value_3
235
+
236
+ else:
237
+ pattern_matching_result_1 = 4
238
+
239
+ if pattern_matching_result_1 == 0:
240
+ return (((("#" + replace(fn, " ", "_")) + "_") + replace(mn, " ", "_")) + "_") + replace(ln, " ", "_")
241
+
242
+ elif pattern_matching_result_1 == 1:
243
+ return (("#" + replace(fn_1, " ", "_")) + "_") + replace(ln_1, " ", "_")
244
+
245
+ elif pattern_matching_result_1 == 2:
246
+ return "#" + replace(ln_2, " ", "_")
247
+
248
+ elif pattern_matching_result_1 == 3:
249
+ return "#" + replace(fn_2, " ", "_")
250
+
251
+ elif pattern_matching_result_1 == 4:
252
+ return "#EmptyPerson"
253
+
254
+
255
+ else:
256
+ return match_value_1
257
+
258
+
259
+ else:
260
+ return orcid
261
+
262
+
263
+
264
+ def ROCrate_Affiliation_encoder(affiliation: str) -> IEncodable:
265
+ class ObjectExpr3014(IEncodable):
266
+ def Encode(self, helpers: IEncoderHelpers_1[Any], affiliation: Any=affiliation) -> Any:
267
+ return helpers.encode_string("Organization")
268
+
269
+ def _arrow3016(__unit: None=None, affiliation: Any=affiliation) -> IEncodable:
270
+ value_1: str = replace(("#Organization_" + affiliation) + "", " ", "_")
271
+ class ObjectExpr3015(IEncodable):
272
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
273
+ return helpers_1.encode_string(value_1)
274
+
275
+ return ObjectExpr3015()
276
+
277
+ class ObjectExpr3017(IEncodable):
278
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any], affiliation: Any=affiliation) -> Any:
279
+ return helpers_2.encode_string(affiliation)
280
+
281
+ values: FSharpList[tuple[str, IEncodable]] = of_array([("@type", ObjectExpr3014()), ("@id", _arrow3016()), ("name", ObjectExpr3017()), ("@context", context_jsonvalue)])
282
+ class ObjectExpr3018(IEncodable):
283
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any], affiliation: Any=affiliation) -> Any:
284
+ def mapping(tupled_arg: tuple[str, IEncodable]) -> tuple[str, __A_]:
285
+ return (tupled_arg[0], tupled_arg[1].Encode(helpers_3))
286
+
287
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping, values)
288
+ return helpers_3.encode_object(arg)
289
+
290
+ return ObjectExpr3018()
291
+
292
+
293
+ def _arrow3019(get: IGetters) -> str:
294
+ object_arg: IRequiredGetter = get.Required
295
+ return object_arg.Field("name", string)
296
+
297
+
298
+ ROCrate_Affiliation_decoder: Decoder_1[str] = object(_arrow3019)
299
+
300
+ def ROCrate_encoder(oa: Person) -> IEncodable:
301
+ def chooser(tupled_arg: tuple[str, IEncodable | None], oa: Any=oa) -> tuple[str, IEncodable] | None:
302
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
303
+ return (tupled_arg[0], v_1)
304
+
305
+ return map(mapping, tupled_arg[1])
306
+
307
+ def _arrow3023(__unit: None=None, oa: Any=oa) -> IEncodable:
308
+ value: str = ROCrate_genID(oa)
309
+ class ObjectExpr3022(IEncodable):
310
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
311
+ return helpers.encode_string(value)
312
+
313
+ return ObjectExpr3022()
314
+
315
+ class ObjectExpr3024(IEncodable):
316
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
317
+ return helpers_1.encode_string("Person")
318
+
319
+ def _arrow3026(value_2: str, oa: Any=oa) -> IEncodable:
320
+ class ObjectExpr3025(IEncodable):
321
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any]) -> Any:
322
+ return helpers_2.encode_string(value_2)
323
+
324
+ return ObjectExpr3025()
325
+
326
+ def _arrow3028(value_4: str, oa: Any=oa) -> IEncodable:
327
+ class ObjectExpr3027(IEncodable):
328
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
329
+ return helpers_3.encode_string(value_4)
330
+
331
+ return ObjectExpr3027()
332
+
333
+ def _arrow3030(value_6: str, oa: Any=oa) -> IEncodable:
334
+ class ObjectExpr3029(IEncodable):
335
+ def Encode(self, helpers_4: IEncoderHelpers_1[Any]) -> Any:
336
+ return helpers_4.encode_string(value_6)
337
+
338
+ return ObjectExpr3029()
339
+
340
+ def _arrow3032(value_8: str, oa: Any=oa) -> IEncodable:
341
+ class ObjectExpr3031(IEncodable):
342
+ def Encode(self, helpers_5: IEncoderHelpers_1[Any]) -> Any:
343
+ return helpers_5.encode_string(value_8)
344
+
345
+ return ObjectExpr3031()
346
+
347
+ def _arrow3034(value_10: str, oa: Any=oa) -> IEncodable:
348
+ class ObjectExpr3033(IEncodable):
349
+ def Encode(self, helpers_6: IEncoderHelpers_1[Any]) -> Any:
350
+ return helpers_6.encode_string(value_10)
351
+
352
+ return ObjectExpr3033()
353
+
354
+ def _arrow3036(value_12: str, oa: Any=oa) -> IEncodable:
355
+ class ObjectExpr3035(IEncodable):
356
+ def Encode(self, helpers_7: IEncoderHelpers_1[Any]) -> Any:
357
+ return helpers_7.encode_string(value_12)
358
+
359
+ return ObjectExpr3035()
360
+
361
+ def _arrow3038(value_14: str, oa: Any=oa) -> IEncodable:
362
+ class ObjectExpr3037(IEncodable):
363
+ def Encode(self, helpers_8: IEncoderHelpers_1[Any]) -> Any:
364
+ return helpers_8.encode_string(value_14)
365
+
366
+ return ObjectExpr3037()
367
+
368
+ def _arrow3040(value_16: str, oa: Any=oa) -> IEncodable:
369
+ class ObjectExpr3039(IEncodable):
370
+ def Encode(self, helpers_9: IEncoderHelpers_1[Any]) -> Any:
371
+ return helpers_9.encode_string(value_16)
372
+
373
+ return ObjectExpr3039()
374
+
375
+ def _arrow3041(affiliation: str, oa: Any=oa) -> IEncodable:
376
+ return ROCrate_Affiliation_encoder(affiliation)
377
+
378
+ def _arrow3042(oa_1: OntologyAnnotation, oa: Any=oa) -> IEncodable:
379
+ return OntologyAnnotation_ROCrate_encoderDefinedTerm(oa_1)
380
+
381
+ def _arrow3043(comment: Comment, oa: Any=oa) -> IEncodable:
382
+ return ROCrate_encoderDisambiguatingDescription(comment)
383
+
384
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("@id", _arrow3023()), ("@type", ObjectExpr3024()), try_include("orcid", _arrow3026, oa.ORCID), try_include("firstName", _arrow3028, oa.FirstName), try_include("lastName", _arrow3030, oa.LastName), try_include("midInitials", _arrow3032, oa.MidInitials), try_include("email", _arrow3034, oa.EMail), try_include("phone", _arrow3036, oa.Phone), try_include("fax", _arrow3038, oa.Fax), try_include("address", _arrow3040, oa.Address), try_include("affiliation", _arrow3041, oa.Affiliation), try_include_seq("roles", _arrow3042, oa.Roles), try_include_seq("comments", _arrow3043, oa.Comments), ("@context", context_jsonvalue_1)]))
385
+ class ObjectExpr3044(IEncodable):
386
+ def Encode(self, helpers_10: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
387
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
388
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_10))
389
+
390
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
391
+ return helpers_10.encode_object(arg)
392
+
393
+ return ObjectExpr3044()
394
+
395
+
396
+ def _arrow3056(get: IGetters) -> Person:
397
+ def _arrow3045(__unit: None=None) -> str | None:
398
+ object_arg: IOptionalGetter = get.Optional
399
+ return object_arg.Field("orcid", string)
400
+
401
+ def _arrow3046(__unit: None=None) -> str | None:
402
+ object_arg_1: IOptionalGetter = get.Optional
403
+ return object_arg_1.Field("lastName", string)
404
+
405
+ def _arrow3047(__unit: None=None) -> str | None:
406
+ object_arg_2: IOptionalGetter = get.Optional
407
+ return object_arg_2.Field("firstName", string)
408
+
409
+ def _arrow3048(__unit: None=None) -> str | None:
410
+ object_arg_3: IOptionalGetter = get.Optional
411
+ return object_arg_3.Field("midInitials", string)
412
+
413
+ def _arrow3049(__unit: None=None) -> str | None:
414
+ object_arg_4: IOptionalGetter = get.Optional
415
+ return object_arg_4.Field("email", string)
416
+
417
+ def _arrow3050(__unit: None=None) -> str | None:
418
+ object_arg_5: IOptionalGetter = get.Optional
419
+ return object_arg_5.Field("phone", string)
420
+
421
+ def _arrow3051(__unit: None=None) -> str | None:
422
+ object_arg_6: IOptionalGetter = get.Optional
423
+ return object_arg_6.Field("fax", string)
424
+
425
+ def _arrow3052(__unit: None=None) -> str | None:
426
+ object_arg_7: IOptionalGetter = get.Optional
427
+ return object_arg_7.Field("address", string)
428
+
429
+ def _arrow3053(__unit: None=None) -> str | None:
430
+ object_arg_8: IOptionalGetter = get.Optional
431
+ return object_arg_8.Field("affiliation", ROCrate_Affiliation_decoder)
432
+
433
+ def _arrow3054(__unit: None=None) -> Array[OntologyAnnotation] | None:
434
+ arg_19: Decoder_1[Array[OntologyAnnotation]] = resize_array(OntologyAnnotation_ROCrate_decoderDefinedTerm)
435
+ object_arg_9: IOptionalGetter = get.Optional
436
+ return object_arg_9.Field("roles", arg_19)
437
+
438
+ def _arrow3055(__unit: None=None) -> Array[Comment] | None:
439
+ arg_21: Decoder_1[Array[Comment]] = resize_array(ROCrate_decoderDisambiguatingDescription)
440
+ object_arg_10: IOptionalGetter = get.Optional
441
+ return object_arg_10.Field("comments", arg_21)
442
+
443
+ return Person(_arrow3045(), _arrow3046(), _arrow3047(), _arrow3048(), _arrow3049(), _arrow3050(), _arrow3051(), _arrow3052(), _arrow3053(), _arrow3054(), _arrow3055())
444
+
445
+
446
+ ROCrate_decoder: Decoder_1[Person] = object(_arrow3056)
447
+
448
+ def ROCrate_encodeAuthorListString(author_list: str) -> IEncodable:
449
+ def encode_single(name: str, author_list: Any=author_list) -> IEncodable:
450
+ def chooser(tupled_arg: tuple[str, IEncodable | None], name: Any=name) -> tuple[str, IEncodable] | None:
451
+ def mapping_1(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
452
+ return (tupled_arg[0], v_1)
453
+
454
+ return map(mapping_1, tupled_arg[1])
455
+
456
+ class ObjectExpr3064(IEncodable):
457
+ def Encode(self, helpers: IEncoderHelpers_1[Any], name: Any=name) -> Any:
458
+ return helpers.encode_string("Person")
459
+
460
+ def _arrow3067(value_1: str, name: Any=name) -> IEncodable:
461
+ class ObjectExpr3066(IEncodable):
462
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
463
+ return helpers_1.encode_string(value_1)
464
+
465
+ return ObjectExpr3066()
466
+
467
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("@type", ObjectExpr3064()), try_include("name", _arrow3067, name), ("@context", context_minimal_json_value)]))
468
+ class ObjectExpr3069(IEncodable):
469
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any], name: Any=name) -> Any:
470
+ def mapping_2(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
471
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_2))
472
+
473
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_2, values)
474
+ return helpers_2.encode_object(arg)
475
+
476
+ return ObjectExpr3069()
477
+
478
+ def mapping(s: str, author_list: Any=author_list) -> str:
479
+ return s.strip()
480
+
481
+ values_2: Array[IEncodable] = map_2(encode_single, map_2(mapping, split(author_list, ["\t" if (author_list.find("\t") >= 0) else (";" if (author_list.find(";") >= 0) else ",")], None, 0), None), None)
482
+ class ObjectExpr3073(IEncodable):
483
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any], author_list: Any=author_list) -> Any:
484
+ def mapping_3(v_3: IEncodable) -> __A_:
485
+ return v_3.Encode(helpers_3)
486
+
487
+ arg_1: Array[__A_] = map_2(mapping_3, values_2, None)
488
+ return helpers_3.encode_array(arg_1)
489
+
490
+ return ObjectExpr3073()
491
+
492
+
493
+ def ctor(v: Array[str]) -> str:
494
+ return join(", ", v)
495
+
496
+
497
+ def _arrow3078(get: IGetters) -> str:
498
+ def _arrow3077(__unit: None=None) -> str | None:
499
+ object_arg: IOptionalGetter = get.Optional
500
+ return object_arg.Field("name", string)
501
+
502
+ return default_arg(_arrow3077(), "")
503
+
504
+
505
+ ROCrate_decodeAuthorListString: Decoder_1[str] = map_3(ctor, array_3(object(_arrow3078)))
506
+
507
+ ISAJson_allowedFields: FSharpList[str] = of_array(["@id", "firstName", "lastName", "midInitials", "email", "phone", "fax", "address", "affiliation", "roles", "comments", "@type", "@context"])
508
+
509
+ def ISAJson_encoder(id_map: Any | None, person: Person) -> IEncodable:
510
+ def f(person_1: Person, id_map: Any=id_map, person: Any=person) -> IEncodable:
511
+ person_2: Person = Person_setCommentFromORCID(person_1)
512
+ def chooser(tupled_arg: tuple[str, IEncodable | None], person_1: Any=person_1) -> tuple[str, IEncodable] | None:
513
+ def mapping(v_1: IEncodable, tupled_arg: Any=tupled_arg) -> tuple[str, IEncodable]:
514
+ return (tupled_arg[0], v_1)
515
+
516
+ return map(mapping, tupled_arg[1])
517
+
518
+ def _arrow3082(value: str, person_1: Any=person_1) -> IEncodable:
519
+ class ObjectExpr3081(IEncodable):
520
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
521
+ return helpers.encode_string(value)
522
+
523
+ return ObjectExpr3081()
524
+
525
+ def _arrow3084(value_2: str, person_1: Any=person_1) -> IEncodable:
526
+ class ObjectExpr3083(IEncodable):
527
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
528
+ return helpers_1.encode_string(value_2)
529
+
530
+ return ObjectExpr3083()
531
+
532
+ def _arrow3086(value_4: str, person_1: Any=person_1) -> IEncodable:
533
+ class ObjectExpr3085(IEncodable):
534
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any]) -> Any:
535
+ return helpers_2.encode_string(value_4)
536
+
537
+ return ObjectExpr3085()
538
+
539
+ def _arrow3088(value_6: str, person_1: Any=person_1) -> IEncodable:
540
+ class ObjectExpr3087(IEncodable):
541
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
542
+ return helpers_3.encode_string(value_6)
543
+
544
+ return ObjectExpr3087()
545
+
546
+ def _arrow3090(value_8: str, person_1: Any=person_1) -> IEncodable:
547
+ class ObjectExpr3089(IEncodable):
548
+ def Encode(self, helpers_4: IEncoderHelpers_1[Any]) -> Any:
549
+ return helpers_4.encode_string(value_8)
550
+
551
+ return ObjectExpr3089()
552
+
553
+ def _arrow3092(value_10: str, person_1: Any=person_1) -> IEncodable:
554
+ class ObjectExpr3091(IEncodable):
555
+ def Encode(self, helpers_5: IEncoderHelpers_1[Any]) -> Any:
556
+ return helpers_5.encode_string(value_10)
557
+
558
+ return ObjectExpr3091()
559
+
560
+ def _arrow3094(value_12: str, person_1: Any=person_1) -> IEncodable:
561
+ class ObjectExpr3093(IEncodable):
562
+ def Encode(self, helpers_6: IEncoderHelpers_1[Any]) -> Any:
563
+ return helpers_6.encode_string(value_12)
564
+
565
+ return ObjectExpr3093()
566
+
567
+ def _arrow3096(value_14: str, person_1: Any=person_1) -> IEncodable:
568
+ class ObjectExpr3095(IEncodable):
569
+ def Encode(self, helpers_7: IEncoderHelpers_1[Any]) -> Any:
570
+ return helpers_7.encode_string(value_14)
571
+
572
+ return ObjectExpr3095()
573
+
574
+ def _arrow3098(value_16: str, person_1: Any=person_1) -> IEncodable:
575
+ class ObjectExpr3097(IEncodable):
576
+ def Encode(self, helpers_8: IEncoderHelpers_1[Any]) -> Any:
577
+ return helpers_8.encode_string(value_16)
578
+
579
+ return ObjectExpr3097()
580
+
581
+ def _arrow3099(oa: OntologyAnnotation, person_1: Any=person_1) -> IEncodable:
582
+ return OntologyAnnotation_encoder(oa)
583
+
584
+ def _arrow3100(comment: Comment, person_1: Any=person_1) -> IEncodable:
585
+ return encoder_1(comment)
586
+
587
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([try_include("@id", _arrow3082, ROCrate_genID(person_2)), try_include("firstName", _arrow3084, person_2.FirstName), try_include("lastName", _arrow3086, person_2.LastName), try_include("midInitials", _arrow3088, person_2.MidInitials), try_include("email", _arrow3090, person_2.EMail), try_include("phone", _arrow3092, person_2.Phone), try_include("fax", _arrow3094, person_2.Fax), try_include("address", _arrow3096, person_2.Address), try_include("affiliation", _arrow3098, person_2.Affiliation), try_include_seq("roles", _arrow3099, person_2.Roles), try_include_seq("comments", _arrow3100, person_2.Comments)]))
588
+ class ObjectExpr3101(IEncodable):
589
+ def Encode(self, helpers_9: IEncoderHelpers_1[Any], person_1: Any=person_1) -> Any:
590
+ def mapping_1(tupled_arg_1: tuple[str, IEncodable]) -> tuple[str, __A_]:
591
+ return (tupled_arg_1[0], tupled_arg_1[1].Encode(helpers_9))
592
+
593
+ arg: IEnumerable_1[tuple[str, __A_]] = map_1(mapping_1, values)
594
+ return helpers_9.encode_object(arg)
595
+
596
+ return ObjectExpr3101()
597
+
598
+ if id_map is not None:
599
+ def _arrow3102(p_1: Person, id_map: Any=id_map, person: Any=person) -> str:
600
+ return ROCrate_genID(p_1)
601
+
602
+ return encode(_arrow3102, f, person, id_map)
603
+
604
+ else:
605
+ return f(person)
606
+
607
+
608
+
609
+ def _arrow3113(get: IGetters) -> Person:
610
+ def _arrow3103(__unit: None=None) -> str | None:
611
+ object_arg: IOptionalGetter = get.Optional
612
+ return object_arg.Field("lastName", string)
613
+
614
+ def _arrow3104(__unit: None=None) -> str | None:
615
+ object_arg_1: IOptionalGetter = get.Optional
616
+ return object_arg_1.Field("firstName", string)
617
+
618
+ def _arrow3105(__unit: None=None) -> str | None:
619
+ object_arg_2: IOptionalGetter = get.Optional
620
+ return object_arg_2.Field("midInitials", string)
621
+
622
+ def _arrow3106(__unit: None=None) -> str | None:
623
+ object_arg_3: IOptionalGetter = get.Optional
624
+ return object_arg_3.Field("email", string)
625
+
626
+ def _arrow3107(__unit: None=None) -> str | None:
627
+ object_arg_4: IOptionalGetter = get.Optional
628
+ return object_arg_4.Field("phone", string)
629
+
630
+ def _arrow3108(__unit: None=None) -> str | None:
631
+ object_arg_5: IOptionalGetter = get.Optional
632
+ return object_arg_5.Field("fax", string)
633
+
634
+ def _arrow3109(__unit: None=None) -> str | None:
635
+ object_arg_6: IOptionalGetter = get.Optional
636
+ return object_arg_6.Field("address", string)
637
+
638
+ def _arrow3110(__unit: None=None) -> str | None:
639
+ object_arg_7: IOptionalGetter = get.Optional
640
+ return object_arg_7.Field("affiliation", string)
641
+
642
+ def _arrow3111(__unit: None=None) -> Array[OntologyAnnotation] | None:
643
+ arg_17: Decoder_1[Array[OntologyAnnotation]] = resize_array(OntologyAnnotation_decoder)
644
+ object_arg_8: IOptionalGetter = get.Optional
645
+ return object_arg_8.Field("roles", arg_17)
646
+
647
+ def _arrow3112(__unit: None=None) -> Array[Comment] | None:
648
+ arg_19: Decoder_1[Array[Comment]] = resize_array(decoder_1)
649
+ object_arg_9: IOptionalGetter = get.Optional
650
+ return object_arg_9.Field("comments", arg_19)
651
+
652
+ return Person_setOrcidFromComments(Person(None, _arrow3103(), _arrow3104(), _arrow3105(), _arrow3106(), _arrow3107(), _arrow3108(), _arrow3109(), _arrow3110(), _arrow3111(), _arrow3112()))
653
+
654
+
655
+ ISAJson_decoder: Decoder_1[Person] = Decode_objectNoAdditionalProperties(ISAJson_allowedFields, _arrow3113)
656
+
657
+ __all__ = ["encoder", "decoder", "ROCrate_genID", "ROCrate_Affiliation_encoder", "ROCrate_Affiliation_decoder", "ROCrate_encoder", "ROCrate_decoder", "ROCrate_encodeAuthorListString", "ROCrate_decodeAuthorListString", "ISAJson_allowedFields", "ISAJson_encoder", "ISAJson_decoder"]
658
+