arctrl 3.0.0a3__tar.gz

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-3.0.0a3/LICENSE +21 -0
  2. arctrl-3.0.0a3/PKG-INFO +119 -0
  3. arctrl-3.0.0a3/README.md +100 -0
  4. arctrl-3.0.0a3/pyproject.toml +40 -0
  5. arctrl-3.0.0a3/src/ARCtrl/__init__.py +18 -0
  6. arctrl-3.0.0a3/src/ARCtrl/py/CWL/__init__.py +0 -0
  7. arctrl-3.0.0a3/src/ARCtrl/py/CWL/cwltypes.py +150 -0
  8. arctrl-3.0.0a3/src/ARCtrl/py/CWL/decode.py +973 -0
  9. arctrl-3.0.0a3/src/ARCtrl/py/CWL/encode.py +1 -0
  10. arctrl-3.0.0a3/src/ARCtrl/py/CWL/inputs.py +88 -0
  11. arctrl-3.0.0a3/src/ARCtrl/py/CWL/outputs.py +85 -0
  12. arctrl-3.0.0a3/src/ARCtrl/py/CWL/requirements.py +77 -0
  13. arctrl-3.0.0a3/src/ARCtrl/py/CWL/tool_description.py +103 -0
  14. arctrl-3.0.0a3/src/ARCtrl/py/CWL/workflow_description.py +104 -0
  15. arctrl-3.0.0a3/src/ARCtrl/py/CWL/workflow_steps.py +113 -0
  16. arctrl-3.0.0a3/src/ARCtrl/py/Contract/__init__.py +0 -0
  17. arctrl-3.0.0a3/src/ARCtrl/py/Contract/arc.py +60 -0
  18. arctrl-3.0.0a3/src/ARCtrl/py/Contract/arc_assay.py +125 -0
  19. arctrl-3.0.0a3/src/ARCtrl/py/Contract/arc_investigation.py +88 -0
  20. arctrl-3.0.0a3/src/ARCtrl/py/Contract/arc_run.py +125 -0
  21. arctrl-3.0.0a3/src/ARCtrl/py/Contract/arc_study.py +126 -0
  22. arctrl-3.0.0a3/src/ARCtrl/py/Contract/arc_workflow.py +125 -0
  23. arctrl-3.0.0a3/src/ARCtrl/py/Contract/contract.py +153 -0
  24. arctrl-3.0.0a3/src/ARCtrl/py/Contract/datamap.py +372 -0
  25. arctrl-3.0.0a3/src/ARCtrl/py/Contract/git.py +118 -0
  26. arctrl-3.0.0a3/src/ARCtrl/py/Contract/validation_packages_config.py +107 -0
  27. arctrl-3.0.0a3/src/ARCtrl/py/ContractIO/__init__.py +0 -0
  28. arctrl-3.0.0a3/src/ARCtrl/py/ContractIO/contract_io.py +344 -0
  29. arctrl-3.0.0a3/src/ARCtrl/py/ContractIO/file_system_helper.py +264 -0
  30. arctrl-3.0.0a3/src/ARCtrl/py/Core/Helper/__init__.py +0 -0
  31. arctrl-3.0.0a3/src/ARCtrl/py/Core/Helper/collections_.py +438 -0
  32. arctrl-3.0.0a3/src/ARCtrl/py/Core/Helper/date_time.py +26 -0
  33. arctrl-3.0.0a3/src/ARCtrl/py/Core/Helper/hash_codes.py +60 -0
  34. arctrl-3.0.0a3/src/ARCtrl/py/Core/Helper/identifier.py +248 -0
  35. arctrl-3.0.0a3/src/ARCtrl/py/Core/Helper/orcid.py +42 -0
  36. arctrl-3.0.0a3/src/ARCtrl/py/Core/Helper/printer.py +13 -0
  37. arctrl-3.0.0a3/src/ARCtrl/py/Core/Helper/regex.py +554 -0
  38. arctrl-3.0.0a3/src/ARCtrl/py/Core/Helper/sem_ver.py +71 -0
  39. arctrl-3.0.0a3/src/ARCtrl/py/Core/Helper/url.py +148 -0
  40. arctrl-3.0.0a3/src/ARCtrl/py/Core/Process/__init__.py +0 -0
  41. arctrl-3.0.0a3/src/ARCtrl/py/Core/Process/column_index.py +280 -0
  42. arctrl-3.0.0a3/src/ARCtrl/py/Core/Process/component.py +200 -0
  43. arctrl-3.0.0a3/src/ARCtrl/py/Core/Process/factor.py +151 -0
  44. arctrl-3.0.0a3/src/ARCtrl/py/Core/Process/factor_value.py +182 -0
  45. arctrl-3.0.0a3/src/ARCtrl/py/Core/Process/material.py +74 -0
  46. arctrl-3.0.0a3/src/ARCtrl/py/Core/Process/material_attribute.py +95 -0
  47. arctrl-3.0.0a3/src/ARCtrl/py/Core/Process/material_attribute_value.py +184 -0
  48. arctrl-3.0.0a3/src/ARCtrl/py/Core/Process/material_type.py +45 -0
  49. arctrl-3.0.0a3/src/ARCtrl/py/Core/Process/process.py +477 -0
  50. arctrl-3.0.0a3/src/ARCtrl/py/Core/Process/process_input.py +265 -0
  51. arctrl-3.0.0a3/src/ARCtrl/py/Core/Process/process_output.py +235 -0
  52. arctrl-3.0.0a3/src/ARCtrl/py/Core/Process/process_parameter_value.py +200 -0
  53. arctrl-3.0.0a3/src/ARCtrl/py/Core/Process/process_sequence.py +435 -0
  54. arctrl-3.0.0a3/src/ARCtrl/py/Core/Process/protocol.py +175 -0
  55. arctrl-3.0.0a3/src/ARCtrl/py/Core/Process/protocol_parameter.py +98 -0
  56. arctrl-3.0.0a3/src/ARCtrl/py/Core/Process/sample.py +82 -0
  57. arctrl-3.0.0a3/src/ARCtrl/py/Core/Process/source.py +62 -0
  58. arctrl-3.0.0a3/src/ARCtrl/py/Core/Table/__init__.py +0 -0
  59. arctrl-3.0.0a3/src/ARCtrl/py/Core/Table/arc_table.py +1264 -0
  60. arctrl-3.0.0a3/src/ARCtrl/py/Core/Table/arc_table_aux.py +575 -0
  61. arctrl-3.0.0a3/src/ARCtrl/py/Core/Table/arc_tables.py +591 -0
  62. arctrl-3.0.0a3/src/ARCtrl/py/Core/Table/composite_cell.py +319 -0
  63. arctrl-3.0.0a3/src/ARCtrl/py/Core/Table/composite_column.py +73 -0
  64. arctrl-3.0.0a3/src/ARCtrl/py/Core/Table/composite_header.py +739 -0
  65. arctrl-3.0.0a3/src/ARCtrl/py/Core/__init__.py +0 -0
  66. arctrl-3.0.0a3/src/ARCtrl/py/Core/arc_types.py +5064 -0
  67. arctrl-3.0.0a3/src/ARCtrl/py/Core/comment.py +128 -0
  68. arctrl-3.0.0a3/src/ARCtrl/py/Core/comment_list.py +127 -0
  69. arctrl-3.0.0a3/src/ARCtrl/py/Core/conversion.py +1313 -0
  70. arctrl-3.0.0a3/src/ARCtrl/py/Core/data.py +245 -0
  71. arctrl-3.0.0a3/src/ARCtrl/py/Core/data_context.py +157 -0
  72. arctrl-3.0.0a3/src/ARCtrl/py/Core/data_file.py +112 -0
  73. arctrl-3.0.0a3/src/ARCtrl/py/Core/data_map.py +225 -0
  74. arctrl-3.0.0a3/src/ARCtrl/py/Core/identifier_setters.py +31 -0
  75. arctrl-3.0.0a3/src/ARCtrl/py/Core/iproperty_value.py +36 -0
  76. arctrl-3.0.0a3/src/ARCtrl/py/Core/ontology_annotation.py +299 -0
  77. arctrl-3.0.0a3/src/ARCtrl/py/Core/ontology_source_reference.py +114 -0
  78. arctrl-3.0.0a3/src/ARCtrl/py/Core/person.py +259 -0
  79. arctrl-3.0.0a3/src/ARCtrl/py/Core/publication.py +161 -0
  80. arctrl-3.0.0a3/src/ARCtrl/py/Core/template.py +231 -0
  81. arctrl-3.0.0a3/src/ARCtrl/py/Core/templates.py +148 -0
  82. arctrl-3.0.0a3/src/ARCtrl/py/Core/uri.py +11 -0
  83. arctrl-3.0.0a3/src/ARCtrl/py/Core/value.py +188 -0
  84. arctrl-3.0.0a3/src/ARCtrl/py/FileSystem/__init__.py +0 -0
  85. arctrl-3.0.0a3/src/ARCtrl/py/FileSystem/commit.py +21 -0
  86. arctrl-3.0.0a3/src/ARCtrl/py/FileSystem/default_gitattributes.py +5 -0
  87. arctrl-3.0.0a3/src/ARCtrl/py/FileSystem/default_gitignore.py +5 -0
  88. arctrl-3.0.0a3/src/ARCtrl/py/FileSystem/file_system.py +58 -0
  89. arctrl-3.0.0a3/src/ARCtrl/py/FileSystem/file_system_tree.py +426 -0
  90. arctrl-3.0.0a3/src/ARCtrl/py/FileSystem/path.py +64 -0
  91. arctrl-3.0.0a3/src/ARCtrl/py/Json/DataMap/__init__.py +0 -0
  92. arctrl-3.0.0a3/src/ARCtrl/py/Json/DataMap/data_context.py +101 -0
  93. arctrl-3.0.0a3/src/ARCtrl/py/Json/DataMap/data_map.py +53 -0
  94. arctrl-3.0.0a3/src/ARCtrl/py/Json/Process/__init__.py +0 -0
  95. arctrl-3.0.0a3/src/ARCtrl/py/Json/Process/assay_materials.py +46 -0
  96. arctrl-3.0.0a3/src/ARCtrl/py/Json/Process/component.py +79 -0
  97. arctrl-3.0.0a3/src/ARCtrl/py/Json/Process/factor.py +107 -0
  98. arctrl-3.0.0a3/src/ARCtrl/py/Json/Process/factor_value.py +101 -0
  99. arctrl-3.0.0a3/src/ARCtrl/py/Json/Process/material.py +226 -0
  100. arctrl-3.0.0a3/src/ARCtrl/py/Json/Process/material_attribute.py +79 -0
  101. arctrl-3.0.0a3/src/ARCtrl/py/Json/Process/material_attribute_value.py +101 -0
  102. arctrl-3.0.0a3/src/ARCtrl/py/Json/Process/material_type.py +53 -0
  103. arctrl-3.0.0a3/src/ARCtrl/py/Json/Process/process.py +296 -0
  104. arctrl-3.0.0a3/src/ARCtrl/py/Json/Process/process_input.py +83 -0
  105. arctrl-3.0.0a3/src/ARCtrl/py/Json/Process/process_output.py +67 -0
  106. arctrl-3.0.0a3/src/ARCtrl/py/Json/Process/process_parameter_value.py +81 -0
  107. arctrl-3.0.0a3/src/ARCtrl/py/Json/Process/protocol.py +354 -0
  108. arctrl-3.0.0a3/src/ARCtrl/py/Json/Process/protocol_parameter.py +79 -0
  109. arctrl-3.0.0a3/src/ARCtrl/py/Json/Process/sample.py +277 -0
  110. arctrl-3.0.0a3/src/ARCtrl/py/Json/Process/source.py +214 -0
  111. arctrl-3.0.0a3/src/ARCtrl/py/Json/Process/study_materials.py +52 -0
  112. arctrl-3.0.0a3/src/ARCtrl/py/Json/Process/value.py +56 -0
  113. arctrl-3.0.0a3/src/ARCtrl/py/Json/ROCrate/__init__.py +0 -0
  114. arctrl-3.0.0a3/src/ARCtrl/py/Json/ROCrate/ldcontext.py +133 -0
  115. arctrl-3.0.0a3/src/ARCtrl/py/Json/ROCrate/ldgraph.py +111 -0
  116. arctrl-3.0.0a3/src/ARCtrl/py/Json/ROCrate/ldnode.py +290 -0
  117. arctrl-3.0.0a3/src/ARCtrl/py/Json/ROCrate/ldref.py +44 -0
  118. arctrl-3.0.0a3/src/ARCtrl/py/Json/ROCrate/ldvalue.py +102 -0
  119. arctrl-3.0.0a3/src/ARCtrl/py/Json/Table/__init__.py +0 -0
  120. arctrl-3.0.0a3/src/ARCtrl/py/Json/Table/arc_table.py +393 -0
  121. arctrl-3.0.0a3/src/ARCtrl/py/Json/Table/cell_table.py +83 -0
  122. arctrl-3.0.0a3/src/ARCtrl/py/Json/Table/composite_cell.py +136 -0
  123. arctrl-3.0.0a3/src/ARCtrl/py/Json/Table/composite_header.py +67 -0
  124. arctrl-3.0.0a3/src/ARCtrl/py/Json/Table/iotype.py +24 -0
  125. arctrl-3.0.0a3/src/ARCtrl/py/Json/Table/oatable.py +82 -0
  126. arctrl-3.0.0a3/src/ARCtrl/py/Json/Table/templates.py +281 -0
  127. arctrl-3.0.0a3/src/ARCtrl/py/Json/__init__.py +0 -0
  128. arctrl-3.0.0a3/src/ARCtrl/py/Json/assay.py +600 -0
  129. arctrl-3.0.0a3/src/ARCtrl/py/Json/comment.py +206 -0
  130. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/__init__.py +0 -0
  131. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/isa_assay_context.py +101 -0
  132. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/isa_comment_context.py +60 -0
  133. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/isa_component_context.py +77 -0
  134. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/isa_data_context.py +74 -0
  135. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/isa_factor_context.py +74 -0
  136. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/isa_factor_value_context.py +84 -0
  137. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/isa_investigation_context.py +110 -0
  138. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/isa_material_attribute_context.py +64 -0
  139. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +80 -0
  140. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/isa_material_context.py +71 -0
  141. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +68 -0
  142. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +75 -0
  143. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/isa_organization_context.py +55 -0
  144. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/isa_person_context.py +131 -0
  145. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/isa_process_context.py +94 -0
  146. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +80 -0
  147. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/isa_protocol_context.py +97 -0
  148. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +64 -0
  149. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/isa_publication_context.py +78 -0
  150. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/isa_sample_context.py +65 -0
  151. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/isa_source_context.py +66 -0
  152. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/isa_study_context.py +125 -0
  153. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/property_value_context.py +73 -0
  154. arctrl-3.0.0a3/src/ARCtrl/py/Json/context/rocrate/rocrate_context.py +81 -0
  155. arctrl-3.0.0a3/src/ARCtrl/py/Json/converter_options.py +23 -0
  156. arctrl-3.0.0a3/src/ARCtrl/py/Json/data.py +356 -0
  157. arctrl-3.0.0a3/src/ARCtrl/py/Json/data_file.py +63 -0
  158. arctrl-3.0.0a3/src/ARCtrl/py/Json/decode.py +155 -0
  159. arctrl-3.0.0a3/src/ARCtrl/py/Json/encode.py +92 -0
  160. arctrl-3.0.0a3/src/ARCtrl/py/Json/idtable.py +44 -0
  161. arctrl-3.0.0a3/src/ARCtrl/py/Json/investigation.py +695 -0
  162. arctrl-3.0.0a3/src/ARCtrl/py/Json/ontology_annotation.py +404 -0
  163. arctrl-3.0.0a3/src/ARCtrl/py/Json/ontology_source_reference.py +255 -0
  164. arctrl-3.0.0a3/src/ARCtrl/py/Json/person.py +658 -0
  165. arctrl-3.0.0a3/src/ARCtrl/py/Json/property_value.py +359 -0
  166. arctrl-3.0.0a3/src/ARCtrl/py/Json/publication.py +279 -0
  167. arctrl-3.0.0a3/src/ARCtrl/py/Json/string_table.py +76 -0
  168. arctrl-3.0.0a3/src/ARCtrl/py/Json/study.py +793 -0
  169. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/DataMap/__init__.py +0 -0
  170. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/DataMap/data_map.py +53 -0
  171. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Process/__init__.py +0 -0
  172. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Process/component.py +60 -0
  173. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Process/factor.py +36 -0
  174. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Process/factor_value.py +38 -0
  175. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Process/material.py +60 -0
  176. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Process/material_attribute.py +38 -0
  177. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Process/material_attribute_value.py +60 -0
  178. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Process/material_type.py +36 -0
  179. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Process/process.py +60 -0
  180. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Process/process_input.py +38 -0
  181. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Process/process_output.py +60 -0
  182. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Process/process_parameter_value.py +60 -0
  183. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Process/process_sequence.py +71 -0
  184. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Process/protocol.py +60 -0
  185. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Process/protocol_parameter.py +36 -0
  186. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Process/sample.py +60 -0
  187. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Process/source.py +60 -0
  188. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Process/study_materials.py +52 -0
  189. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Process/value.py +32 -0
  190. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Table/__init__.py +0 -0
  191. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Table/arc_table.py +121 -0
  192. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Table/composite_cell.py +36 -0
  193. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Table/composite_header.py +36 -0
  194. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Table/compression.py +85 -0
  195. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Table/iotype.py +36 -0
  196. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/Table/templates.py +113 -0
  197. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/__init__.py +0 -0
  198. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/assay.py +113 -0
  199. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/comment.py +80 -0
  200. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/data.py +60 -0
  201. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/data_file.py +58 -0
  202. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/decode.py +9 -0
  203. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/encode.py +1 -0
  204. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/investigation.py +113 -0
  205. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/ldobject.py +106 -0
  206. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/ontology_annotation.py +80 -0
  207. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/ontology_source_reference.py +80 -0
  208. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/person.py +82 -0
  209. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/publication.py +82 -0
  210. arctrl-3.0.0a3/src/ARCtrl/py/JsonIO/study.py +114 -0
  211. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/Generic/__init__.py +0 -0
  212. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/Generic/comment.py +131 -0
  213. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/Generic/dataset.py +817 -0
  214. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/Generic/defined_term.py +131 -0
  215. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/Generic/file.py +237 -0
  216. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/Generic/lab_process.py +324 -0
  217. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/Generic/lab_protocol.py +338 -0
  218. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/Generic/organization.py +83 -0
  219. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/Generic/person.py +484 -0
  220. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/Generic/postal_address.py +195 -0
  221. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/Generic/property_value.py +696 -0
  222. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/Generic/sample.py +202 -0
  223. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/Generic/scholarly_article.py +229 -0
  224. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/ISAProfile/__init__.py +0 -0
  225. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/ISAProfile/assay.py +70 -0
  226. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/ISAProfile/data.py +65 -0
  227. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/ISAProfile/dataset.py +24 -0
  228. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/ISAProfile/investigation.py +73 -0
  229. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/ISAProfile/lab_process.py +162 -0
  230. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/ISAProfile/lab_protocol.py +37 -0
  231. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/ISAProfile/person.py +72 -0
  232. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/ISAProfile/property_value.py +98 -0
  233. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/ISAProfile/sample.py +64 -0
  234. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/ISAProfile/scholarly_article.py +98 -0
  235. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/ISAProfile/study.py +74 -0
  236. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/__init__.py +0 -0
  237. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/arc_rocrate_metadata.py +39 -0
  238. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/dyn_obj_extensions.py +1 -0
  239. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/helper.py +8 -0
  240. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/ldcontext.py +362 -0
  241. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/ldobject.py +1247 -0
  242. arctrl-3.0.0a3/src/ARCtrl/py/ROCrate/rocrate_context.py +51 -0
  243. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/AnnotationTable/__init__.py +0 -0
  244. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/AnnotationTable/arc_table.py +193 -0
  245. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
  246. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/AnnotationTable/composite_column.py +210 -0
  247. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
  248. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/DataMapTable/__init__.py +0 -0
  249. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/DataMapTable/data_map_column.py +114 -0
  250. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/DataMapTable/data_map_header.py +618 -0
  251. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/DataMapTable/data_map_table.py +119 -0
  252. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/Metadata/__init__.py +0 -0
  253. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/Metadata/assays.py +125 -0
  254. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/Metadata/comment.py +77 -0
  255. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/Metadata/contacts.py +134 -0
  256. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/Metadata/conversions.py +190 -0
  257. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/Metadata/design_descriptors.py +34 -0
  258. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/Metadata/factors.py +107 -0
  259. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/Metadata/ontology_annotation.py +88 -0
  260. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/Metadata/ontology_source_reference.py +96 -0
  261. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/Metadata/protocols.py +146 -0
  262. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/Metadata/publication.py +122 -0
  263. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/Metadata/run.py +122 -0
  264. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/Metadata/sparse_table.py +508 -0
  265. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/Metadata/study.py +312 -0
  266. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/Metadata/workflow.py +151 -0
  267. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/__init__.py +0 -0
  268. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/arc_assay.py +233 -0
  269. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/arc_investigation.py +418 -0
  270. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/arc_run.py +190 -0
  271. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/arc_study.py +144 -0
  272. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/arc_workflow.py +176 -0
  273. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/assembly_info.py +1 -0
  274. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/collection_aux.py +167 -0
  275. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/data_map.py +44 -0
  276. arctrl-3.0.0a3/src/ARCtrl/py/Spreadsheet/template.py +460 -0
  277. arctrl-3.0.0a3/src/ARCtrl/py/ValidationPackages/__init__.py +0 -0
  278. arctrl-3.0.0a3/src/ARCtrl/py/ValidationPackages/validation_package.py +82 -0
  279. arctrl-3.0.0a3/src/ARCtrl/py/ValidationPackages/validation_packages_config.py +132 -0
  280. arctrl-3.0.0a3/src/ARCtrl/py/WebRequest/__init__.py +0 -0
  281. arctrl-3.0.0a3/src/ARCtrl/py/WebRequest/web_request.py +9 -0
  282. arctrl-3.0.0a3/src/ARCtrl/py/WebRequest/web_request_py.py +135 -0
  283. arctrl-3.0.0a3/src/ARCtrl/py/Yaml/__init__.py +0 -0
  284. arctrl-3.0.0a3/src/ARCtrl/py/Yaml/decode.py +1 -0
  285. arctrl-3.0.0a3/src/ARCtrl/py/Yaml/encode.py +10 -0
  286. arctrl-3.0.0a3/src/ARCtrl/py/Yaml/validation_package.py +77 -0
  287. arctrl-3.0.0a3/src/ARCtrl/py/Yaml/validation_packages_config.py +86 -0
  288. arctrl-3.0.0a3/src/ARCtrl/py/__init__.py +0 -0
  289. arctrl-3.0.0a3/src/ARCtrl/py/arc.py +1400 -0
  290. arctrl-3.0.0a3/src/ARCtrl/py/column_index.py +280 -0
  291. arctrl-3.0.0a3/src/ARCtrl/py/conversion.py +2184 -0
  292. arctrl-3.0.0a3/src/ARCtrl/py/cross_async.py +76 -0
  293. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/dynamic_obj/__init__.py +0 -0
  294. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/dynamic_obj/dyn_obj.py +136 -0
  295. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/dynamic_obj/dynamic_obj.py +415 -0
  296. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/dynamic_obj/fable_js.py +1 -0
  297. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/dynamic_obj/fable_py.py +288 -0
  298. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/dynamic_obj/hash_codes.py +82 -0
  299. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/dynamic_obj/property_helper.py +25 -0
  300. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/dynamic_obj/reflection_utils.py +87 -0
  301. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/__init__.py +0 -0
  302. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/array_.py +1528 -0
  303. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/async_.py +377 -0
  304. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/async_builder.py +379 -0
  305. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/big_int.py +330 -0
  306. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/bit_converter.py +131 -0
  307. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/boolean.py +26 -0
  308. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/char.py +237 -0
  309. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/choice.py +212 -0
  310. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/date.py +779 -0
  311. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/date_offset.py +79 -0
  312. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/decimal_.py +190 -0
  313. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/diagnostics.py +54 -0
  314. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/double.py +87 -0
  315. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/encoding.py +41 -0
  316. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/event.py +206 -0
  317. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/file.py +107 -0
  318. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/fsharp_collections.py +52 -0
  319. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/fsharp_core.py +123 -0
  320. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/global_.py +63 -0
  321. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/guid.py +41 -0
  322. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/int32.py +73 -0
  323. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/list.py +1788 -0
  324. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/long.py +240 -0
  325. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/mailbox_processor.py +179 -0
  326. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/map.py +1854 -0
  327. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/map_util.py +148 -0
  328. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/mutable_map.py +397 -0
  329. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/mutable_set.py +279 -0
  330. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/native.py +45 -0
  331. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/numeric.py +46 -0
  332. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/observable.py +222 -0
  333. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/option.py +128 -0
  334. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/path.py +62 -0
  335. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/range.py +117 -0
  336. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/reflection.py +463 -0
  337. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/reg_exp.py +137 -0
  338. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/resize_array.py +31 -0
  339. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/result.py +212 -0
  340. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/seq.py +1979 -0
  341. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/seq2.py +221 -0
  342. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/set.py +2414 -0
  343. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/singleton_local_time_zone.py +36 -0
  344. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/string_.py +573 -0
  345. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/system_collections_generic.py +462 -0
  346. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/system_text.py +237 -0
  347. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/task.py +116 -0
  348. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/task_builder.py +122 -0
  349. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/thread.py +5 -0
  350. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/time_span.py +283 -0
  351. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/timer.py +24 -0
  352. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/types.py +401 -0
  353. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/uri.py +109 -0
  354. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_library/util.py +2735 -0
  355. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_openpyxl/__init__.py +0 -0
  356. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_openpyxl/openpyxl.py +362 -0
  357. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/cognite-sdk/__init__.py +0 -0
  358. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/cognite-sdk/cognite_sdk.py +22 -0
  359. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/flask/__init__.py +0 -0
  360. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/flask/flask.py +34 -0
  361. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/jupyter/__init__.py +0 -0
  362. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +47 -0
  363. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/jupyter/ipython.py +13 -0
  364. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/stdlib/__init__.py +0 -0
  365. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/stdlib/ast.py +1 -0
  366. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/stdlib/asyncio/__init__.py +0 -0
  367. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/stdlib/asyncio/events.py +17 -0
  368. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/stdlib/asyncio/futures.py +52 -0
  369. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/stdlib/asyncio/tasks.py +38 -0
  370. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/stdlib/base64_.py +1 -0
  371. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/stdlib/builtins_.py +38 -0
  372. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/stdlib/html.py +1 -0
  373. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/stdlib/json.py +1 -0
  374. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/stdlib/math_.py +1 -0
  375. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/stdlib/os_.py +1 -0
  376. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/stdlib/queue_.py +1 -0
  377. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/stdlib/string_.py +1 -0
  378. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/stdlib/sys_.py +30 -0
  379. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/stdlib/time_.py +1 -0
  380. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fable_python/stdlib/tk_inter.py +1 -0
  381. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/Cells/__init__.py +0 -0
  382. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +338 -0
  383. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +469 -0
  384. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/__init__.py +0 -0
  385. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +214 -0
  386. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +139 -0
  387. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/dsl.py +50 -0
  388. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/expression.py +65 -0
  389. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/operators.py +9 -0
  390. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +139 -0
  391. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +118 -0
  392. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +122 -0
  393. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +464 -0
  394. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/types.py +314 -0
  395. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +106 -0
  396. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/Json/__init__.py +0 -0
  397. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/Json/cell.py +103 -0
  398. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/Json/column.py +70 -0
  399. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/Json/row.py +70 -0
  400. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/Json/table.py +57 -0
  401. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/Json/value.py +93 -0
  402. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/Json/workbook.py +71 -0
  403. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +217 -0
  404. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
  405. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +47 -0
  406. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +186 -0
  407. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +90 -0
  408. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +78 -0
  409. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +48 -0
  410. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/Tables/__init__.py +0 -0
  411. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +393 -0
  412. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +127 -0
  413. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_row.py +23 -0
  414. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/__init__.py +0 -0
  415. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/fs_address.py +218 -0
  416. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/fs_column.py +172 -0
  417. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/fs_row.py +183 -0
  418. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +180 -0
  419. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +600 -0
  420. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +330 -0
  421. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
  422. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet_py/cell.py +63 -0
  423. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet_py/cell_type.py +50 -0
  424. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +60 -0
  425. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet_py/json.py +47 -0
  426. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet_py/table.py +53 -0
  427. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet_py/workbook.py +40 -0
  428. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +54 -0
  429. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
  430. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
  431. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/thoth_json_core/decode.py +1588 -0
  432. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/thoth_json_core/encode.py +261 -0
  433. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/thoth_json_core/types.py +181 -0
  434. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/thoth_json_python/__init__.py +0 -0
  435. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/thoth_json_python/decode.py +112 -0
  436. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/thoth_json_python/encode.py +72 -0
  437. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/thoth_json_python/python.py +1 -0
  438. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/yamlicious/Interop/__init__.py +0 -0
  439. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/yamlicious/Interop/js_interop.py +1 -0
  440. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/yamlicious/Interop/py_interop.py +7 -0
  441. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/yamlicious/__init__.py +0 -0
  442. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/yamlicious/decode.py +1784 -0
  443. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/yamlicious/encode.py +84 -0
  444. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/yamlicious/library.py +10 -0
  445. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/yamlicious/persil.py +57 -0
  446. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/yamlicious/preprocessing.py +99 -0
  447. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/yamlicious/reader.py +665 -0
  448. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/yamlicious/regex.py +21 -0
  449. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/yamlicious/regex_active_patterns.py +256 -0
  450. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/yamlicious/writer.py +175 -0
  451. arctrl-3.0.0a3/src/ARCtrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
  452. arctrl-3.0.0a3/src/ARCtrl/py/json.py +213 -0
  453. arctrl-3.0.0a3/src/ARCtrl/py/rocrate_io.py +72 -0
  454. arctrl-3.0.0a3/src/ARCtrl/py/template_web.py +23 -0
  455. arctrl-3.0.0a3/src/ARCtrl/py/xlsx.py +148 -0
  456. arctrl-3.0.0a3/src/ARCtrl/rocrate.py +21 -0
arctrl-3.0.0a3/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2021 DataPLANT
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,119 @@
1
+ Metadata-Version: 2.3
2
+ Name: arctrl
3
+ Version: 3.0.0a3
4
+ Summary: Library for management of Annotated Research Contexts (ARCs) using an in-memory representation and runtimer agnostic contract systems.
5
+ Keywords: arc,annotated research context,isa,research data,multi platform
6
+ Author: Heinrich Lukas Weil
7
+ Author-email: weil@rptu.de
8
+ Maintainer: Florian Wetzels
9
+ Requires-Python: >=3.11
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.11
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Programming Language :: Python :: 3.13
14
+ Requires-Dist: openpyxl (>=3.1.5,<4)
15
+ Requires-Dist: requests (>=2.28.1,<3.0.0)
16
+ Project-URL: Repository, https://github.com/nfdi4plants/ARCtrl
17
+ Description-Content-Type: text/markdown
18
+
19
+ 
20
+ ![logo](logos/ARCtrl_horizontal.png)
21
+
22
+ # ARCtrl
23
+
24
+ > **ARCtrl** the easy way to read, manipulate and write ARCs in __.NET__, __JavaScript__ and __Python__! ❤️
25
+
26
+ | Version | Downloads |
27
+ | :--------|-----------:|
28
+ |<a href="https://www.nuget.org/packages/ARCtrl/"><img alt="Nuget" src="https://img.shields.io/nuget/v/ARCtrl?logo=nuget&color=%234fb3d9"></a>|<a href="https://www.nuget.org/packages/ARCtrl/"><img alt="Nuget" src="https://img.shields.io/nuget/dt/ARCtrl?color=%234FB3D9"></a>|
29
+ |<a href="https://www.npmjs.com/package/@nfdi4plants/arctrl"><img alt="NPM" src="https://img.shields.io/npm/v/%40nfdi4plants/arctrl?logo=npm&color=%234fb3d9"></a>|<a href="https://www.npmjs.com/package/@nfdi4plants/arctrl"><img alt="NPM" src="https://img.shields.io/npm/dt/%40nfdi4plants%2Farctrl?color=%234fb3d9"></a>|
30
+ |<a href="https://pypi.org/project/ARCtrl/"><img alt="PyPI" src="https://img.shields.io/pypi/v/arctrl?logo=pypi&color=%234fb3d9"></a>|<a href="https://pypi.org/project/ARCtrl/"><img alt="PyPI" src="https://img.shields.io/pepy/dt/arctrl?color=%234fb3d9"></a>|
31
+
32
+ ## Install
33
+
34
+ #### .NET
35
+
36
+ ```fsharp
37
+ #r "nuget: ARCtrl"
38
+ ```
39
+
40
+ ```bash
41
+ <PackageReference Include="ARCtrl" Version="1.1.0" />
42
+ ```
43
+
44
+ #### JavaScript
45
+
46
+ ```bash
47
+ npm i @nfdi4plants/arctrl
48
+ ```
49
+
50
+ #### Python
51
+
52
+ ```bash
53
+ pip install arctrl
54
+ ```
55
+
56
+ ## Docs
57
+
58
+ Documentation can be found [here](https://nfdi4plants.github.io/nfdi4plants.knowledgebase/arctrl/)
59
+
60
+ ## Development
61
+
62
+ #### Requirements
63
+
64
+ - [nodejs and npm](https://nodejs.org/en/download)
65
+ - verify with `node --version` (Tested with v18.16.1)
66
+ - verify with `npm --version` (Tested with v9.2.0)
67
+ - [.NET SDK](https://dotnet.microsoft.com/en-us/download)
68
+ - verify with `dotnet --version` (Tested with 7.0.306)
69
+ - [Python](https://www.python.org/downloads/)
70
+ - verify with `py --version` (Tested with 3.12.2, known to work only for >=3.11)
71
+
72
+ #### Local Setup
73
+
74
+ On windows you can use the `setup.cmd` to run the following steps automatically!
75
+
76
+ 1. Setup dotnet tools
77
+
78
+ `dotnet tool restore`
79
+
80
+
81
+ 2. Install NPM dependencies
82
+
83
+ `npm install`
84
+
85
+ 3. Setup python environment
86
+
87
+ `py -m venv .venv`
88
+
89
+ 4. Install [uv](https://docs.astral.sh/uv/) and dependencies
90
+
91
+ 1. `.\.venv\Scripts\python.exe -m pip install -U pip setuptools`
92
+ 2. `.\.venv\Scripts\python.exe -m pip install uv`
93
+ 3. `.\.venv\Scripts\python.exe -m uv pip install -r pyproject.toml --group dev`
94
+
95
+ Verify correct setup with `./build.cmd runtests` ✨
96
+
97
+ ## Branding
98
+
99
+ Feel free to reference `ARCtrl` on slides or elsewhere using our logos:
100
+
101
+ |Square | Horizontal | Vertical |
102
+ | - | - | - |
103
+ | ![square](logos/ARCtrl_square.png) | ![horizontal](logos/ARCtrl_horizontal.png) | ![vertical](logos/ARCtrl_vertical.png) |
104
+
105
+ ## Performance
106
+
107
+ Measured on 13th Gen Intel(R) Core(TM) i7-13800H
108
+
109
+ | Name | Description | FSharp Time (ms) | JavaScript Time (ms) | Python Time (ms) |
110
+ | --- | --- | --- | --- | --- |
111
+ | Table_GetHashCode | From a table with 1 column and 10000 rows, retrieve the Hash Code | 5 | 21 | 226 |
112
+ | Table_AddRows | Add 10000 rows to a table with 4 columns. | 15 | 22 | 289 |
113
+ | Table_fillMissingCells | For a table 6 columns and 20000 rows, where each row has one missing value, fill those values with default values. | 49 | 108 | 4813 |
114
+ | Table_ToJson | Serialize a table with 5 columns and 10000 rows to json. | 1099 | 481 | 6833 |
115
+ | Table_ToCompressedJson | Serialize a table with 5 columns and 10000 rows to compressed json. | 261 | 2266 | 717334 |
116
+ | Assay_toJson | Parse an assay with one table with 10000 rows and 6 columns to json | 915 | 2459 | 28799 |
117
+ | Study_FromWorkbook | Parse a workbook with one study with 10000 rows and 6 columns to an ArcStudy | 97 | 87 | 1249 |
118
+ | Investigation_ToWorkbook_ManyStudies | Parse an investigation with 1500 studies to a workbook | 621 | 379 | 9974 |
119
+
@@ -0,0 +1,100 @@
1
+ 
2
+ ![logo](logos/ARCtrl_horizontal.png)
3
+
4
+ # ARCtrl
5
+
6
+ > **ARCtrl** the easy way to read, manipulate and write ARCs in __.NET__, __JavaScript__ and __Python__! ❤️
7
+
8
+ | Version | Downloads |
9
+ | :--------|-----------:|
10
+ |<a href="https://www.nuget.org/packages/ARCtrl/"><img alt="Nuget" src="https://img.shields.io/nuget/v/ARCtrl?logo=nuget&color=%234fb3d9"></a>|<a href="https://www.nuget.org/packages/ARCtrl/"><img alt="Nuget" src="https://img.shields.io/nuget/dt/ARCtrl?color=%234FB3D9"></a>|
11
+ |<a href="https://www.npmjs.com/package/@nfdi4plants/arctrl"><img alt="NPM" src="https://img.shields.io/npm/v/%40nfdi4plants/arctrl?logo=npm&color=%234fb3d9"></a>|<a href="https://www.npmjs.com/package/@nfdi4plants/arctrl"><img alt="NPM" src="https://img.shields.io/npm/dt/%40nfdi4plants%2Farctrl?color=%234fb3d9"></a>|
12
+ |<a href="https://pypi.org/project/ARCtrl/"><img alt="PyPI" src="https://img.shields.io/pypi/v/arctrl?logo=pypi&color=%234fb3d9"></a>|<a href="https://pypi.org/project/ARCtrl/"><img alt="PyPI" src="https://img.shields.io/pepy/dt/arctrl?color=%234fb3d9"></a>|
13
+
14
+ ## Install
15
+
16
+ #### .NET
17
+
18
+ ```fsharp
19
+ #r "nuget: ARCtrl"
20
+ ```
21
+
22
+ ```bash
23
+ <PackageReference Include="ARCtrl" Version="1.1.0" />
24
+ ```
25
+
26
+ #### JavaScript
27
+
28
+ ```bash
29
+ npm i @nfdi4plants/arctrl
30
+ ```
31
+
32
+ #### Python
33
+
34
+ ```bash
35
+ pip install arctrl
36
+ ```
37
+
38
+ ## Docs
39
+
40
+ Documentation can be found [here](https://nfdi4plants.github.io/nfdi4plants.knowledgebase/arctrl/)
41
+
42
+ ## Development
43
+
44
+ #### Requirements
45
+
46
+ - [nodejs and npm](https://nodejs.org/en/download)
47
+ - verify with `node --version` (Tested with v18.16.1)
48
+ - verify with `npm --version` (Tested with v9.2.0)
49
+ - [.NET SDK](https://dotnet.microsoft.com/en-us/download)
50
+ - verify with `dotnet --version` (Tested with 7.0.306)
51
+ - [Python](https://www.python.org/downloads/)
52
+ - verify with `py --version` (Tested with 3.12.2, known to work only for >=3.11)
53
+
54
+ #### Local Setup
55
+
56
+ On windows you can use the `setup.cmd` to run the following steps automatically!
57
+
58
+ 1. Setup dotnet tools
59
+
60
+ `dotnet tool restore`
61
+
62
+
63
+ 2. Install NPM dependencies
64
+
65
+ `npm install`
66
+
67
+ 3. Setup python environment
68
+
69
+ `py -m venv .venv`
70
+
71
+ 4. Install [uv](https://docs.astral.sh/uv/) and dependencies
72
+
73
+ 1. `.\.venv\Scripts\python.exe -m pip install -U pip setuptools`
74
+ 2. `.\.venv\Scripts\python.exe -m pip install uv`
75
+ 3. `.\.venv\Scripts\python.exe -m uv pip install -r pyproject.toml --group dev`
76
+
77
+ Verify correct setup with `./build.cmd runtests` ✨
78
+
79
+ ## Branding
80
+
81
+ Feel free to reference `ARCtrl` on slides or elsewhere using our logos:
82
+
83
+ |Square | Horizontal | Vertical |
84
+ | - | - | - |
85
+ | ![square](logos/ARCtrl_square.png) | ![horizontal](logos/ARCtrl_horizontal.png) | ![vertical](logos/ARCtrl_vertical.png) |
86
+
87
+ ## Performance
88
+
89
+ Measured on 13th Gen Intel(R) Core(TM) i7-13800H
90
+
91
+ | Name | Description | FSharp Time (ms) | JavaScript Time (ms) | Python Time (ms) |
92
+ | --- | --- | --- | --- | --- |
93
+ | Table_GetHashCode | From a table with 1 column and 10000 rows, retrieve the Hash Code | 5 | 21 | 226 |
94
+ | Table_AddRows | Add 10000 rows to a table with 4 columns. | 15 | 22 | 289 |
95
+ | Table_fillMissingCells | For a table 6 columns and 20000 rows, where each row has one missing value, fill those values with default values. | 49 | 108 | 4813 |
96
+ | Table_ToJson | Serialize a table with 5 columns and 10000 rows to json. | 1099 | 481 | 6833 |
97
+ | Table_ToCompressedJson | Serialize a table with 5 columns and 10000 rows to compressed json. | 261 | 2266 | 717334 |
98
+ | Assay_toJson | Parse an assay with one table with 10000 rows and 6 columns to json | 915 | 2459 | 28799 |
99
+ | Study_FromWorkbook | Parse a workbook with one study with 10000 rows and 6 columns to an ArcStudy | 97 | 87 | 1249 |
100
+ | Investigation_ToWorkbook_ManyStudies | Parse an investigation with 1500 studies to a workbook | 621 | 379 | 9974 |
@@ -0,0 +1,40 @@
1
+ [project]
2
+ name = "arctrl"
3
+ version = "3.0.0a3"
4
+ description = "Library for management of Annotated Research Contexts (ARCs) using an in-memory representation and runtimer agnostic contract systems."
5
+ authors = [
6
+ { name = "Heinrich Lukas Weil", email = "weil@rptu.de" },
7
+ { name = "Kevin Frey", email = "freymaurer@gmx.de" },
8
+ ]
9
+ requires-python = ">=3.11"
10
+ readme = "README.md"
11
+ maintainers = [{ name = "Florian Wetzels" }]
12
+ keywords = [
13
+ "arc",
14
+ "annotated research context",
15
+ "isa",
16
+ "research data",
17
+ "multi platform",
18
+ ]
19
+ dependencies = [
20
+ "requests>= 2.28.1, <3.0.0",
21
+ "openpyxl>=3.1.5,<4",
22
+ ]
23
+
24
+ [project.urls]
25
+ Repository = "https://github.com/nfdi4plants/ARCtrl"
26
+
27
+ [dependency-groups]
28
+ dev = ["pytest>=8.1.1,<9"]
29
+
30
+ [tool.poetry]
31
+ include = [
32
+ "src/ARCtrl/py/**/*.py"
33
+ ]
34
+ packages = [
35
+ { include = "**/*.py", from = "src/ARCtrl/", to = "arctrl" }
36
+ ]
37
+
38
+ [build-system]
39
+ requires = ["poetry-core"]
40
+ build-backend = "poetry.core.masonry.api"
@@ -0,0 +1,18 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import Any
4
+ from .py.Contract.contract import Contract
5
+ from .py.Core.comment import Comment
6
+ from .py.Core.ontology_annotation import OntologyAnnotation
7
+ from .py.Core.person import Person
8
+ from .py.Core.publication import Publication
9
+ from .py.Core.Table.composite_header import IOType, CompositeHeader
10
+ from .py.Core.Table.composite_cell import CompositeCell
11
+ from .py.Core.Table.composite_column import CompositeColumn
12
+ from .py.Core.Table.arc_table import ArcTable
13
+ from .py.Core.Table.arc_tables import ArcTables
14
+ from .py.Core.arc_types import ArcAssay, ArcStudy, ArcRun, ArcWorkflow, ArcInvestigation
15
+ from .py.Core.template import Template
16
+ from .py.json import JsonController
17
+ from .py.xlsx import XlsxController
18
+ from .py.arc import ARC
File without changes
@@ -0,0 +1,150 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+ from typing import Any
4
+ from ..fable_modules.dynamic_obj.dynamic_obj import (DynamicObj, DynamicObj_reflection)
5
+ from ..fable_modules.dynamic_obj.dyn_obj import set_property
6
+ from ..fable_modules.fable_library.reflection import (TypeInfo, class_type, string_type, option_type, bool_type, record_type, union_type, array_type)
7
+ from ..fable_modules.fable_library.types import (Record, Array, Union, FSharpRef)
8
+
9
+ def _expr2998() -> TypeInfo:
10
+ return class_type("ARCtrl.CWL.FileInstance", None, FileInstance, DynamicObj_reflection())
11
+
12
+
13
+ class FileInstance(DynamicObj):
14
+ def __init__(self, __unit: None=None) -> None:
15
+ super().__init__()
16
+ pass
17
+
18
+
19
+ FileInstance_reflection = _expr2998
20
+
21
+ def FileInstance__ctor(__unit: None=None) -> FileInstance:
22
+ return FileInstance(__unit)
23
+
24
+
25
+ def _expr2999() -> TypeInfo:
26
+ return class_type("ARCtrl.CWL.DirectoryInstance", None, DirectoryInstance, DynamicObj_reflection())
27
+
28
+
29
+ class DirectoryInstance(DynamicObj):
30
+ def __init__(self, __unit: None=None) -> None:
31
+ super().__init__()
32
+ pass
33
+
34
+
35
+ DirectoryInstance_reflection = _expr2999
36
+
37
+ def DirectoryInstance__ctor(__unit: None=None) -> DirectoryInstance:
38
+ return DirectoryInstance(__unit)
39
+
40
+
41
+ def _expr3000() -> TypeInfo:
42
+ return record_type("ARCtrl.CWL.DirentInstance", [], DirentInstance, lambda: [("Entry", string_type), ("Entryname", option_type(string_type)), ("Writable", option_type(bool_type))])
43
+
44
+
45
+ @dataclass(eq = False, repr = False, slots = True)
46
+ class DirentInstance(Record):
47
+ Entry: str
48
+ Entryname: str | None
49
+ Writable: bool | None
50
+
51
+ DirentInstance_reflection = _expr3000
52
+
53
+ def _expr3001() -> TypeInfo:
54
+ return union_type("ARCtrl.CWL.CWLType", [], CWLType, lambda: [[("Item", FileInstance_reflection())], [("Item", DirectoryInstance_reflection())], [("Item", DirentInstance_reflection())], [], [], [], [], [], [], [], [], [("Item", CWLType_reflection())]])
55
+
56
+
57
+ class CWLType(Union):
58
+ def __init__(self, tag: int, *fields: Any) -> None:
59
+ super().__init__()
60
+ self.tag: int = tag or 0
61
+ self.fields: Array[Any] = list(fields)
62
+
63
+ @staticmethod
64
+ def cases() -> list[str]:
65
+ return ["File", "Directory", "Dirent", "String", "Int", "Long", "Float", "Double", "Boolean", "Stdout", "Null", "Array"]
66
+
67
+
68
+ CWLType_reflection = _expr3001
69
+
70
+ def _expr3002() -> TypeInfo:
71
+ return class_type("ARCtrl.CWL.InputRecordSchema", None, InputRecordSchema, DynamicObj_reflection())
72
+
73
+
74
+ class InputRecordSchema(DynamicObj):
75
+ def __init__(self, __unit: None=None) -> None:
76
+ super().__init__()
77
+ pass
78
+
79
+
80
+ InputRecordSchema_reflection = _expr3002
81
+
82
+ def InputRecordSchema__ctor(__unit: None=None) -> InputRecordSchema:
83
+ return InputRecordSchema(__unit)
84
+
85
+
86
+ def _expr3003() -> TypeInfo:
87
+ return class_type("ARCtrl.CWL.InputEnumSchema", None, InputEnumSchema, DynamicObj_reflection())
88
+
89
+
90
+ class InputEnumSchema(DynamicObj):
91
+ def __init__(self, __unit: None=None) -> None:
92
+ super().__init__()
93
+ pass
94
+
95
+
96
+ InputEnumSchema_reflection = _expr3003
97
+
98
+ def InputEnumSchema__ctor(__unit: None=None) -> InputEnumSchema:
99
+ return InputEnumSchema(__unit)
100
+
101
+
102
+ def _expr3004() -> TypeInfo:
103
+ return class_type("ARCtrl.CWL.InputArraySchema", None, InputArraySchema, DynamicObj_reflection())
104
+
105
+
106
+ class InputArraySchema(DynamicObj):
107
+ def __init__(self, __unit: None=None) -> None:
108
+ super().__init__()
109
+ pass
110
+
111
+
112
+ InputArraySchema_reflection = _expr3004
113
+
114
+ def InputArraySchema__ctor(__unit: None=None) -> InputArraySchema:
115
+ return InputArraySchema(__unit)
116
+
117
+
118
+ def _expr3005() -> TypeInfo:
119
+ return class_type("ARCtrl.CWL.SchemaDefRequirementType", None, SchemaDefRequirementType, DynamicObj_reflection())
120
+
121
+
122
+ class SchemaDefRequirementType(DynamicObj):
123
+ def __init__(self, types: Any=None, definitions: Any=None) -> None:
124
+ super().__init__()
125
+ this: FSharpRef[SchemaDefRequirementType] = FSharpRef(None)
126
+ this.contents = self
127
+ self.init_004047: int = 1
128
+ set_property("types", definitions, this.contents)
129
+
130
+
131
+ SchemaDefRequirementType_reflection = _expr3005
132
+
133
+ def SchemaDefRequirementType__ctor_541DA560(types: Any=None, definitions: Any=None) -> SchemaDefRequirementType:
134
+ return SchemaDefRequirementType(types, definitions)
135
+
136
+
137
+ def _expr3006() -> TypeInfo:
138
+ return record_type("ARCtrl.CWL.SoftwarePackage", [], SoftwarePackage, lambda: [("Package", string_type), ("Version", option_type(array_type(string_type))), ("Specs", option_type(array_type(string_type)))])
139
+
140
+
141
+ @dataclass(eq = False, repr = False, slots = True)
142
+ class SoftwarePackage(Record):
143
+ Package: str
144
+ Version: Array[str] | None
145
+ Specs: Array[str] | None
146
+
147
+ SoftwarePackage_reflection = _expr3006
148
+
149
+ __all__ = ["FileInstance_reflection", "DirectoryInstance_reflection", "DirentInstance_reflection", "CWLType_reflection", "InputRecordSchema_reflection", "InputEnumSchema_reflection", "InputArraySchema_reflection", "SchemaDefRequirementType_reflection", "SoftwarePackage_reflection"]
150
+