arctrl 3.0.0a3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. arctrl/__init__.py +18 -0
  2. arctrl/py/CWL/__init__.py +0 -0
  3. arctrl/py/CWL/cwltypes.py +150 -0
  4. arctrl/py/CWL/decode.py +973 -0
  5. arctrl/py/CWL/encode.py +1 -0
  6. arctrl/py/CWL/inputs.py +88 -0
  7. arctrl/py/CWL/outputs.py +85 -0
  8. arctrl/py/CWL/requirements.py +77 -0
  9. arctrl/py/CWL/tool_description.py +103 -0
  10. arctrl/py/CWL/workflow_description.py +104 -0
  11. arctrl/py/CWL/workflow_steps.py +113 -0
  12. arctrl/py/Contract/__init__.py +0 -0
  13. arctrl/py/Contract/arc.py +60 -0
  14. arctrl/py/Contract/arc_assay.py +125 -0
  15. arctrl/py/Contract/arc_investigation.py +88 -0
  16. arctrl/py/Contract/arc_run.py +125 -0
  17. arctrl/py/Contract/arc_study.py +126 -0
  18. arctrl/py/Contract/arc_workflow.py +125 -0
  19. arctrl/py/Contract/contract.py +153 -0
  20. arctrl/py/Contract/datamap.py +372 -0
  21. arctrl/py/Contract/git.py +118 -0
  22. arctrl/py/Contract/validation_packages_config.py +107 -0
  23. arctrl/py/ContractIO/__init__.py +0 -0
  24. arctrl/py/ContractIO/contract_io.py +344 -0
  25. arctrl/py/ContractIO/file_system_helper.py +264 -0
  26. arctrl/py/Core/Helper/__init__.py +0 -0
  27. arctrl/py/Core/Helper/collections_.py +438 -0
  28. arctrl/py/Core/Helper/date_time.py +26 -0
  29. arctrl/py/Core/Helper/hash_codes.py +60 -0
  30. arctrl/py/Core/Helper/identifier.py +248 -0
  31. arctrl/py/Core/Helper/orcid.py +42 -0
  32. arctrl/py/Core/Helper/printer.py +13 -0
  33. arctrl/py/Core/Helper/regex.py +554 -0
  34. arctrl/py/Core/Helper/sem_ver.py +71 -0
  35. arctrl/py/Core/Helper/url.py +148 -0
  36. arctrl/py/Core/Process/__init__.py +0 -0
  37. arctrl/py/Core/Process/column_index.py +280 -0
  38. arctrl/py/Core/Process/component.py +200 -0
  39. arctrl/py/Core/Process/factor.py +151 -0
  40. arctrl/py/Core/Process/factor_value.py +182 -0
  41. arctrl/py/Core/Process/material.py +74 -0
  42. arctrl/py/Core/Process/material_attribute.py +95 -0
  43. arctrl/py/Core/Process/material_attribute_value.py +184 -0
  44. arctrl/py/Core/Process/material_type.py +45 -0
  45. arctrl/py/Core/Process/process.py +477 -0
  46. arctrl/py/Core/Process/process_input.py +265 -0
  47. arctrl/py/Core/Process/process_output.py +235 -0
  48. arctrl/py/Core/Process/process_parameter_value.py +200 -0
  49. arctrl/py/Core/Process/process_sequence.py +435 -0
  50. arctrl/py/Core/Process/protocol.py +175 -0
  51. arctrl/py/Core/Process/protocol_parameter.py +98 -0
  52. arctrl/py/Core/Process/sample.py +82 -0
  53. arctrl/py/Core/Process/source.py +62 -0
  54. arctrl/py/Core/Table/__init__.py +0 -0
  55. arctrl/py/Core/Table/arc_table.py +1264 -0
  56. arctrl/py/Core/Table/arc_table_aux.py +575 -0
  57. arctrl/py/Core/Table/arc_tables.py +591 -0
  58. arctrl/py/Core/Table/composite_cell.py +319 -0
  59. arctrl/py/Core/Table/composite_column.py +73 -0
  60. arctrl/py/Core/Table/composite_header.py +739 -0
  61. arctrl/py/Core/__init__.py +0 -0
  62. arctrl/py/Core/arc_types.py +5064 -0
  63. arctrl/py/Core/comment.py +128 -0
  64. arctrl/py/Core/comment_list.py +127 -0
  65. arctrl/py/Core/conversion.py +1313 -0
  66. arctrl/py/Core/data.py +245 -0
  67. arctrl/py/Core/data_context.py +157 -0
  68. arctrl/py/Core/data_file.py +112 -0
  69. arctrl/py/Core/data_map.py +225 -0
  70. arctrl/py/Core/identifier_setters.py +31 -0
  71. arctrl/py/Core/iproperty_value.py +36 -0
  72. arctrl/py/Core/ontology_annotation.py +299 -0
  73. arctrl/py/Core/ontology_source_reference.py +114 -0
  74. arctrl/py/Core/person.py +259 -0
  75. arctrl/py/Core/publication.py +161 -0
  76. arctrl/py/Core/template.py +231 -0
  77. arctrl/py/Core/templates.py +148 -0
  78. arctrl/py/Core/uri.py +11 -0
  79. arctrl/py/Core/value.py +188 -0
  80. arctrl/py/FileSystem/__init__.py +0 -0
  81. arctrl/py/FileSystem/commit.py +21 -0
  82. arctrl/py/FileSystem/default_gitattributes.py +5 -0
  83. arctrl/py/FileSystem/default_gitignore.py +5 -0
  84. arctrl/py/FileSystem/file_system.py +58 -0
  85. arctrl/py/FileSystem/file_system_tree.py +426 -0
  86. arctrl/py/FileSystem/path.py +64 -0
  87. arctrl/py/Json/DataMap/__init__.py +0 -0
  88. arctrl/py/Json/DataMap/data_context.py +101 -0
  89. arctrl/py/Json/DataMap/data_map.py +53 -0
  90. arctrl/py/Json/Process/__init__.py +0 -0
  91. arctrl/py/Json/Process/assay_materials.py +46 -0
  92. arctrl/py/Json/Process/component.py +79 -0
  93. arctrl/py/Json/Process/factor.py +107 -0
  94. arctrl/py/Json/Process/factor_value.py +101 -0
  95. arctrl/py/Json/Process/material.py +226 -0
  96. arctrl/py/Json/Process/material_attribute.py +79 -0
  97. arctrl/py/Json/Process/material_attribute_value.py +101 -0
  98. arctrl/py/Json/Process/material_type.py +53 -0
  99. arctrl/py/Json/Process/process.py +296 -0
  100. arctrl/py/Json/Process/process_input.py +83 -0
  101. arctrl/py/Json/Process/process_output.py +67 -0
  102. arctrl/py/Json/Process/process_parameter_value.py +81 -0
  103. arctrl/py/Json/Process/protocol.py +354 -0
  104. arctrl/py/Json/Process/protocol_parameter.py +79 -0
  105. arctrl/py/Json/Process/sample.py +277 -0
  106. arctrl/py/Json/Process/source.py +214 -0
  107. arctrl/py/Json/Process/study_materials.py +52 -0
  108. arctrl/py/Json/Process/value.py +56 -0
  109. arctrl/py/Json/ROCrate/__init__.py +0 -0
  110. arctrl/py/Json/ROCrate/ldcontext.py +133 -0
  111. arctrl/py/Json/ROCrate/ldgraph.py +111 -0
  112. arctrl/py/Json/ROCrate/ldnode.py +290 -0
  113. arctrl/py/Json/ROCrate/ldref.py +44 -0
  114. arctrl/py/Json/ROCrate/ldvalue.py +102 -0
  115. arctrl/py/Json/Table/__init__.py +0 -0
  116. arctrl/py/Json/Table/arc_table.py +393 -0
  117. arctrl/py/Json/Table/cell_table.py +83 -0
  118. arctrl/py/Json/Table/composite_cell.py +136 -0
  119. arctrl/py/Json/Table/composite_header.py +67 -0
  120. arctrl/py/Json/Table/iotype.py +24 -0
  121. arctrl/py/Json/Table/oatable.py +82 -0
  122. arctrl/py/Json/Table/templates.py +281 -0
  123. arctrl/py/Json/__init__.py +0 -0
  124. arctrl/py/Json/assay.py +600 -0
  125. arctrl/py/Json/comment.py +206 -0
  126. arctrl/py/Json/context/rocrate/__init__.py +0 -0
  127. arctrl/py/Json/context/rocrate/isa_assay_context.py +101 -0
  128. arctrl/py/Json/context/rocrate/isa_comment_context.py +60 -0
  129. arctrl/py/Json/context/rocrate/isa_component_context.py +77 -0
  130. arctrl/py/Json/context/rocrate/isa_data_context.py +74 -0
  131. arctrl/py/Json/context/rocrate/isa_factor_context.py +74 -0
  132. arctrl/py/Json/context/rocrate/isa_factor_value_context.py +84 -0
  133. arctrl/py/Json/context/rocrate/isa_investigation_context.py +110 -0
  134. arctrl/py/Json/context/rocrate/isa_material_attribute_context.py +64 -0
  135. arctrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +80 -0
  136. arctrl/py/Json/context/rocrate/isa_material_context.py +71 -0
  137. arctrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +68 -0
  138. arctrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +75 -0
  139. arctrl/py/Json/context/rocrate/isa_organization_context.py +55 -0
  140. arctrl/py/Json/context/rocrate/isa_person_context.py +131 -0
  141. arctrl/py/Json/context/rocrate/isa_process_context.py +94 -0
  142. arctrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +80 -0
  143. arctrl/py/Json/context/rocrate/isa_protocol_context.py +97 -0
  144. arctrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +64 -0
  145. arctrl/py/Json/context/rocrate/isa_publication_context.py +78 -0
  146. arctrl/py/Json/context/rocrate/isa_sample_context.py +65 -0
  147. arctrl/py/Json/context/rocrate/isa_source_context.py +66 -0
  148. arctrl/py/Json/context/rocrate/isa_study_context.py +125 -0
  149. arctrl/py/Json/context/rocrate/property_value_context.py +73 -0
  150. arctrl/py/Json/context/rocrate/rocrate_context.py +81 -0
  151. arctrl/py/Json/converter_options.py +23 -0
  152. arctrl/py/Json/data.py +356 -0
  153. arctrl/py/Json/data_file.py +63 -0
  154. arctrl/py/Json/decode.py +155 -0
  155. arctrl/py/Json/encode.py +92 -0
  156. arctrl/py/Json/idtable.py +44 -0
  157. arctrl/py/Json/investigation.py +695 -0
  158. arctrl/py/Json/ontology_annotation.py +404 -0
  159. arctrl/py/Json/ontology_source_reference.py +255 -0
  160. arctrl/py/Json/person.py +658 -0
  161. arctrl/py/Json/property_value.py +359 -0
  162. arctrl/py/Json/publication.py +279 -0
  163. arctrl/py/Json/string_table.py +76 -0
  164. arctrl/py/Json/study.py +793 -0
  165. arctrl/py/JsonIO/DataMap/__init__.py +0 -0
  166. arctrl/py/JsonIO/DataMap/data_map.py +53 -0
  167. arctrl/py/JsonIO/Process/__init__.py +0 -0
  168. arctrl/py/JsonIO/Process/component.py +60 -0
  169. arctrl/py/JsonIO/Process/factor.py +36 -0
  170. arctrl/py/JsonIO/Process/factor_value.py +38 -0
  171. arctrl/py/JsonIO/Process/material.py +60 -0
  172. arctrl/py/JsonIO/Process/material_attribute.py +38 -0
  173. arctrl/py/JsonIO/Process/material_attribute_value.py +60 -0
  174. arctrl/py/JsonIO/Process/material_type.py +36 -0
  175. arctrl/py/JsonIO/Process/process.py +60 -0
  176. arctrl/py/JsonIO/Process/process_input.py +38 -0
  177. arctrl/py/JsonIO/Process/process_output.py +60 -0
  178. arctrl/py/JsonIO/Process/process_parameter_value.py +60 -0
  179. arctrl/py/JsonIO/Process/process_sequence.py +71 -0
  180. arctrl/py/JsonIO/Process/protocol.py +60 -0
  181. arctrl/py/JsonIO/Process/protocol_parameter.py +36 -0
  182. arctrl/py/JsonIO/Process/sample.py +60 -0
  183. arctrl/py/JsonIO/Process/source.py +60 -0
  184. arctrl/py/JsonIO/Process/study_materials.py +52 -0
  185. arctrl/py/JsonIO/Process/value.py +32 -0
  186. arctrl/py/JsonIO/Table/__init__.py +0 -0
  187. arctrl/py/JsonIO/Table/arc_table.py +121 -0
  188. arctrl/py/JsonIO/Table/composite_cell.py +36 -0
  189. arctrl/py/JsonIO/Table/composite_header.py +36 -0
  190. arctrl/py/JsonIO/Table/compression.py +85 -0
  191. arctrl/py/JsonIO/Table/iotype.py +36 -0
  192. arctrl/py/JsonIO/Table/templates.py +113 -0
  193. arctrl/py/JsonIO/__init__.py +0 -0
  194. arctrl/py/JsonIO/assay.py +113 -0
  195. arctrl/py/JsonIO/comment.py +80 -0
  196. arctrl/py/JsonIO/data.py +60 -0
  197. arctrl/py/JsonIO/data_file.py +58 -0
  198. arctrl/py/JsonIO/decode.py +9 -0
  199. arctrl/py/JsonIO/encode.py +1 -0
  200. arctrl/py/JsonIO/investigation.py +113 -0
  201. arctrl/py/JsonIO/ldobject.py +106 -0
  202. arctrl/py/JsonIO/ontology_annotation.py +80 -0
  203. arctrl/py/JsonIO/ontology_source_reference.py +80 -0
  204. arctrl/py/JsonIO/person.py +82 -0
  205. arctrl/py/JsonIO/publication.py +82 -0
  206. arctrl/py/JsonIO/study.py +114 -0
  207. arctrl/py/ROCrate/Generic/__init__.py +0 -0
  208. arctrl/py/ROCrate/Generic/comment.py +131 -0
  209. arctrl/py/ROCrate/Generic/dataset.py +817 -0
  210. arctrl/py/ROCrate/Generic/defined_term.py +131 -0
  211. arctrl/py/ROCrate/Generic/file.py +237 -0
  212. arctrl/py/ROCrate/Generic/lab_process.py +324 -0
  213. arctrl/py/ROCrate/Generic/lab_protocol.py +338 -0
  214. arctrl/py/ROCrate/Generic/organization.py +83 -0
  215. arctrl/py/ROCrate/Generic/person.py +484 -0
  216. arctrl/py/ROCrate/Generic/postal_address.py +195 -0
  217. arctrl/py/ROCrate/Generic/property_value.py +696 -0
  218. arctrl/py/ROCrate/Generic/sample.py +202 -0
  219. arctrl/py/ROCrate/Generic/scholarly_article.py +229 -0
  220. arctrl/py/ROCrate/ISAProfile/__init__.py +0 -0
  221. arctrl/py/ROCrate/ISAProfile/assay.py +70 -0
  222. arctrl/py/ROCrate/ISAProfile/data.py +65 -0
  223. arctrl/py/ROCrate/ISAProfile/dataset.py +24 -0
  224. arctrl/py/ROCrate/ISAProfile/investigation.py +73 -0
  225. arctrl/py/ROCrate/ISAProfile/lab_process.py +162 -0
  226. arctrl/py/ROCrate/ISAProfile/lab_protocol.py +37 -0
  227. arctrl/py/ROCrate/ISAProfile/person.py +72 -0
  228. arctrl/py/ROCrate/ISAProfile/property_value.py +98 -0
  229. arctrl/py/ROCrate/ISAProfile/sample.py +64 -0
  230. arctrl/py/ROCrate/ISAProfile/scholarly_article.py +98 -0
  231. arctrl/py/ROCrate/ISAProfile/study.py +74 -0
  232. arctrl/py/ROCrate/__init__.py +0 -0
  233. arctrl/py/ROCrate/arc_rocrate_metadata.py +39 -0
  234. arctrl/py/ROCrate/dyn_obj_extensions.py +1 -0
  235. arctrl/py/ROCrate/helper.py +8 -0
  236. arctrl/py/ROCrate/ldcontext.py +362 -0
  237. arctrl/py/ROCrate/ldobject.py +1247 -0
  238. arctrl/py/ROCrate/rocrate_context.py +51 -0
  239. arctrl/py/Spreadsheet/AnnotationTable/__init__.py +0 -0
  240. arctrl/py/Spreadsheet/AnnotationTable/arc_table.py +193 -0
  241. arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
  242. arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +210 -0
  243. arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
  244. arctrl/py/Spreadsheet/DataMapTable/__init__.py +0 -0
  245. arctrl/py/Spreadsheet/DataMapTable/data_map_column.py +114 -0
  246. arctrl/py/Spreadsheet/DataMapTable/data_map_header.py +618 -0
  247. arctrl/py/Spreadsheet/DataMapTable/data_map_table.py +119 -0
  248. arctrl/py/Spreadsheet/Metadata/__init__.py +0 -0
  249. arctrl/py/Spreadsheet/Metadata/assays.py +125 -0
  250. arctrl/py/Spreadsheet/Metadata/comment.py +77 -0
  251. arctrl/py/Spreadsheet/Metadata/contacts.py +134 -0
  252. arctrl/py/Spreadsheet/Metadata/conversions.py +190 -0
  253. arctrl/py/Spreadsheet/Metadata/design_descriptors.py +34 -0
  254. arctrl/py/Spreadsheet/Metadata/factors.py +107 -0
  255. arctrl/py/Spreadsheet/Metadata/ontology_annotation.py +88 -0
  256. arctrl/py/Spreadsheet/Metadata/ontology_source_reference.py +96 -0
  257. arctrl/py/Spreadsheet/Metadata/protocols.py +146 -0
  258. arctrl/py/Spreadsheet/Metadata/publication.py +122 -0
  259. arctrl/py/Spreadsheet/Metadata/run.py +122 -0
  260. arctrl/py/Spreadsheet/Metadata/sparse_table.py +508 -0
  261. arctrl/py/Spreadsheet/Metadata/study.py +312 -0
  262. arctrl/py/Spreadsheet/Metadata/workflow.py +151 -0
  263. arctrl/py/Spreadsheet/__init__.py +0 -0
  264. arctrl/py/Spreadsheet/arc_assay.py +233 -0
  265. arctrl/py/Spreadsheet/arc_investigation.py +418 -0
  266. arctrl/py/Spreadsheet/arc_run.py +190 -0
  267. arctrl/py/Spreadsheet/arc_study.py +144 -0
  268. arctrl/py/Spreadsheet/arc_workflow.py +176 -0
  269. arctrl/py/Spreadsheet/assembly_info.py +1 -0
  270. arctrl/py/Spreadsheet/collection_aux.py +167 -0
  271. arctrl/py/Spreadsheet/data_map.py +44 -0
  272. arctrl/py/Spreadsheet/template.py +460 -0
  273. arctrl/py/ValidationPackages/__init__.py +0 -0
  274. arctrl/py/ValidationPackages/validation_package.py +82 -0
  275. arctrl/py/ValidationPackages/validation_packages_config.py +132 -0
  276. arctrl/py/WebRequest/__init__.py +0 -0
  277. arctrl/py/WebRequest/web_request.py +9 -0
  278. arctrl/py/WebRequest/web_request_py.py +135 -0
  279. arctrl/py/Yaml/__init__.py +0 -0
  280. arctrl/py/Yaml/decode.py +1 -0
  281. arctrl/py/Yaml/encode.py +10 -0
  282. arctrl/py/Yaml/validation_package.py +77 -0
  283. arctrl/py/Yaml/validation_packages_config.py +86 -0
  284. arctrl/py/__init__.py +0 -0
  285. arctrl/py/arc.py +1400 -0
  286. arctrl/py/column_index.py +280 -0
  287. arctrl/py/conversion.py +2184 -0
  288. arctrl/py/cross_async.py +76 -0
  289. arctrl/py/fable_modules/dynamic_obj/__init__.py +0 -0
  290. arctrl/py/fable_modules/dynamic_obj/dyn_obj.py +136 -0
  291. arctrl/py/fable_modules/dynamic_obj/dynamic_obj.py +415 -0
  292. arctrl/py/fable_modules/dynamic_obj/fable_js.py +1 -0
  293. arctrl/py/fable_modules/dynamic_obj/fable_py.py +288 -0
  294. arctrl/py/fable_modules/dynamic_obj/hash_codes.py +82 -0
  295. arctrl/py/fable_modules/dynamic_obj/property_helper.py +25 -0
  296. arctrl/py/fable_modules/dynamic_obj/reflection_utils.py +87 -0
  297. arctrl/py/fable_modules/fable_library/__init__.py +0 -0
  298. arctrl/py/fable_modules/fable_library/array_.py +1528 -0
  299. arctrl/py/fable_modules/fable_library/async_.py +377 -0
  300. arctrl/py/fable_modules/fable_library/async_builder.py +379 -0
  301. arctrl/py/fable_modules/fable_library/big_int.py +330 -0
  302. arctrl/py/fable_modules/fable_library/bit_converter.py +131 -0
  303. arctrl/py/fable_modules/fable_library/boolean.py +26 -0
  304. arctrl/py/fable_modules/fable_library/char.py +237 -0
  305. arctrl/py/fable_modules/fable_library/choice.py +212 -0
  306. arctrl/py/fable_modules/fable_library/date.py +779 -0
  307. arctrl/py/fable_modules/fable_library/date_offset.py +79 -0
  308. arctrl/py/fable_modules/fable_library/decimal_.py +190 -0
  309. arctrl/py/fable_modules/fable_library/diagnostics.py +54 -0
  310. arctrl/py/fable_modules/fable_library/double.py +87 -0
  311. arctrl/py/fable_modules/fable_library/encoding.py +41 -0
  312. arctrl/py/fable_modules/fable_library/event.py +206 -0
  313. arctrl/py/fable_modules/fable_library/file.py +107 -0
  314. arctrl/py/fable_modules/fable_library/fsharp_collections.py +52 -0
  315. arctrl/py/fable_modules/fable_library/fsharp_core.py +123 -0
  316. arctrl/py/fable_modules/fable_library/global_.py +63 -0
  317. arctrl/py/fable_modules/fable_library/guid.py +41 -0
  318. arctrl/py/fable_modules/fable_library/int32.py +73 -0
  319. arctrl/py/fable_modules/fable_library/list.py +1788 -0
  320. arctrl/py/fable_modules/fable_library/long.py +240 -0
  321. arctrl/py/fable_modules/fable_library/mailbox_processor.py +179 -0
  322. arctrl/py/fable_modules/fable_library/map.py +1854 -0
  323. arctrl/py/fable_modules/fable_library/map_util.py +148 -0
  324. arctrl/py/fable_modules/fable_library/mutable_map.py +397 -0
  325. arctrl/py/fable_modules/fable_library/mutable_set.py +279 -0
  326. arctrl/py/fable_modules/fable_library/native.py +45 -0
  327. arctrl/py/fable_modules/fable_library/numeric.py +46 -0
  328. arctrl/py/fable_modules/fable_library/observable.py +222 -0
  329. arctrl/py/fable_modules/fable_library/option.py +128 -0
  330. arctrl/py/fable_modules/fable_library/path.py +62 -0
  331. arctrl/py/fable_modules/fable_library/range.py +117 -0
  332. arctrl/py/fable_modules/fable_library/reflection.py +463 -0
  333. arctrl/py/fable_modules/fable_library/reg_exp.py +137 -0
  334. arctrl/py/fable_modules/fable_library/resize_array.py +31 -0
  335. arctrl/py/fable_modules/fable_library/result.py +212 -0
  336. arctrl/py/fable_modules/fable_library/seq.py +1979 -0
  337. arctrl/py/fable_modules/fable_library/seq2.py +221 -0
  338. arctrl/py/fable_modules/fable_library/set.py +2414 -0
  339. arctrl/py/fable_modules/fable_library/singleton_local_time_zone.py +36 -0
  340. arctrl/py/fable_modules/fable_library/string_.py +573 -0
  341. arctrl/py/fable_modules/fable_library/system_collections_generic.py +462 -0
  342. arctrl/py/fable_modules/fable_library/system_text.py +237 -0
  343. arctrl/py/fable_modules/fable_library/task.py +116 -0
  344. arctrl/py/fable_modules/fable_library/task_builder.py +122 -0
  345. arctrl/py/fable_modules/fable_library/thread.py +5 -0
  346. arctrl/py/fable_modules/fable_library/time_span.py +283 -0
  347. arctrl/py/fable_modules/fable_library/timer.py +24 -0
  348. arctrl/py/fable_modules/fable_library/types.py +401 -0
  349. arctrl/py/fable_modules/fable_library/uri.py +109 -0
  350. arctrl/py/fable_modules/fable_library/util.py +2735 -0
  351. arctrl/py/fable_modules/fable_openpyxl/__init__.py +0 -0
  352. arctrl/py/fable_modules/fable_openpyxl/openpyxl.py +362 -0
  353. arctrl/py/fable_modules/fable_python/cognite-sdk/__init__.py +0 -0
  354. arctrl/py/fable_modules/fable_python/cognite-sdk/cognite_sdk.py +22 -0
  355. arctrl/py/fable_modules/fable_python/flask/__init__.py +0 -0
  356. arctrl/py/fable_modules/fable_python/flask/flask.py +34 -0
  357. arctrl/py/fable_modules/fable_python/jupyter/__init__.py +0 -0
  358. arctrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +47 -0
  359. arctrl/py/fable_modules/fable_python/jupyter/ipython.py +13 -0
  360. arctrl/py/fable_modules/fable_python/stdlib/__init__.py +0 -0
  361. arctrl/py/fable_modules/fable_python/stdlib/ast.py +1 -0
  362. arctrl/py/fable_modules/fable_python/stdlib/asyncio/__init__.py +0 -0
  363. arctrl/py/fable_modules/fable_python/stdlib/asyncio/events.py +17 -0
  364. arctrl/py/fable_modules/fable_python/stdlib/asyncio/futures.py +52 -0
  365. arctrl/py/fable_modules/fable_python/stdlib/asyncio/tasks.py +38 -0
  366. arctrl/py/fable_modules/fable_python/stdlib/base64_.py +1 -0
  367. arctrl/py/fable_modules/fable_python/stdlib/builtins_.py +38 -0
  368. arctrl/py/fable_modules/fable_python/stdlib/html.py +1 -0
  369. arctrl/py/fable_modules/fable_python/stdlib/json.py +1 -0
  370. arctrl/py/fable_modules/fable_python/stdlib/math_.py +1 -0
  371. arctrl/py/fable_modules/fable_python/stdlib/os_.py +1 -0
  372. arctrl/py/fable_modules/fable_python/stdlib/queue_.py +1 -0
  373. arctrl/py/fable_modules/fable_python/stdlib/string_.py +1 -0
  374. arctrl/py/fable_modules/fable_python/stdlib/sys_.py +30 -0
  375. arctrl/py/fable_modules/fable_python/stdlib/time_.py +1 -0
  376. arctrl/py/fable_modules/fable_python/stdlib/tk_inter.py +1 -0
  377. arctrl/py/fable_modules/fs_spreadsheet/Cells/__init__.py +0 -0
  378. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +338 -0
  379. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +469 -0
  380. arctrl/py/fable_modules/fs_spreadsheet/DSL/__init__.py +0 -0
  381. arctrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +214 -0
  382. arctrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +139 -0
  383. arctrl/py/fable_modules/fs_spreadsheet/DSL/dsl.py +50 -0
  384. arctrl/py/fable_modules/fs_spreadsheet/DSL/expression.py +65 -0
  385. arctrl/py/fable_modules/fs_spreadsheet/DSL/operators.py +9 -0
  386. arctrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +139 -0
  387. arctrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +118 -0
  388. arctrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +122 -0
  389. arctrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +464 -0
  390. arctrl/py/fable_modules/fs_spreadsheet/DSL/types.py +314 -0
  391. arctrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +106 -0
  392. arctrl/py/fable_modules/fs_spreadsheet/Json/__init__.py +0 -0
  393. arctrl/py/fable_modules/fs_spreadsheet/Json/cell.py +103 -0
  394. arctrl/py/fable_modules/fs_spreadsheet/Json/column.py +70 -0
  395. arctrl/py/fable_modules/fs_spreadsheet/Json/row.py +70 -0
  396. arctrl/py/fable_modules/fs_spreadsheet/Json/table.py +57 -0
  397. arctrl/py/fable_modules/fs_spreadsheet/Json/value.py +93 -0
  398. arctrl/py/fable_modules/fs_spreadsheet/Json/workbook.py +71 -0
  399. arctrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +217 -0
  400. arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
  401. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +47 -0
  402. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +186 -0
  403. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +90 -0
  404. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +78 -0
  405. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +48 -0
  406. arctrl/py/fable_modules/fs_spreadsheet/Tables/__init__.py +0 -0
  407. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +393 -0
  408. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +127 -0
  409. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_row.py +23 -0
  410. arctrl/py/fable_modules/fs_spreadsheet/__init__.py +0 -0
  411. arctrl/py/fable_modules/fs_spreadsheet/fs_address.py +218 -0
  412. arctrl/py/fable_modules/fs_spreadsheet/fs_column.py +172 -0
  413. arctrl/py/fable_modules/fs_spreadsheet/fs_row.py +183 -0
  414. arctrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +180 -0
  415. arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +600 -0
  416. arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +330 -0
  417. arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
  418. arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +63 -0
  419. arctrl/py/fable_modules/fs_spreadsheet_py/cell_type.py +50 -0
  420. arctrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +60 -0
  421. arctrl/py/fable_modules/fs_spreadsheet_py/json.py +47 -0
  422. arctrl/py/fable_modules/fs_spreadsheet_py/table.py +53 -0
  423. arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +40 -0
  424. arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +54 -0
  425. arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
  426. arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
  427. arctrl/py/fable_modules/thoth_json_core/decode.py +1588 -0
  428. arctrl/py/fable_modules/thoth_json_core/encode.py +261 -0
  429. arctrl/py/fable_modules/thoth_json_core/types.py +181 -0
  430. arctrl/py/fable_modules/thoth_json_python/__init__.py +0 -0
  431. arctrl/py/fable_modules/thoth_json_python/decode.py +112 -0
  432. arctrl/py/fable_modules/thoth_json_python/encode.py +72 -0
  433. arctrl/py/fable_modules/thoth_json_python/python.py +1 -0
  434. arctrl/py/fable_modules/yamlicious/Interop/__init__.py +0 -0
  435. arctrl/py/fable_modules/yamlicious/Interop/js_interop.py +1 -0
  436. arctrl/py/fable_modules/yamlicious/Interop/py_interop.py +7 -0
  437. arctrl/py/fable_modules/yamlicious/__init__.py +0 -0
  438. arctrl/py/fable_modules/yamlicious/decode.py +1784 -0
  439. arctrl/py/fable_modules/yamlicious/encode.py +84 -0
  440. arctrl/py/fable_modules/yamlicious/library.py +10 -0
  441. arctrl/py/fable_modules/yamlicious/persil.py +57 -0
  442. arctrl/py/fable_modules/yamlicious/preprocessing.py +99 -0
  443. arctrl/py/fable_modules/yamlicious/reader.py +665 -0
  444. arctrl/py/fable_modules/yamlicious/regex.py +21 -0
  445. arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +256 -0
  446. arctrl/py/fable_modules/yamlicious/writer.py +175 -0
  447. arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
  448. arctrl/py/json.py +213 -0
  449. arctrl/py/rocrate_io.py +72 -0
  450. arctrl/py/template_web.py +23 -0
  451. arctrl/py/xlsx.py +148 -0
  452. arctrl/rocrate.py +21 -0
  453. arctrl-3.0.0a3.dist-info/LICENSE +21 -0
  454. arctrl-3.0.0a3.dist-info/METADATA +119 -0
  455. arctrl-3.0.0a3.dist-info/RECORD +456 -0
  456. arctrl-3.0.0a3.dist-info/WHEEL +4 -0
@@ -0,0 +1,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 _arrow2312(value: str, person: Any=person) -> IEncodable:
35
+ class ObjectExpr2311(IEncodable):
36
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
37
+ return helpers.encode_string(value)
38
+
39
+ return ObjectExpr2311()
40
+
41
+ def _arrow2314(value_2: str, person: Any=person) -> IEncodable:
42
+ class ObjectExpr2313(IEncodable):
43
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
44
+ return helpers_1.encode_string(value_2)
45
+
46
+ return ObjectExpr2313()
47
+
48
+ def _arrow2316(value_4: str, person: Any=person) -> IEncodable:
49
+ class ObjectExpr2315(IEncodable):
50
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any]) -> Any:
51
+ return helpers_2.encode_string(value_4)
52
+
53
+ return ObjectExpr2315()
54
+
55
+ def _arrow2318(value_6: str, person: Any=person) -> IEncodable:
56
+ class ObjectExpr2317(IEncodable):
57
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
58
+ return helpers_3.encode_string(value_6)
59
+
60
+ return ObjectExpr2317()
61
+
62
+ def _arrow2320(value_8: str, person: Any=person) -> IEncodable:
63
+ class ObjectExpr2319(IEncodable):
64
+ def Encode(self, helpers_4: IEncoderHelpers_1[Any]) -> Any:
65
+ return helpers_4.encode_string(value_8)
66
+
67
+ return ObjectExpr2319()
68
+
69
+ def _arrow2322(value_10: str, person: Any=person) -> IEncodable:
70
+ class ObjectExpr2321(IEncodable):
71
+ def Encode(self, helpers_5: IEncoderHelpers_1[Any]) -> Any:
72
+ return helpers_5.encode_string(value_10)
73
+
74
+ return ObjectExpr2321()
75
+
76
+ def _arrow2324(value_12: str, person: Any=person) -> IEncodable:
77
+ class ObjectExpr2323(IEncodable):
78
+ def Encode(self, helpers_6: IEncoderHelpers_1[Any]) -> Any:
79
+ return helpers_6.encode_string(value_12)
80
+
81
+ return ObjectExpr2323()
82
+
83
+ def _arrow2326(value_14: str, person: Any=person) -> IEncodable:
84
+ class ObjectExpr2325(IEncodable):
85
+ def Encode(self, helpers_7: IEncoderHelpers_1[Any]) -> Any:
86
+ return helpers_7.encode_string(value_14)
87
+
88
+ return ObjectExpr2325()
89
+
90
+ def _arrow2328(value_16: str, person: Any=person) -> IEncodable:
91
+ class ObjectExpr2327(IEncodable):
92
+ def Encode(self, helpers_8: IEncoderHelpers_1[Any]) -> Any:
93
+ return helpers_8.encode_string(value_16)
94
+
95
+ return ObjectExpr2327()
96
+
97
+ def _arrow2329(oa: OntologyAnnotation, person: Any=person) -> IEncodable:
98
+ return OntologyAnnotation_encoder(oa)
99
+
100
+ def _arrow2330(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", _arrow2312, person.FirstName), try_include("lastName", _arrow2314, person.LastName), try_include("midInitials", _arrow2316, person.MidInitials), try_include("orcid", _arrow2318, person.ORCID), try_include("email", _arrow2320, person.EMail), try_include("phone", _arrow2322, person.Phone), try_include("fax", _arrow2324, person.Fax), try_include("address", _arrow2326, person.Address), try_include("affiliation", _arrow2328, person.Affiliation), try_include_seq("roles", _arrow2329, person.Roles), try_include_seq("comments", _arrow2330, person.Comments)]))
104
+ class ObjectExpr2331(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 ObjectExpr2331()
113
+
114
+
115
+ def _arrow2350(get: IGetters) -> Person:
116
+ def _arrow2332(__unit: None=None) -> str | None:
117
+ object_arg: IOptionalGetter = get.Optional
118
+ return object_arg.Field("orcid", string)
119
+
120
+ def _arrow2333(__unit: None=None) -> str | None:
121
+ object_arg_1: IOptionalGetter = get.Optional
122
+ return object_arg_1.Field("lastName", string)
123
+
124
+ def _arrow2334(__unit: None=None) -> str | None:
125
+ object_arg_2: IOptionalGetter = get.Optional
126
+ return object_arg_2.Field("firstName", string)
127
+
128
+ def _arrow2335(__unit: None=None) -> str | None:
129
+ object_arg_3: IOptionalGetter = get.Optional
130
+ return object_arg_3.Field("midInitials", string)
131
+
132
+ def _arrow2336(__unit: None=None) -> str | None:
133
+ object_arg_4: IOptionalGetter = get.Optional
134
+ return object_arg_4.Field("email", string)
135
+
136
+ def _arrow2337(__unit: None=None) -> str | None:
137
+ object_arg_5: IOptionalGetter = get.Optional
138
+ return object_arg_5.Field("phone", string)
139
+
140
+ def _arrow2338(__unit: None=None) -> str | None:
141
+ object_arg_6: IOptionalGetter = get.Optional
142
+ return object_arg_6.Field("fax", string)
143
+
144
+ def _arrow2341(__unit: None=None) -> str | None:
145
+ object_arg_7: IOptionalGetter = get.Optional
146
+ return object_arg_7.Field("address", string)
147
+
148
+ def _arrow2343(__unit: None=None) -> str | None:
149
+ object_arg_8: IOptionalGetter = get.Optional
150
+ return object_arg_8.Field("affiliation", string)
151
+
152
+ def _arrow2347(__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 _arrow2349(__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(_arrow2332(), _arrow2333(), _arrow2334(), _arrow2335(), _arrow2336(), _arrow2337(), _arrow2338(), _arrow2341(), _arrow2343(), _arrow2347(), _arrow2349())
163
+
164
+
165
+ decoder: Decoder_1[Person] = object(_arrow2350)
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 ObjectExpr2359(IEncodable):
266
+ def Encode(self, helpers: IEncoderHelpers_1[Any], affiliation: Any=affiliation) -> Any:
267
+ return helpers.encode_string("Organization")
268
+
269
+ def _arrow2361(__unit: None=None, affiliation: Any=affiliation) -> IEncodable:
270
+ value_1: str = replace(("#Organization_" + affiliation) + "", " ", "_")
271
+ class ObjectExpr2360(IEncodable):
272
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
273
+ return helpers_1.encode_string(value_1)
274
+
275
+ return ObjectExpr2360()
276
+
277
+ class ObjectExpr2362(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", ObjectExpr2359()), ("@id", _arrow2361()), ("name", ObjectExpr2362()), ("@context", context_jsonvalue)])
282
+ class ObjectExpr2363(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 ObjectExpr2363()
291
+
292
+
293
+ def _arrow2364(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(_arrow2364)
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 _arrow2372(__unit: None=None, oa: Any=oa) -> IEncodable:
308
+ value: str = ROCrate_genID(oa)
309
+ class ObjectExpr2371(IEncodable):
310
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
311
+ return helpers.encode_string(value)
312
+
313
+ return ObjectExpr2371()
314
+
315
+ class ObjectExpr2374(IEncodable):
316
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any], oa: Any=oa) -> Any:
317
+ return helpers_1.encode_string("Person")
318
+
319
+ def _arrow2376(value_2: str, oa: Any=oa) -> IEncodable:
320
+ class ObjectExpr2375(IEncodable):
321
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any]) -> Any:
322
+ return helpers_2.encode_string(value_2)
323
+
324
+ return ObjectExpr2375()
325
+
326
+ def _arrow2379(value_4: str, oa: Any=oa) -> IEncodable:
327
+ class ObjectExpr2378(IEncodable):
328
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
329
+ return helpers_3.encode_string(value_4)
330
+
331
+ return ObjectExpr2378()
332
+
333
+ def _arrow2382(value_6: str, oa: Any=oa) -> IEncodable:
334
+ class ObjectExpr2381(IEncodable):
335
+ def Encode(self, helpers_4: IEncoderHelpers_1[Any]) -> Any:
336
+ return helpers_4.encode_string(value_6)
337
+
338
+ return ObjectExpr2381()
339
+
340
+ def _arrow2386(value_8: str, oa: Any=oa) -> IEncodable:
341
+ class ObjectExpr2385(IEncodable):
342
+ def Encode(self, helpers_5: IEncoderHelpers_1[Any]) -> Any:
343
+ return helpers_5.encode_string(value_8)
344
+
345
+ return ObjectExpr2385()
346
+
347
+ def _arrow2388(value_10: str, oa: Any=oa) -> IEncodable:
348
+ class ObjectExpr2387(IEncodable):
349
+ def Encode(self, helpers_6: IEncoderHelpers_1[Any]) -> Any:
350
+ return helpers_6.encode_string(value_10)
351
+
352
+ return ObjectExpr2387()
353
+
354
+ def _arrow2390(value_12: str, oa: Any=oa) -> IEncodable:
355
+ class ObjectExpr2389(IEncodable):
356
+ def Encode(self, helpers_7: IEncoderHelpers_1[Any]) -> Any:
357
+ return helpers_7.encode_string(value_12)
358
+
359
+ return ObjectExpr2389()
360
+
361
+ def _arrow2392(value_14: str, oa: Any=oa) -> IEncodable:
362
+ class ObjectExpr2391(IEncodable):
363
+ def Encode(self, helpers_8: IEncoderHelpers_1[Any]) -> Any:
364
+ return helpers_8.encode_string(value_14)
365
+
366
+ return ObjectExpr2391()
367
+
368
+ def _arrow2394(value_16: str, oa: Any=oa) -> IEncodable:
369
+ class ObjectExpr2393(IEncodable):
370
+ def Encode(self, helpers_9: IEncoderHelpers_1[Any]) -> Any:
371
+ return helpers_9.encode_string(value_16)
372
+
373
+ return ObjectExpr2393()
374
+
375
+ def _arrow2395(affiliation: str, oa: Any=oa) -> IEncodable:
376
+ return ROCrate_Affiliation_encoder(affiliation)
377
+
378
+ def _arrow2396(oa_1: OntologyAnnotation, oa: Any=oa) -> IEncodable:
379
+ return OntologyAnnotation_ROCrate_encoderDefinedTerm(oa_1)
380
+
381
+ def _arrow2397(comment: Comment, oa: Any=oa) -> IEncodable:
382
+ return ROCrate_encoderDisambiguatingDescription(comment)
383
+
384
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("@id", _arrow2372()), ("@type", ObjectExpr2374()), try_include("orcid", _arrow2376, oa.ORCID), try_include("firstName", _arrow2379, oa.FirstName), try_include("lastName", _arrow2382, oa.LastName), try_include("midInitials", _arrow2386, oa.MidInitials), try_include("email", _arrow2388, oa.EMail), try_include("phone", _arrow2390, oa.Phone), try_include("fax", _arrow2392, oa.Fax), try_include("address", _arrow2394, oa.Address), try_include("affiliation", _arrow2395, oa.Affiliation), try_include_seq("roles", _arrow2396, oa.Roles), try_include_seq("comments", _arrow2397, oa.Comments), ("@context", context_jsonvalue_1)]))
385
+ class ObjectExpr2398(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 ObjectExpr2398()
394
+
395
+
396
+ def _arrow2410(get: IGetters) -> Person:
397
+ def _arrow2399(__unit: None=None) -> str | None:
398
+ object_arg: IOptionalGetter = get.Optional
399
+ return object_arg.Field("orcid", string)
400
+
401
+ def _arrow2400(__unit: None=None) -> str | None:
402
+ object_arg_1: IOptionalGetter = get.Optional
403
+ return object_arg_1.Field("lastName", string)
404
+
405
+ def _arrow2401(__unit: None=None) -> str | None:
406
+ object_arg_2: IOptionalGetter = get.Optional
407
+ return object_arg_2.Field("firstName", string)
408
+
409
+ def _arrow2402(__unit: None=None) -> str | None:
410
+ object_arg_3: IOptionalGetter = get.Optional
411
+ return object_arg_3.Field("midInitials", string)
412
+
413
+ def _arrow2403(__unit: None=None) -> str | None:
414
+ object_arg_4: IOptionalGetter = get.Optional
415
+ return object_arg_4.Field("email", string)
416
+
417
+ def _arrow2404(__unit: None=None) -> str | None:
418
+ object_arg_5: IOptionalGetter = get.Optional
419
+ return object_arg_5.Field("phone", string)
420
+
421
+ def _arrow2405(__unit: None=None) -> str | None:
422
+ object_arg_6: IOptionalGetter = get.Optional
423
+ return object_arg_6.Field("fax", string)
424
+
425
+ def _arrow2406(__unit: None=None) -> str | None:
426
+ object_arg_7: IOptionalGetter = get.Optional
427
+ return object_arg_7.Field("address", string)
428
+
429
+ def _arrow2407(__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 _arrow2408(__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 _arrow2409(__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(_arrow2399(), _arrow2400(), _arrow2401(), _arrow2402(), _arrow2403(), _arrow2404(), _arrow2405(), _arrow2406(), _arrow2407(), _arrow2408(), _arrow2409())
444
+
445
+
446
+ ROCrate_decoder: Decoder_1[Person] = object(_arrow2410)
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 ObjectExpr2412(IEncodable):
457
+ def Encode(self, helpers: IEncoderHelpers_1[Any], name: Any=name) -> Any:
458
+ return helpers.encode_string("Person")
459
+
460
+ def _arrow2414(value_1: str, name: Any=name) -> IEncodable:
461
+ class ObjectExpr2413(IEncodable):
462
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
463
+ return helpers_1.encode_string(value_1)
464
+
465
+ return ObjectExpr2413()
466
+
467
+ values: FSharpList[tuple[str, IEncodable]] = choose(chooser, of_array([("@type", ObjectExpr2412()), try_include("name", _arrow2414, name), ("@context", context_minimal_json_value)]))
468
+ class ObjectExpr2415(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 ObjectExpr2415()
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 ObjectExpr2416(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 ObjectExpr2416()
491
+
492
+
493
+ def ctor(v: Array[str]) -> str:
494
+ return join(", ", v)
495
+
496
+
497
+ def _arrow2418(get: IGetters) -> str:
498
+ def _arrow2417(__unit: None=None) -> str | None:
499
+ object_arg: IOptionalGetter = get.Optional
500
+ return object_arg.Field("name", string)
501
+
502
+ return default_arg(_arrow2417(), "")
503
+
504
+
505
+ ROCrate_decodeAuthorListString: Decoder_1[str] = map_3(ctor, array_3(object(_arrow2418)))
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 _arrow2422(value: str, person_1: Any=person_1) -> IEncodable:
519
+ class ObjectExpr2421(IEncodable):
520
+ def Encode(self, helpers: IEncoderHelpers_1[Any]) -> Any:
521
+ return helpers.encode_string(value)
522
+
523
+ return ObjectExpr2421()
524
+
525
+ def _arrow2424(value_2: str, person_1: Any=person_1) -> IEncodable:
526
+ class ObjectExpr2423(IEncodable):
527
+ def Encode(self, helpers_1: IEncoderHelpers_1[Any]) -> Any:
528
+ return helpers_1.encode_string(value_2)
529
+
530
+ return ObjectExpr2423()
531
+
532
+ def _arrow2426(value_4: str, person_1: Any=person_1) -> IEncodable:
533
+ class ObjectExpr2425(IEncodable):
534
+ def Encode(self, helpers_2: IEncoderHelpers_1[Any]) -> Any:
535
+ return helpers_2.encode_string(value_4)
536
+
537
+ return ObjectExpr2425()
538
+
539
+ def _arrow2428(value_6: str, person_1: Any=person_1) -> IEncodable:
540
+ class ObjectExpr2427(IEncodable):
541
+ def Encode(self, helpers_3: IEncoderHelpers_1[Any]) -> Any:
542
+ return helpers_3.encode_string(value_6)
543
+
544
+ return ObjectExpr2427()
545
+
546
+ def _arrow2430(value_8: str, person_1: Any=person_1) -> IEncodable:
547
+ class ObjectExpr2429(IEncodable):
548
+ def Encode(self, helpers_4: IEncoderHelpers_1[Any]) -> Any:
549
+ return helpers_4.encode_string(value_8)
550
+
551
+ return ObjectExpr2429()
552
+
553
+ def _arrow2432(value_10: str, person_1: Any=person_1) -> IEncodable:
554
+ class ObjectExpr2431(IEncodable):
555
+ def Encode(self, helpers_5: IEncoderHelpers_1[Any]) -> Any:
556
+ return helpers_5.encode_string(value_10)
557
+
558
+ return ObjectExpr2431()
559
+
560
+ def _arrow2435(value_12: str, person_1: Any=person_1) -> IEncodable:
561
+ class ObjectExpr2433(IEncodable):
562
+ def Encode(self, helpers_6: IEncoderHelpers_1[Any]) -> Any:
563
+ return helpers_6.encode_string(value_12)
564
+
565
+ return ObjectExpr2433()
566
+
567
+ def _arrow2437(value_14: str, person_1: Any=person_1) -> IEncodable:
568
+ class ObjectExpr2436(IEncodable):
569
+ def Encode(self, helpers_7: IEncoderHelpers_1[Any]) -> Any:
570
+ return helpers_7.encode_string(value_14)
571
+
572
+ return ObjectExpr2436()
573
+
574
+ def _arrow2440(value_16: str, person_1: Any=person_1) -> IEncodable:
575
+ class ObjectExpr2439(IEncodable):
576
+ def Encode(self, helpers_8: IEncoderHelpers_1[Any]) -> Any:
577
+ return helpers_8.encode_string(value_16)
578
+
579
+ return ObjectExpr2439()
580
+
581
+ def _arrow2441(oa: OntologyAnnotation, person_1: Any=person_1) -> IEncodable:
582
+ return OntologyAnnotation_encoder(oa)
583
+
584
+ def _arrow2442(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", _arrow2422, ROCrate_genID(person_2)), try_include("firstName", _arrow2424, person_2.FirstName), try_include("lastName", _arrow2426, person_2.LastName), try_include("midInitials", _arrow2428, person_2.MidInitials), try_include("email", _arrow2430, person_2.EMail), try_include("phone", _arrow2432, person_2.Phone), try_include("fax", _arrow2435, person_2.Fax), try_include("address", _arrow2437, person_2.Address), try_include("affiliation", _arrow2440, person_2.Affiliation), try_include_seq("roles", _arrow2441, person_2.Roles), try_include_seq("comments", _arrow2442, person_2.Comments)]))
588
+ class ObjectExpr2444(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 ObjectExpr2444()
597
+
598
+ if id_map is not None:
599
+ def _arrow2445(p_1: Person, id_map: Any=id_map, person: Any=person) -> str:
600
+ return ROCrate_genID(p_1)
601
+
602
+ return encode(_arrow2445, f, person, id_map)
603
+
604
+ else:
605
+ return f(person)
606
+
607
+
608
+
609
+ def _arrow2456(get: IGetters) -> Person:
610
+ def _arrow2446(__unit: None=None) -> str | None:
611
+ object_arg: IOptionalGetter = get.Optional
612
+ return object_arg.Field("lastName", string)
613
+
614
+ def _arrow2447(__unit: None=None) -> str | None:
615
+ object_arg_1: IOptionalGetter = get.Optional
616
+ return object_arg_1.Field("firstName", string)
617
+
618
+ def _arrow2448(__unit: None=None) -> str | None:
619
+ object_arg_2: IOptionalGetter = get.Optional
620
+ return object_arg_2.Field("midInitials", string)
621
+
622
+ def _arrow2449(__unit: None=None) -> str | None:
623
+ object_arg_3: IOptionalGetter = get.Optional
624
+ return object_arg_3.Field("email", string)
625
+
626
+ def _arrow2450(__unit: None=None) -> str | None:
627
+ object_arg_4: IOptionalGetter = get.Optional
628
+ return object_arg_4.Field("phone", string)
629
+
630
+ def _arrow2451(__unit: None=None) -> str | None:
631
+ object_arg_5: IOptionalGetter = get.Optional
632
+ return object_arg_5.Field("fax", string)
633
+
634
+ def _arrow2452(__unit: None=None) -> str | None:
635
+ object_arg_6: IOptionalGetter = get.Optional
636
+ return object_arg_6.Field("address", string)
637
+
638
+ def _arrow2453(__unit: None=None) -> str | None:
639
+ object_arg_7: IOptionalGetter = get.Optional
640
+ return object_arg_7.Field("affiliation", string)
641
+
642
+ def _arrow2454(__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 _arrow2455(__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, _arrow2446(), _arrow2447(), _arrow2448(), _arrow2449(), _arrow2450(), _arrow2451(), _arrow2452(), _arrow2453(), _arrow2454(), _arrow2455()))
653
+
654
+
655
+ ISAJson_decoder: Decoder_1[Person] = Decode_objectNoAdditionalProperties(ISAJson_allowedFields, _arrow2456)
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
+