arctrl 3.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (511) hide show
  1. arctrl/__init__.py +23 -0
  2. arctrl/cwl.py +12 -0
  3. arctrl/py/CWL/__init__.py +0 -0
  4. arctrl/py/CWL/cwlprocessing_unit.py +221 -0
  5. arctrl/py/CWL/cwltypes.py +364 -0
  6. arctrl/py/CWL/decode.py +3532 -0
  7. arctrl/py/CWL/encode.py +1905 -0
  8. arctrl/py/CWL/expression_tool_description.py +192 -0
  9. arctrl/py/CWL/hash_helpers.py +60 -0
  10. arctrl/py/CWL/inputs.py +122 -0
  11. arctrl/py/CWL/operation_description.py +169 -0
  12. arctrl/py/CWL/outputs.py +171 -0
  13. arctrl/py/CWL/parameter_reference.py +74 -0
  14. arctrl/py/CWL/requirements.py +350 -0
  15. arctrl/py/CWL/tool_description.py +192 -0
  16. arctrl/py/CWL/workflow_description.py +181 -0
  17. arctrl/py/CWL/workflow_steps.py +354 -0
  18. arctrl/py/Contract/__init__.py +0 -0
  19. arctrl/py/Contract/arc.py +89 -0
  20. arctrl/py/Contract/arc_assay.py +125 -0
  21. arctrl/py/Contract/arc_investigation.py +88 -0
  22. arctrl/py/Contract/arc_run.py +291 -0
  23. arctrl/py/Contract/arc_study.py +126 -0
  24. arctrl/py/Contract/arc_workflow.py +213 -0
  25. arctrl/py/Contract/contract.py +153 -0
  26. arctrl/py/Contract/datamap.py +396 -0
  27. arctrl/py/Contract/git.py +116 -0
  28. arctrl/py/Contract/license.py +58 -0
  29. arctrl/py/Contract/validation_packages_config.py +107 -0
  30. arctrl/py/ContractIO/__init__.py +0 -0
  31. arctrl/py/ContractIO/contract_io.py +350 -0
  32. arctrl/py/ContractIO/file_system_helper.py +264 -0
  33. arctrl/py/Conversion/__init__.py +0 -0
  34. arctrl/py/Conversion/assay.py +151 -0
  35. arctrl/py/Conversion/basic.py +559 -0
  36. arctrl/py/Conversion/column_index.py +91 -0
  37. arctrl/py/Conversion/datamap.py +36 -0
  38. arctrl/py/Conversion/date_time.py +32 -0
  39. arctrl/py/Conversion/investigation.py +171 -0
  40. arctrl/py/Conversion/person.py +148 -0
  41. arctrl/py/Conversion/process.py +828 -0
  42. arctrl/py/Conversion/run.py +367 -0
  43. arctrl/py/Conversion/scholarly_article.py +163 -0
  44. arctrl/py/Conversion/study.py +99 -0
  45. arctrl/py/Conversion/table.py +229 -0
  46. arctrl/py/Conversion/workflow.py +680 -0
  47. arctrl/py/Core/Helper/__init__.py +0 -0
  48. arctrl/py/Core/Helper/collections_.py +512 -0
  49. arctrl/py/Core/Helper/date_time.py +26 -0
  50. arctrl/py/Core/Helper/hash_codes.py +60 -0
  51. arctrl/py/Core/Helper/identifier.py +290 -0
  52. arctrl/py/Core/Helper/orcid.py +42 -0
  53. arctrl/py/Core/Helper/printer.py +13 -0
  54. arctrl/py/Core/Helper/regex.py +554 -0
  55. arctrl/py/Core/Helper/sem_ver.py +71 -0
  56. arctrl/py/Core/Helper/url.py +148 -0
  57. arctrl/py/Core/Process/__init__.py +0 -0
  58. arctrl/py/Core/Process/column_index.py +280 -0
  59. arctrl/py/Core/Process/component.py +200 -0
  60. arctrl/py/Core/Process/factor.py +151 -0
  61. arctrl/py/Core/Process/factor_value.py +182 -0
  62. arctrl/py/Core/Process/material.py +74 -0
  63. arctrl/py/Core/Process/material_attribute.py +95 -0
  64. arctrl/py/Core/Process/material_attribute_value.py +184 -0
  65. arctrl/py/Core/Process/material_type.py +45 -0
  66. arctrl/py/Core/Process/process.py +477 -0
  67. arctrl/py/Core/Process/process_input.py +265 -0
  68. arctrl/py/Core/Process/process_output.py +235 -0
  69. arctrl/py/Core/Process/process_parameter_value.py +200 -0
  70. arctrl/py/Core/Process/process_sequence.py +435 -0
  71. arctrl/py/Core/Process/protocol.py +175 -0
  72. arctrl/py/Core/Process/protocol_parameter.py +98 -0
  73. arctrl/py/Core/Process/sample.py +82 -0
  74. arctrl/py/Core/Process/source.py +62 -0
  75. arctrl/py/Core/Table/__init__.py +0 -0
  76. arctrl/py/Core/Table/arc_table.py +1206 -0
  77. arctrl/py/Core/Table/arc_table_aux.py +1308 -0
  78. arctrl/py/Core/Table/arc_tables.py +574 -0
  79. arctrl/py/Core/Table/composite_cell.py +319 -0
  80. arctrl/py/Core/Table/composite_column.py +73 -0
  81. arctrl/py/Core/Table/composite_header.py +739 -0
  82. arctrl/py/Core/__init__.py +0 -0
  83. arctrl/py/Core/arc_types.py +5312 -0
  84. arctrl/py/Core/comment.py +128 -0
  85. arctrl/py/Core/comment_list.py +127 -0
  86. arctrl/py/Core/conversion.py +1375 -0
  87. arctrl/py/Core/data.py +247 -0
  88. arctrl/py/Core/data_context.py +157 -0
  89. arctrl/py/Core/data_file.py +112 -0
  90. arctrl/py/Core/datamap.py +217 -0
  91. arctrl/py/Core/identifier_setters.py +43 -0
  92. arctrl/py/Core/iproperty_value.py +36 -0
  93. arctrl/py/Core/ontology_annotation.py +298 -0
  94. arctrl/py/Core/ontology_source_reference.py +114 -0
  95. arctrl/py/Core/person.py +259 -0
  96. arctrl/py/Core/publication.py +161 -0
  97. arctrl/py/Core/template.py +231 -0
  98. arctrl/py/Core/templates.py +148 -0
  99. arctrl/py/Core/uri.py +11 -0
  100. arctrl/py/Core/value.py +188 -0
  101. arctrl/py/FileSystem/__init__.py +0 -0
  102. arctrl/py/FileSystem/commit.py +21 -0
  103. arctrl/py/FileSystem/default_gitattributes.py +1 -0
  104. arctrl/py/FileSystem/default_gitignore.py +1 -0
  105. arctrl/py/FileSystem/default_license.py +1 -0
  106. arctrl/py/FileSystem/file_system.py +58 -0
  107. arctrl/py/FileSystem/file_system_tree.py +483 -0
  108. arctrl/py/FileSystem/path.py +266 -0
  109. arctrl/py/Json/Datamap/__init__.py +0 -0
  110. arctrl/py/Json/Datamap/data_context.py +101 -0
  111. arctrl/py/Json/Datamap/datamap.py +53 -0
  112. arctrl/py/Json/Process/__init__.py +0 -0
  113. arctrl/py/Json/Process/assay_materials.py +46 -0
  114. arctrl/py/Json/Process/component.py +125 -0
  115. arctrl/py/Json/Process/factor.py +107 -0
  116. arctrl/py/Json/Process/factor_value.py +101 -0
  117. arctrl/py/Json/Process/material.py +226 -0
  118. arctrl/py/Json/Process/material_attribute.py +79 -0
  119. arctrl/py/Json/Process/material_attribute_value.py +101 -0
  120. arctrl/py/Json/Process/material_type.py +53 -0
  121. arctrl/py/Json/Process/process.py +296 -0
  122. arctrl/py/Json/Process/process_input.py +83 -0
  123. arctrl/py/Json/Process/process_output.py +67 -0
  124. arctrl/py/Json/Process/process_parameter_value.py +81 -0
  125. arctrl/py/Json/Process/protocol.py +354 -0
  126. arctrl/py/Json/Process/protocol_parameter.py +91 -0
  127. arctrl/py/Json/Process/sample.py +277 -0
  128. arctrl/py/Json/Process/source.py +214 -0
  129. arctrl/py/Json/Process/study_materials.py +52 -0
  130. arctrl/py/Json/Process/value.py +56 -0
  131. arctrl/py/Json/ROCrate/__init__.py +0 -0
  132. arctrl/py/Json/ROCrate/ldcontext.py +143 -0
  133. arctrl/py/Json/ROCrate/ldgraph.py +117 -0
  134. arctrl/py/Json/ROCrate/ldnode.py +304 -0
  135. arctrl/py/Json/ROCrate/ldref.py +44 -0
  136. arctrl/py/Json/ROCrate/ldvalue.py +102 -0
  137. arctrl/py/Json/Table/__init__.py +0 -0
  138. arctrl/py/Json/Table/arc_table.py +375 -0
  139. arctrl/py/Json/Table/cell_table.py +83 -0
  140. arctrl/py/Json/Table/composite_cell.py +136 -0
  141. arctrl/py/Json/Table/composite_header.py +67 -0
  142. arctrl/py/Json/Table/iotype.py +24 -0
  143. arctrl/py/Json/Table/oatable.py +82 -0
  144. arctrl/py/Json/Table/templates.py +281 -0
  145. arctrl/py/Json/__init__.py +0 -0
  146. arctrl/py/Json/assay.py +600 -0
  147. arctrl/py/Json/comment.py +206 -0
  148. arctrl/py/Json/context/rocrate/__init__.py +0 -0
  149. arctrl/py/Json/context/rocrate/isa_assay_context.py +101 -0
  150. arctrl/py/Json/context/rocrate/isa_comment_context.py +60 -0
  151. arctrl/py/Json/context/rocrate/isa_component_context.py +77 -0
  152. arctrl/py/Json/context/rocrate/isa_data_context.py +74 -0
  153. arctrl/py/Json/context/rocrate/isa_factor_context.py +74 -0
  154. arctrl/py/Json/context/rocrate/isa_factor_value_context.py +84 -0
  155. arctrl/py/Json/context/rocrate/isa_investigation_context.py +110 -0
  156. arctrl/py/Json/context/rocrate/isa_material_attribute_context.py +64 -0
  157. arctrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +80 -0
  158. arctrl/py/Json/context/rocrate/isa_material_context.py +71 -0
  159. arctrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +68 -0
  160. arctrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +75 -0
  161. arctrl/py/Json/context/rocrate/isa_organization_context.py +55 -0
  162. arctrl/py/Json/context/rocrate/isa_person_context.py +131 -0
  163. arctrl/py/Json/context/rocrate/isa_process_context.py +94 -0
  164. arctrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +80 -0
  165. arctrl/py/Json/context/rocrate/isa_protocol_context.py +97 -0
  166. arctrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +64 -0
  167. arctrl/py/Json/context/rocrate/isa_publication_context.py +78 -0
  168. arctrl/py/Json/context/rocrate/isa_sample_context.py +65 -0
  169. arctrl/py/Json/context/rocrate/isa_source_context.py +66 -0
  170. arctrl/py/Json/context/rocrate/isa_study_context.py +125 -0
  171. arctrl/py/Json/context/rocrate/property_value_context.py +73 -0
  172. arctrl/py/Json/context/rocrate/rocrate_context.py +81 -0
  173. arctrl/py/Json/converter_options.py +23 -0
  174. arctrl/py/Json/data.py +356 -0
  175. arctrl/py/Json/data_file.py +63 -0
  176. arctrl/py/Json/decode.py +271 -0
  177. arctrl/py/Json/encode.py +140 -0
  178. arctrl/py/Json/idtable.py +44 -0
  179. arctrl/py/Json/investigation.py +695 -0
  180. arctrl/py/Json/ontology_annotation.py +404 -0
  181. arctrl/py/Json/ontology_source_reference.py +255 -0
  182. arctrl/py/Json/person.py +658 -0
  183. arctrl/py/Json/property_value.py +359 -0
  184. arctrl/py/Json/publication.py +279 -0
  185. arctrl/py/Json/run.py +275 -0
  186. arctrl/py/Json/string_table.py +87 -0
  187. arctrl/py/Json/study.py +793 -0
  188. arctrl/py/Json/workflow.py +307 -0
  189. arctrl/py/JsonIO/Process/__init__.py +0 -0
  190. arctrl/py/JsonIO/Process/component.py +60 -0
  191. arctrl/py/JsonIO/Process/factor.py +36 -0
  192. arctrl/py/JsonIO/Process/factor_value.py +38 -0
  193. arctrl/py/JsonIO/Process/material.py +60 -0
  194. arctrl/py/JsonIO/Process/material_attribute.py +38 -0
  195. arctrl/py/JsonIO/Process/material_attribute_value.py +60 -0
  196. arctrl/py/JsonIO/Process/material_type.py +36 -0
  197. arctrl/py/JsonIO/Process/process.py +60 -0
  198. arctrl/py/JsonIO/Process/process_input.py +38 -0
  199. arctrl/py/JsonIO/Process/process_output.py +60 -0
  200. arctrl/py/JsonIO/Process/process_parameter_value.py +60 -0
  201. arctrl/py/JsonIO/Process/process_sequence.py +71 -0
  202. arctrl/py/JsonIO/Process/protocol.py +60 -0
  203. arctrl/py/JsonIO/Process/protocol_parameter.py +36 -0
  204. arctrl/py/JsonIO/Process/sample.py +60 -0
  205. arctrl/py/JsonIO/Process/source.py +60 -0
  206. arctrl/py/JsonIO/Process/study_materials.py +52 -0
  207. arctrl/py/JsonIO/Process/value.py +32 -0
  208. arctrl/py/JsonIO/Table/__init__.py +0 -0
  209. arctrl/py/JsonIO/Table/arc_table.py +103 -0
  210. arctrl/py/JsonIO/Table/composite_cell.py +36 -0
  211. arctrl/py/JsonIO/Table/composite_header.py +36 -0
  212. arctrl/py/JsonIO/Table/compression.py +67 -0
  213. arctrl/py/JsonIO/Table/iotype.py +36 -0
  214. arctrl/py/JsonIO/Table/templates.py +113 -0
  215. arctrl/py/JsonIO/__init__.py +0 -0
  216. arctrl/py/JsonIO/assay.py +113 -0
  217. arctrl/py/JsonIO/comment.py +80 -0
  218. arctrl/py/JsonIO/data.py +60 -0
  219. arctrl/py/JsonIO/data_file.py +58 -0
  220. arctrl/py/JsonIO/datamap.py +36 -0
  221. arctrl/py/JsonIO/decode.py +9 -0
  222. arctrl/py/JsonIO/encode.py +1 -0
  223. arctrl/py/JsonIO/investigation.py +91 -0
  224. arctrl/py/JsonIO/ldobject.py +106 -0
  225. arctrl/py/JsonIO/ontology_annotation.py +80 -0
  226. arctrl/py/JsonIO/ontology_source_reference.py +80 -0
  227. arctrl/py/JsonIO/person.py +82 -0
  228. arctrl/py/JsonIO/publication.py +82 -0
  229. arctrl/py/JsonIO/run.py +68 -0
  230. arctrl/py/JsonIO/study.py +114 -0
  231. arctrl/py/JsonIO/workflow.py +68 -0
  232. arctrl/py/ROCrate/ISAProfile/__init__.py +0 -0
  233. arctrl/py/ROCrate/ISAProfile/assay.py +70 -0
  234. arctrl/py/ROCrate/ISAProfile/data.py +65 -0
  235. arctrl/py/ROCrate/ISAProfile/dataset.py +24 -0
  236. arctrl/py/ROCrate/ISAProfile/investigation.py +73 -0
  237. arctrl/py/ROCrate/ISAProfile/lab_process.py +162 -0
  238. arctrl/py/ROCrate/ISAProfile/lab_protocol.py +37 -0
  239. arctrl/py/ROCrate/ISAProfile/person.py +72 -0
  240. arctrl/py/ROCrate/ISAProfile/property_value.py +98 -0
  241. arctrl/py/ROCrate/ISAProfile/sample.py +64 -0
  242. arctrl/py/ROCrate/ISAProfile/scholarly_article.py +98 -0
  243. arctrl/py/ROCrate/ISAProfile/study.py +74 -0
  244. arctrl/py/ROCrate/LDTypes/__init__.py +0 -0
  245. arctrl/py/ROCrate/LDTypes/comment.py +131 -0
  246. arctrl/py/ROCrate/LDTypes/computational_workflow.py +455 -0
  247. arctrl/py/ROCrate/LDTypes/computer_language.py +269 -0
  248. arctrl/py/ROCrate/LDTypes/create_action.py +303 -0
  249. arctrl/py/ROCrate/LDTypes/creative_work.py +566 -0
  250. arctrl/py/ROCrate/LDTypes/dataset.py +943 -0
  251. arctrl/py/ROCrate/LDTypes/defined_term.py +131 -0
  252. arctrl/py/ROCrate/LDTypes/file.py +281 -0
  253. arctrl/py/ROCrate/LDTypes/formal_parameter.py +431 -0
  254. arctrl/py/ROCrate/LDTypes/lab_process.py +352 -0
  255. arctrl/py/ROCrate/LDTypes/lab_protocol.py +395 -0
  256. arctrl/py/ROCrate/LDTypes/organization.py +83 -0
  257. arctrl/py/ROCrate/LDTypes/person.py +484 -0
  258. arctrl/py/ROCrate/LDTypes/postal_address.py +195 -0
  259. arctrl/py/ROCrate/LDTypes/property_value.py +952 -0
  260. arctrl/py/ROCrate/LDTypes/sample.py +202 -0
  261. arctrl/py/ROCrate/LDTypes/scholarly_article.py +229 -0
  262. arctrl/py/ROCrate/LDTypes/software_source_code.py +310 -0
  263. arctrl/py/ROCrate/LDTypes/workflow_invocation.py +48 -0
  264. arctrl/py/ROCrate/LDTypes/workflow_protocol.py +52 -0
  265. arctrl/py/ROCrate/__init__.py +0 -0
  266. arctrl/py/ROCrate/arc_rocrate_metadata.py +39 -0
  267. arctrl/py/ROCrate/dyn_obj_extensions.py +1 -0
  268. arctrl/py/ROCrate/helper.py +8 -0
  269. arctrl/py/ROCrate/ldcontext.py +406 -0
  270. arctrl/py/ROCrate/ldobject.py +1247 -0
  271. arctrl/py/ROCrate/rocrate_context.py +51 -0
  272. arctrl/py/Spreadsheet/AnnotationTable/__init__.py +0 -0
  273. arctrl/py/Spreadsheet/AnnotationTable/arc_table.py +203 -0
  274. arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
  275. arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +305 -0
  276. arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
  277. arctrl/py/Spreadsheet/DatamapTable/__init__.py +0 -0
  278. arctrl/py/Spreadsheet/DatamapTable/datamap_column.py +114 -0
  279. arctrl/py/Spreadsheet/DatamapTable/datamap_header.py +621 -0
  280. arctrl/py/Spreadsheet/DatamapTable/datamap_table.py +118 -0
  281. arctrl/py/Spreadsheet/Metadata/__init__.py +0 -0
  282. arctrl/py/Spreadsheet/Metadata/assays.py +125 -0
  283. arctrl/py/Spreadsheet/Metadata/comment.py +77 -0
  284. arctrl/py/Spreadsheet/Metadata/contacts.py +134 -0
  285. arctrl/py/Spreadsheet/Metadata/conversions.py +190 -0
  286. arctrl/py/Spreadsheet/Metadata/design_descriptors.py +34 -0
  287. arctrl/py/Spreadsheet/Metadata/factors.py +107 -0
  288. arctrl/py/Spreadsheet/Metadata/ontology_annotation.py +88 -0
  289. arctrl/py/Spreadsheet/Metadata/ontology_source_reference.py +96 -0
  290. arctrl/py/Spreadsheet/Metadata/protocols.py +146 -0
  291. arctrl/py/Spreadsheet/Metadata/publication.py +122 -0
  292. arctrl/py/Spreadsheet/Metadata/run.py +122 -0
  293. arctrl/py/Spreadsheet/Metadata/sparse_table.py +499 -0
  294. arctrl/py/Spreadsheet/Metadata/study.py +312 -0
  295. arctrl/py/Spreadsheet/Metadata/workflow.py +159 -0
  296. arctrl/py/Spreadsheet/__init__.py +0 -0
  297. arctrl/py/Spreadsheet/arc_assay.py +233 -0
  298. arctrl/py/Spreadsheet/arc_investigation.py +435 -0
  299. arctrl/py/Spreadsheet/arc_run.py +190 -0
  300. arctrl/py/Spreadsheet/arc_study.py +144 -0
  301. arctrl/py/Spreadsheet/arc_workflow.py +177 -0
  302. arctrl/py/Spreadsheet/assembly_info.py +1 -0
  303. arctrl/py/Spreadsheet/collection_aux.py +167 -0
  304. arctrl/py/Spreadsheet/datamap.py +43 -0
  305. arctrl/py/Spreadsheet/template.py +460 -0
  306. arctrl/py/ValidationPackages/__init__.py +0 -0
  307. arctrl/py/ValidationPackages/validation_package.py +82 -0
  308. arctrl/py/ValidationPackages/validation_packages_config.py +132 -0
  309. arctrl/py/WebRequest/__init__.py +0 -0
  310. arctrl/py/WebRequest/web_request.py +9 -0
  311. arctrl/py/WebRequest/web_request_py.py +135 -0
  312. arctrl/py/WorkflowGraph/__init__.py +0 -0
  313. arctrl/py/WorkflowGraph/adapters.py +141 -0
  314. arctrl/py/WorkflowGraph/build_options.py +45 -0
  315. arctrl/py/WorkflowGraph/builder.py +720 -0
  316. arctrl/py/WorkflowGraph/graph_types.py +260 -0
  317. arctrl/py/WorkflowGraph/query_helpers.py +76 -0
  318. arctrl/py/WorkflowGraph/reference_parsing.py +59 -0
  319. arctrl/py/WorkflowGraph/visualization_siren.py +574 -0
  320. arctrl/py/WorkflowGraph/workflow_graph.py +119 -0
  321. arctrl/py/Yaml/__init__.py +0 -0
  322. arctrl/py/Yaml/decode.py +1 -0
  323. arctrl/py/Yaml/encode.py +10 -0
  324. arctrl/py/Yaml/validation_package.py +77 -0
  325. arctrl/py/Yaml/validation_packages_config.py +86 -0
  326. arctrl/py/__init__.py +0 -0
  327. arctrl/py/arc.py +1891 -0
  328. arctrl/py/column_index.py +280 -0
  329. arctrl/py/conversion.py +142 -0
  330. arctrl/py/cross_async.py +76 -0
  331. arctrl/py/cwlrun_resolver.py +228 -0
  332. arctrl/py/fable_modules/dynamic_obj/__init__.py +0 -0
  333. arctrl/py/fable_modules/dynamic_obj/dyn_obj.py +136 -0
  334. arctrl/py/fable_modules/dynamic_obj/dynamic_obj.py +415 -0
  335. arctrl/py/fable_modules/dynamic_obj/fable_js.py +1 -0
  336. arctrl/py/fable_modules/dynamic_obj/fable_py.py +288 -0
  337. arctrl/py/fable_modules/dynamic_obj/hash_codes.py +82 -0
  338. arctrl/py/fable_modules/dynamic_obj/property_helper.py +25 -0
  339. arctrl/py/fable_modules/dynamic_obj/reflection_utils.py +87 -0
  340. arctrl/py/fable_modules/fable_library/__init__.py +0 -0
  341. arctrl/py/fable_modules/fable_library/array_.py +1528 -0
  342. arctrl/py/fable_modules/fable_library/async_.py +377 -0
  343. arctrl/py/fable_modules/fable_library/async_builder.py +379 -0
  344. arctrl/py/fable_modules/fable_library/big_int.py +330 -0
  345. arctrl/py/fable_modules/fable_library/bit_converter.py +131 -0
  346. arctrl/py/fable_modules/fable_library/boolean.py +26 -0
  347. arctrl/py/fable_modules/fable_library/char.py +237 -0
  348. arctrl/py/fable_modules/fable_library/choice.py +212 -0
  349. arctrl/py/fable_modules/fable_library/date.py +779 -0
  350. arctrl/py/fable_modules/fable_library/date_offset.py +79 -0
  351. arctrl/py/fable_modules/fable_library/decimal_.py +190 -0
  352. arctrl/py/fable_modules/fable_library/diagnostics.py +54 -0
  353. arctrl/py/fable_modules/fable_library/double.py +87 -0
  354. arctrl/py/fable_modules/fable_library/encoding.py +41 -0
  355. arctrl/py/fable_modules/fable_library/event.py +206 -0
  356. arctrl/py/fable_modules/fable_library/file.py +107 -0
  357. arctrl/py/fable_modules/fable_library/fsharp_collections.py +52 -0
  358. arctrl/py/fable_modules/fable_library/fsharp_core.py +123 -0
  359. arctrl/py/fable_modules/fable_library/global_.py +63 -0
  360. arctrl/py/fable_modules/fable_library/guid.py +41 -0
  361. arctrl/py/fable_modules/fable_library/int32.py +73 -0
  362. arctrl/py/fable_modules/fable_library/list.py +1788 -0
  363. arctrl/py/fable_modules/fable_library/long.py +240 -0
  364. arctrl/py/fable_modules/fable_library/mailbox_processor.py +179 -0
  365. arctrl/py/fable_modules/fable_library/map.py +1854 -0
  366. arctrl/py/fable_modules/fable_library/map_util.py +148 -0
  367. arctrl/py/fable_modules/fable_library/mutable_map.py +397 -0
  368. arctrl/py/fable_modules/fable_library/mutable_set.py +279 -0
  369. arctrl/py/fable_modules/fable_library/native.py +45 -0
  370. arctrl/py/fable_modules/fable_library/numeric.py +46 -0
  371. arctrl/py/fable_modules/fable_library/observable.py +222 -0
  372. arctrl/py/fable_modules/fable_library/option.py +128 -0
  373. arctrl/py/fable_modules/fable_library/path.py +62 -0
  374. arctrl/py/fable_modules/fable_library/range.py +117 -0
  375. arctrl/py/fable_modules/fable_library/reflection.py +463 -0
  376. arctrl/py/fable_modules/fable_library/reg_exp.py +137 -0
  377. arctrl/py/fable_modules/fable_library/resize_array.py +31 -0
  378. arctrl/py/fable_modules/fable_library/result.py +212 -0
  379. arctrl/py/fable_modules/fable_library/seq.py +1979 -0
  380. arctrl/py/fable_modules/fable_library/seq2.py +221 -0
  381. arctrl/py/fable_modules/fable_library/set.py +2414 -0
  382. arctrl/py/fable_modules/fable_library/singleton_local_time_zone.py +36 -0
  383. arctrl/py/fable_modules/fable_library/string_.py +573 -0
  384. arctrl/py/fable_modules/fable_library/system_collections_generic.py +462 -0
  385. arctrl/py/fable_modules/fable_library/system_text.py +237 -0
  386. arctrl/py/fable_modules/fable_library/task.py +116 -0
  387. arctrl/py/fable_modules/fable_library/task_builder.py +122 -0
  388. arctrl/py/fable_modules/fable_library/thread.py +5 -0
  389. arctrl/py/fable_modules/fable_library/time_span.py +283 -0
  390. arctrl/py/fable_modules/fable_library/timer.py +24 -0
  391. arctrl/py/fable_modules/fable_library/types.py +401 -0
  392. arctrl/py/fable_modules/fable_library/uri.py +109 -0
  393. arctrl/py/fable_modules/fable_library/util.py +2735 -0
  394. arctrl/py/fable_modules/fable_openpyxl/__init__.py +0 -0
  395. arctrl/py/fable_modules/fable_openpyxl/openpyxl.py +362 -0
  396. arctrl/py/fable_modules/fable_python/cognite-sdk/__init__.py +0 -0
  397. arctrl/py/fable_modules/fable_python/cognite-sdk/cognite_sdk.py +22 -0
  398. arctrl/py/fable_modules/fable_python/flask/__init__.py +0 -0
  399. arctrl/py/fable_modules/fable_python/flask/flask.py +34 -0
  400. arctrl/py/fable_modules/fable_python/jupyter/__init__.py +0 -0
  401. arctrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +47 -0
  402. arctrl/py/fable_modules/fable_python/jupyter/ipython.py +13 -0
  403. arctrl/py/fable_modules/fable_python/stdlib/__init__.py +0 -0
  404. arctrl/py/fable_modules/fable_python/stdlib/ast.py +1 -0
  405. arctrl/py/fable_modules/fable_python/stdlib/asyncio/__init__.py +0 -0
  406. arctrl/py/fable_modules/fable_python/stdlib/asyncio/events.py +17 -0
  407. arctrl/py/fable_modules/fable_python/stdlib/asyncio/futures.py +52 -0
  408. arctrl/py/fable_modules/fable_python/stdlib/asyncio/tasks.py +38 -0
  409. arctrl/py/fable_modules/fable_python/stdlib/base64_.py +1 -0
  410. arctrl/py/fable_modules/fable_python/stdlib/builtins_.py +38 -0
  411. arctrl/py/fable_modules/fable_python/stdlib/html.py +1 -0
  412. arctrl/py/fable_modules/fable_python/stdlib/json.py +1 -0
  413. arctrl/py/fable_modules/fable_python/stdlib/math_.py +1 -0
  414. arctrl/py/fable_modules/fable_python/stdlib/os_.py +1 -0
  415. arctrl/py/fable_modules/fable_python/stdlib/queue_.py +1 -0
  416. arctrl/py/fable_modules/fable_python/stdlib/string_.py +1 -0
  417. arctrl/py/fable_modules/fable_python/stdlib/sys_.py +30 -0
  418. arctrl/py/fable_modules/fable_python/stdlib/time_.py +1 -0
  419. arctrl/py/fable_modules/fable_python/stdlib/tk_inter.py +1 -0
  420. arctrl/py/fable_modules/fs_spreadsheet/Cells/__init__.py +0 -0
  421. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +340 -0
  422. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +466 -0
  423. arctrl/py/fable_modules/fs_spreadsheet/DSL/__init__.py +0 -0
  424. arctrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +214 -0
  425. arctrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +139 -0
  426. arctrl/py/fable_modules/fs_spreadsheet/DSL/dsl.py +50 -0
  427. arctrl/py/fable_modules/fs_spreadsheet/DSL/expression.py +65 -0
  428. arctrl/py/fable_modules/fs_spreadsheet/DSL/operators.py +9 -0
  429. arctrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +139 -0
  430. arctrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +118 -0
  431. arctrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +122 -0
  432. arctrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +463 -0
  433. arctrl/py/fable_modules/fs_spreadsheet/DSL/types.py +314 -0
  434. arctrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +106 -0
  435. arctrl/py/fable_modules/fs_spreadsheet/Json/__init__.py +0 -0
  436. arctrl/py/fable_modules/fs_spreadsheet/Json/cell.py +103 -0
  437. arctrl/py/fable_modules/fs_spreadsheet/Json/column.py +70 -0
  438. arctrl/py/fable_modules/fs_spreadsheet/Json/row.py +70 -0
  439. arctrl/py/fable_modules/fs_spreadsheet/Json/table.py +54 -0
  440. arctrl/py/fable_modules/fs_spreadsheet/Json/value.py +93 -0
  441. arctrl/py/fable_modules/fs_spreadsheet/Json/workbook.py +71 -0
  442. arctrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +216 -0
  443. arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
  444. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +43 -0
  445. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +190 -0
  446. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +92 -0
  447. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +77 -0
  448. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +48 -0
  449. arctrl/py/fable_modules/fs_spreadsheet/Tables/__init__.py +0 -0
  450. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +461 -0
  451. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +117 -0
  452. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_row.py +23 -0
  453. arctrl/py/fable_modules/fs_spreadsheet/__init__.py +0 -0
  454. arctrl/py/fable_modules/fs_spreadsheet/fs_address.py +236 -0
  455. arctrl/py/fable_modules/fs_spreadsheet/fs_column.py +172 -0
  456. arctrl/py/fable_modules/fs_spreadsheet/fs_row.py +183 -0
  457. arctrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +192 -0
  458. arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +610 -0
  459. arctrl/py/fable_modules/fs_spreadsheet/hash_codes.py +60 -0
  460. arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +329 -0
  461. arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
  462. arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +60 -0
  463. arctrl/py/fable_modules/fs_spreadsheet_py/cell_type.py +50 -0
  464. arctrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +60 -0
  465. arctrl/py/fable_modules/fs_spreadsheet_py/json.py +47 -0
  466. arctrl/py/fable_modules/fs_spreadsheet_py/table.py +54 -0
  467. arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +41 -0
  468. arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +52 -0
  469. arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
  470. arctrl/py/fable_modules/siren/__init__.py +0 -0
  471. arctrl/py/fable_modules/siren/config.py +1038 -0
  472. arctrl/py/fable_modules/siren/formatting.py +1121 -0
  473. arctrl/py/fable_modules/siren/siren.py +1941 -0
  474. arctrl/py/fable_modules/siren/siren_types.py +1229 -0
  475. arctrl/py/fable_modules/siren/theme_variables.py +517 -0
  476. arctrl/py/fable_modules/siren/util.py +37 -0
  477. arctrl/py/fable_modules/siren/yaml.py +101 -0
  478. arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
  479. arctrl/py/fable_modules/thoth_json_core/decode.py +1614 -0
  480. arctrl/py/fable_modules/thoth_json_core/encode.py +305 -0
  481. arctrl/py/fable_modules/thoth_json_core/types.py +181 -0
  482. arctrl/py/fable_modules/thoth_json_python/__init__.py +0 -0
  483. arctrl/py/fable_modules/thoth_json_python/decode.py +112 -0
  484. arctrl/py/fable_modules/thoth_json_python/encode.py +72 -0
  485. arctrl/py/fable_modules/thoth_json_python/python.py +1 -0
  486. arctrl/py/fable_modules/yamlicious/Interop/__init__.py +0 -0
  487. arctrl/py/fable_modules/yamlicious/Interop/js_interop.py +1 -0
  488. arctrl/py/fable_modules/yamlicious/Interop/py_interop.py +7 -0
  489. arctrl/py/fable_modules/yamlicious/__init__.py +0 -0
  490. arctrl/py/fable_modules/yamlicious/decode.py +1784 -0
  491. arctrl/py/fable_modules/yamlicious/encode.py +84 -0
  492. arctrl/py/fable_modules/yamlicious/flow_to_block.py +994 -0
  493. arctrl/py/fable_modules/yamlicious/library.py +10 -0
  494. arctrl/py/fable_modules/yamlicious/persil.py +57 -0
  495. arctrl/py/fable_modules/yamlicious/preprocessing.py +99 -0
  496. arctrl/py/fable_modules/yamlicious/reader.py +739 -0
  497. arctrl/py/fable_modules/yamlicious/regex.py +29 -0
  498. arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +265 -0
  499. arctrl/py/fable_modules/yamlicious/writer.py +175 -0
  500. arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
  501. arctrl/py/json.py +389 -0
  502. arctrl/py/license.py +169 -0
  503. arctrl/py/rocrate_io.py +242 -0
  504. arctrl/py/template_web.py +23 -0
  505. arctrl/py/xlsx.py +212 -0
  506. arctrl/py/yaml.py +79 -0
  507. arctrl/rocrate.py +21 -0
  508. arctrl-3.0.0.dist-info/METADATA +157 -0
  509. arctrl-3.0.0.dist-info/RECORD +511 -0
  510. arctrl-3.0.0.dist-info/WHEEL +4 -0
  511. arctrl-3.0.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,117 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from ...fable_library.option import (some, default_arg)
4
+ from ...fable_library.reflection import (TypeInfo, class_type)
5
+ from ...fable_library.seq import skip
6
+ from ...fable_library.string_ import (to_fail, printf)
7
+ from ...fable_library.util import (equals, IEnumerable_1)
8
+ from ..Cells.fs_cell import FsCell
9
+ from ..Cells.fs_cells_collection import FsCellsCollection
10
+ from ..fs_address import FsAddress
11
+ from ..Ranges.fs_range_address import FsRangeAddress
12
+ from ..Ranges.fs_range_column import FsRangeColumn
13
+
14
+ def _expr410() -> TypeInfo:
15
+ return class_type("FsSpreadsheet.FsTableField", None, FsTableField)
16
+
17
+
18
+ class FsTableField:
19
+ def __init__(self, name: str, index: int | None=None, column: FsRangeColumn | None=None, totals_row_label: Any | None=None, totals_row_function: Any | None=None) -> None:
20
+ self._totalsRowsFunction: Any = default_arg(totals_row_function, None)
21
+ self._totalsRowLabel: Any = default_arg(totals_row_label, None)
22
+ self._column: FsRangeColumn = default_arg(column, None)
23
+ self._index: int = default_arg(index, 0) or 0
24
+ self._name: str = name
25
+ self._Column: FsRangeColumn = self._column
26
+
27
+ @property
28
+ def Column(self, __unit: None=None) -> FsRangeColumn:
29
+ __: FsTableField = self
30
+ return __._Column
31
+
32
+ @Column.setter
33
+ def Column(self, v: FsRangeColumn) -> None:
34
+ __: FsTableField = self
35
+ __._Column = v
36
+
37
+ @property
38
+ def Index(self, __unit: None=None) -> int:
39
+ this: FsTableField = self
40
+ return this._index
41
+
42
+ @Index.setter
43
+ def Index(self, index: int) -> None:
44
+ this: FsTableField = self
45
+ if index == this._index:
46
+ pass
47
+
48
+ else:
49
+ this._index = index or 0
50
+ if equals(this._column, None):
51
+ pass
52
+
53
+ else:
54
+ ind_diff: int = (index - this._index) or 0
55
+ new_col: FsRangeColumn = FsRangeColumn(FsRangeAddress(FsAddress(this.Column.RangeAddress.FirstAddress.RowNumber, this._index + ind_diff), FsAddress(this.Column.RangeAddress.LastAddress.RowNumber, this._index + ind_diff)))
56
+ this.Column = new_col
57
+
58
+
59
+
60
+ @property
61
+ def Name(self, __unit: None=None) -> str:
62
+ this: FsTableField = self
63
+ return this._name
64
+
65
+ def SetName(self, name: str, cells_collection: FsCellsCollection, show_header_row: bool) -> None:
66
+ this: FsTableField = self
67
+ this._name = name
68
+ if show_header_row:
69
+ this.Column.FirstCell(cells_collection).SetValueAs(name)
70
+
71
+
72
+ @staticmethod
73
+ def set_name(name: str, cells_collection: FsCellsCollection, show_header_row: bool, table_field: FsTableField) -> FsTableField:
74
+ table_field.SetName(name, cells_collection, show_header_row)
75
+ return table_field
76
+
77
+ def Copy(self, __unit: None=None) -> FsTableField:
78
+ this: FsTableField = self
79
+ col: FsRangeColumn = this.Column.Copy()
80
+ ind: int = this.Index or 0
81
+ return FsTableField(this.Name, ind, col, some(None), some(None))
82
+
83
+ @staticmethod
84
+ def copy(table_field: FsTableField) -> FsTableField:
85
+ return table_field.Copy()
86
+
87
+ def HeaderCell(self, cells_collection: FsCellsCollection, show_header_row: bool) -> FsCell:
88
+ this: FsTableField = self
89
+ if not show_header_row:
90
+ arg: str = this._name
91
+ return to_fail(printf("tried to get header cell of table field \"%s\" even though showHeaderRow is set to zero"))(arg)
92
+
93
+ else:
94
+ return this.Column.FirstCell(cells_collection)
95
+
96
+
97
+ @staticmethod
98
+ def get_header_cell(cells_collection: FsCellsCollection, show_header_row: bool, table_field: FsTableField) -> FsCell:
99
+ return table_field.HeaderCell(cells_collection, show_header_row)
100
+
101
+ def DataCells(self, cells_collection: FsCellsCollection) -> IEnumerable_1[FsCell]:
102
+ this: FsTableField = self
103
+ return skip(1, this.Column.Cells(cells_collection))
104
+
105
+ @staticmethod
106
+ def get_data_cells(cells_collection: FsCellsCollection, table_field: FsTableField) -> IEnumerable_1[FsCell]:
107
+ return table_field.DataCells(cells_collection)
108
+
109
+
110
+ FsTableField_reflection = _expr410
111
+
112
+ def FsTableField__ctor_E675DBB(name: str, index: int | None=None, column: FsRangeColumn | None=None, totals_row_label: Any | None=None, totals_row_function: Any | None=None) -> FsTableField:
113
+ return FsTableField(name, index, column, totals_row_label, totals_row_function)
114
+
115
+
116
+ __all__ = ["FsTableField_reflection"]
117
+
@@ -0,0 +1,23 @@
1
+ from __future__ import annotations
2
+ from ...fable_library.reflection import (TypeInfo, class_type)
3
+ from ..Ranges.fs_range_address import FsRangeAddress
4
+ from ..Ranges.fs_range_row import (FsRangeRow, FsRangeRow_reflection)
5
+
6
+ def _expr408() -> TypeInfo:
7
+ return class_type("FsSpreadsheet.FsTableRow", None, FsTableRow, FsRangeRow_reflection())
8
+
9
+
10
+ class FsTableRow(FsRangeRow):
11
+ def __init__(self, range_address: FsRangeAddress) -> None:
12
+ super().__init__(range_address)
13
+ pass
14
+
15
+
16
+ FsTableRow_reflection = _expr408
17
+
18
+ def FsTableRow__ctor_6A2513BC(range_address: FsRangeAddress) -> FsTableRow:
19
+ return FsTableRow(range_address)
20
+
21
+
22
+ __all__ = ["FsTableRow_reflection"]
23
+
File without changes
@@ -0,0 +1,236 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from math import pow
4
+ from typing import Any
5
+ from ..fable_library.char import (char_code_at, is_letter, is_digit)
6
+ from ..fable_library.int32 import parse
7
+ from ..fable_library.long import (op_addition, from_integer, to_int)
8
+ from ..fable_library.option import value as value_2
9
+ from ..fable_library.reflection import (TypeInfo, class_type)
10
+ from ..fable_library.reg_exp import create
11
+ from ..fable_library.seq import iterate
12
+ from ..fable_library.string_ import (to_text, printf, to_fail)
13
+ from ..fable_library.system_text import (StringBuilder__ctor, StringBuilder__Append_244C7CD6)
14
+ from ..fable_library.types import (uint32, to_string, int64)
15
+ from ..fable_library.util import (ignore, string_hash, identity_hash)
16
+ from .hash_codes import merge_hashes
17
+
18
+ CellReference_indexRegex: Any = create("([A-Z]*)(\\d*)")
19
+
20
+ def CellReference_colAdressToIndex(column_adress: str) -> uint32:
21
+ length: int = len(column_adress) or 0
22
+ sum: uint32 = uint32(0)
23
+ for i in range(0, (length - 1) + 1, 1):
24
+ c_1: str
25
+ c: str = column_adress[(length - 1) - i]
26
+ c_1 = c.upper()
27
+ factor: uint32
28
+ value: float = pow(26.0, i)
29
+ factor = int(value+0x100000000 if value < 0 else value)
30
+ sum = sum + (((int(char_code_at(c_1, 0)+0x100000000 if char_code_at(c_1, 0) < 0 else char_code_at(c_1, 0))) - uint32(64)) * factor)
31
+ return sum
32
+
33
+
34
+ def CellReference_indexToColAdress(i: uint32) -> str:
35
+ def loop(index_mut: uint32, acc_mut: str, i: Any=i) -> str:
36
+ while True:
37
+ (index, acc) = (index_mut, acc_mut)
38
+ if index == uint32(0):
39
+ return acc
40
+
41
+ else:
42
+ mod26: uint32 = (index - uint32(1)) % uint32(26)
43
+ index_mut = (index - uint32(1)) // uint32(26)
44
+ acc_mut = chr((int(char_code_at("A", 0)+0x100000000 if char_code_at("A", 0) < 0 else char_code_at("A", 0))) + mod26) + acc
45
+ continue
46
+
47
+ break
48
+
49
+ return loop(i, "")
50
+
51
+
52
+ def CellReference_ofIndices(column: uint32, row: uint32) -> str:
53
+ arg: str = CellReference_indexToColAdress(column)
54
+ return to_text(printf("%s%i"))(arg)(row)
55
+
56
+
57
+ def CellReference_toIndices(reference: str) -> tuple[uint32, uint32]:
58
+ char_part: Any = StringBuilder__ctor()
59
+ num_part: Any = StringBuilder__ctor()
60
+ def action(c: str, reference: Any=reference) -> None:
61
+ if is_letter(c):
62
+ ignore(StringBuilder__Append_244C7CD6(char_part, c))
63
+
64
+ elif is_digit(c):
65
+ ignore(StringBuilder__Append_244C7CD6(num_part, c))
66
+
67
+ else:
68
+ to_fail(printf("Reference %s does not match Excel A1-style"))(reference)
69
+
70
+
71
+ iterate(action, reference)
72
+ return (CellReference_colAdressToIndex(to_string(char_part)), parse(to_string(num_part), 511, True, 32))
73
+
74
+
75
+ def CellReference_toColIndex(reference: str) -> uint32:
76
+ return CellReference_toIndices(reference)[0]
77
+
78
+
79
+ def CellReference_toRowIndex(reference: str) -> uint32:
80
+ return CellReference_toIndices(reference)[1]
81
+
82
+
83
+ def CellReference_setColIndex(col_i: uint32, reference: str) -> str:
84
+ return CellReference_ofIndices(col_i, CellReference_toIndices(reference)[1])
85
+
86
+
87
+ def CellReference_setRowIndex(row_i: uint32, reference: str) -> str:
88
+ return CellReference_ofIndices(CellReference_toIndices(reference)[0], row_i)
89
+
90
+
91
+ def CellReference_moveHorizontal(amount: int, reference: str) -> str:
92
+ tupled_arg_1: tuple[uint32, uint32]
93
+ tupled_arg: tuple[uint32, uint32] = CellReference_toIndices(reference)
94
+ def _arrow277(__unit: None=None, amount: Any=amount, reference: Any=reference) -> uint32:
95
+ value: int64 = op_addition(from_integer(tupled_arg[0], False, 6), from_integer(amount, False, 2))
96
+ return int(to_int(value)+0x100000000 if to_int(value) < 0 else to_int(value))
97
+
98
+ tupled_arg_1 = (_arrow277(), tupled_arg[1])
99
+ return CellReference_ofIndices(tupled_arg_1[0], tupled_arg_1[1])
100
+
101
+
102
+ def CellReference_moveVertical(amount: int, reference: str) -> str:
103
+ tupled_arg_1: tuple[uint32, uint32]
104
+ tupled_arg: tuple[uint32, uint32] = CellReference_toIndices(reference)
105
+ def _arrow278(__unit: None=None, amount: Any=amount, reference: Any=reference) -> uint32:
106
+ value: int64 = op_addition(from_integer(tupled_arg[1], False, 6), from_integer(amount, False, 2))
107
+ return int(to_int(value)+0x100000000 if to_int(value) < 0 else to_int(value))
108
+
109
+ tupled_arg_1 = (tupled_arg[0], _arrow278())
110
+ return CellReference_ofIndices(tupled_arg_1[0], tupled_arg_1[1])
111
+
112
+
113
+ def _expr281() -> TypeInfo:
114
+ return class_type("FsSpreadsheet.FsAddress", None, FsAddress)
115
+
116
+
117
+ class FsAddress:
118
+ def __init__(self, row_number: int, column_number: int, fixed_row: bool | None=None, fixed_column: bool | None=None) -> None:
119
+ self._fixedRow: bool = value_2(fixed_row) if (fixed_row is not None) else False
120
+ self._fixedColumn: bool = value_2(fixed_column) if (fixed_column is not None) else False
121
+ self._rowNumber: int = row_number or 0
122
+ self._columnNumber: int = column_number or 0
123
+ self._trimmedAddress: str = ""
124
+
125
+ @staticmethod
126
+ def from_string(cell_address_string: str, fixed_row: bool | None=None, fixed_column: bool | None=None) -> FsAddress:
127
+ pattern_input: tuple[uint32, uint32] = CellReference_toIndices(cell_address_string)
128
+ return FsAddress(int(pattern_input[1]), int(pattern_input[0]), fixed_row, fixed_column)
129
+
130
+ @property
131
+ def ColumnNumber(self, __unit: None=None) -> int:
132
+ self_1: FsAddress = self
133
+ return self_1._columnNumber
134
+
135
+ @ColumnNumber.setter
136
+ def ColumnNumber(self, col_i: int) -> None:
137
+ self_1: FsAddress = self
138
+ self_1._columnNumber = col_i or 0
139
+
140
+ @property
141
+ def RowNumber(self, __unit: None=None) -> int:
142
+ self_1: FsAddress = self
143
+ return self_1._rowNumber
144
+
145
+ @RowNumber.setter
146
+ def RowNumber(self, row_i: int) -> None:
147
+ self_1: FsAddress = self
148
+ self_1._rowNumber = row_i or 0
149
+
150
+ @property
151
+ def Address(self, __unit: None=None) -> str:
152
+ self_1: FsAddress = self
153
+ return CellReference_ofIndices(int(self_1._columnNumber+0x100000000 if self_1._columnNumber < 0 else self_1._columnNumber), int(self_1._rowNumber+0x100000000 if self_1._rowNumber < 0 else self_1._rowNumber))
154
+
155
+ @Address.setter
156
+ def Address(self, address: str) -> None:
157
+ self_1: FsAddress = self
158
+ pattern_input: tuple[uint32, uint32] = CellReference_toIndices(address)
159
+ self_1._rowNumber = int(pattern_input[1]) or 0
160
+ self_1._columnNumber = int(pattern_input[0]) or 0
161
+
162
+ @property
163
+ def FixedRow(self, __unit: None=None) -> bool:
164
+ return False
165
+
166
+ @property
167
+ def FixedColumn(self, __unit: None=None) -> bool:
168
+ return False
169
+
170
+ def Copy(self, __unit: None=None) -> FsAddress:
171
+ this: FsAddress = self
172
+ col_no: int = this.ColumnNumber or 0
173
+ return FsAddress(this.RowNumber, col_no, this.FixedRow, this.FixedColumn)
174
+
175
+ @staticmethod
176
+ def copy(address: FsAddress) -> FsAddress:
177
+ return address.Copy()
178
+
179
+ def UpdateIndices(self, row_index: int, col_index: int) -> None:
180
+ self_1: FsAddress = self
181
+ self_1._columnNumber = col_index or 0
182
+ self_1._rowNumber = row_index or 0
183
+
184
+ @staticmethod
185
+ def update_indices(row_index: int, col_index: int, address: FsAddress) -> FsAddress:
186
+ address.UpdateIndices(row_index, col_index)
187
+ return address
188
+
189
+ def ToIndices(self, __unit: None=None) -> tuple[int, int]:
190
+ self_1: FsAddress = self
191
+ return (self_1._rowNumber, self_1._columnNumber)
192
+
193
+ @staticmethod
194
+ def to_indices(address: FsAddress) -> tuple[int, int]:
195
+ return address.ToIndices()
196
+
197
+ def Compare(self, address: FsAddress) -> bool:
198
+ self_1: FsAddress = self
199
+ return (self_1.FixedRow == address.FixedRow) if ((self_1.FixedColumn == address.FixedColumn) if ((self_1.RowNumber == address.RowNumber) if ((self_1.ColumnNumber == address.ColumnNumber) if (self_1.Address == address.Address) else False) else False) else False) else False
200
+
201
+ @staticmethod
202
+ def compare(address1: FsAddress, address2: FsAddress) -> bool:
203
+ return address1.Compare(address2)
204
+
205
+ def __hash__(self, __unit: None=None) -> int:
206
+ this: FsAddress = self
207
+ hash_8: int
208
+ hash_6: int
209
+ hash_4: int
210
+ hash_2: int = string_hash(this.Address) or 0
211
+ hash_4 = merge_hashes(this.ColumnNumber, hash_2)
212
+ hash_6 = merge_hashes(this.RowNumber, hash_4)
213
+ def _arrow279(__unit: None=None) -> int:
214
+ copy_of_struct: bool = this.FixedColumn
215
+ return identity_hash(copy_of_struct)
216
+
217
+ hash_8 = merge_hashes(_arrow279(), hash_6)
218
+ def _arrow280(__unit: None=None) -> int:
219
+ copy_of_struct_1: bool = this.FixedRow
220
+ return identity_hash(copy_of_struct_1)
221
+
222
+ return merge_hashes(_arrow280(), hash_8)
223
+
224
+ def __eq__(self, other: Any=None) -> bool:
225
+ this: FsAddress = self
226
+ return this.Compare(other) if isinstance(other, FsAddress) else False
227
+
228
+
229
+ FsAddress_reflection = _expr281
230
+
231
+ def FsAddress__ctor_42410CA0(row_number: int, column_number: int, fixed_row: bool | None=None, fixed_column: bool | None=None) -> FsAddress:
232
+ return FsAddress(row_number, column_number, fixed_row, fixed_column)
233
+
234
+
235
+ __all__ = ["CellReference_indexRegex", "CellReference_colAdressToIndex", "CellReference_indexToColAdress", "CellReference_ofIndices", "CellReference_toIndices", "CellReference_toColIndex", "CellReference_toRowIndex", "CellReference_setColIndex", "CellReference_setRowIndex", "CellReference_moveHorizontal", "CellReference_moveVertical", "FsAddress_reflection"]
236
+
@@ -0,0 +1,172 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import Any
4
+ from ..fable_library.reflection import (TypeInfo, class_type)
5
+ from ..fable_library.seq import (length, min_by, max_by, map, exists)
6
+ from ..fable_library.util import (IEnumerable_1, compare_primitives, ignore, get_enumerator, IEnumerator, to_iterator)
7
+ from .Cells.fs_cell import FsCell
8
+ from .Cells.fs_cells_collection import FsCellsCollection
9
+ from .fs_address import FsAddress
10
+ from .Ranges.fs_range_address import FsRangeAddress
11
+ from .Ranges.fs_range_base import (FsRangeBase, FsRangeBase_reflection)
12
+
13
+ def _expr409() -> TypeInfo:
14
+ return class_type("FsSpreadsheet.FsColumn", None, FsColumn, FsRangeBase_reflection())
15
+
16
+
17
+ class FsColumn(FsRangeBase):
18
+ def __init__(self, range_address: FsRangeAddress, cells: FsCellsCollection) -> None:
19
+ super().__init__(range_address)
20
+ self.cells_004018: FsCellsCollection = cells
21
+
22
+ @staticmethod
23
+ def empty(__unit: None=None) -> FsColumn:
24
+ return FsColumn(FsRangeAddress(FsAddress(0, 0), FsAddress(0, 0)), FsCellsCollection())
25
+
26
+ @staticmethod
27
+ def create_at(index: int, cells: FsCellsCollection) -> FsColumn:
28
+ def get_index_by(f: Callable[[Callable[[FsCell], int], IEnumerable_1[FsCell]], FsCell]) -> int:
29
+ if length(cells.GetCellsInColumn(index)) == 0:
30
+ return 1
31
+
32
+ else:
33
+ def _arrow401(c: FsCell, f: Any=f) -> int:
34
+ return c.Address.RowNumber
35
+
36
+ return f(_arrow401)(cells.GetCellsInColumn(index)).Address.RowNumber
37
+
38
+
39
+ def _arrow404(projection: Callable[[FsCell], int]) -> Callable[[IEnumerable_1[FsCell]], FsCell]:
40
+ def _arrow403(source_1: IEnumerable_1[FsCell]) -> FsCell:
41
+ class ObjectExpr402:
42
+ @property
43
+ def Compare(self) -> Callable[[int, int], int]:
44
+ return compare_primitives
45
+
46
+ return min_by(projection, source_1, ObjectExpr402())
47
+
48
+ return _arrow403
49
+
50
+ min_row_index: int = get_index_by(_arrow404) or 0
51
+ def _arrow407(projection_1: Callable[[FsCell], int]) -> Callable[[IEnumerable_1[FsCell]], FsCell]:
52
+ def _arrow406(source_2: IEnumerable_1[FsCell]) -> FsCell:
53
+ class ObjectExpr405:
54
+ @property
55
+ def Compare(self) -> Callable[[int, int], int]:
56
+ return compare_primitives
57
+
58
+ return max_by(projection_1, source_2, ObjectExpr405())
59
+
60
+ return _arrow406
61
+
62
+ max_row_index: int = get_index_by(_arrow407) or 0
63
+ return FsColumn(FsRangeAddress(FsAddress(min_row_index, index), FsAddress(max_row_index, index)), cells)
64
+
65
+ @property
66
+ def Cells(self, __unit: None=None) -> IEnumerable_1[FsCell]:
67
+ this: FsColumn = self
68
+ return super().Cells(this.cells_004018)
69
+
70
+ @property
71
+ def Index(self, __unit: None=None) -> int:
72
+ this: FsColumn = self
73
+ return this.RangeAddress.FirstAddress.ColumnNumber
74
+
75
+ @Index.setter
76
+ def Index(self, i: int) -> None:
77
+ this: FsColumn = self
78
+ this.RangeAddress.FirstAddress.ColumnNumber = i or 0
79
+ this.RangeAddress.LastAddress.ColumnNumber = i or 0
80
+
81
+ @property
82
+ def MinRowIndex(self, __unit: None=None) -> int:
83
+ this: FsColumn = self
84
+ return this.RangeAddress.FirstAddress.RowNumber
85
+
86
+ @property
87
+ def MaxRowIndex(self, __unit: None=None) -> int:
88
+ this: FsColumn = self
89
+ return this.RangeAddress.LastAddress.RowNumber
90
+
91
+ def Copy(self, __unit: None=None) -> FsColumn:
92
+ this: FsColumn = self
93
+ ra: FsRangeAddress = this.RangeAddress.Copy()
94
+ def mapping(c: FsCell) -> FsCell:
95
+ return c.Copy()
96
+
97
+ cells: IEnumerable_1[FsCell] = map(mapping, this.Cells)
98
+ fcc: FsCellsCollection = FsCellsCollection()
99
+ fcc.AddMany(cells)
100
+ return FsColumn(ra, fcc)
101
+
102
+ @staticmethod
103
+ def copy(column: FsColumn) -> FsColumn:
104
+ return column.Copy()
105
+
106
+ @staticmethod
107
+ def get_index(column: FsColumn) -> int:
108
+ return column.Index
109
+
110
+ def HasCellAt(self, row_index: int) -> bool:
111
+ this: FsColumn = self
112
+ def predicate(c: FsCell) -> bool:
113
+ return c.RowNumber == row_index
114
+
115
+ return exists(predicate, this.Cells)
116
+
117
+ @staticmethod
118
+ def has_cell_at(row_index: int, column: FsColumn) -> bool:
119
+ return column.HasCellAt(row_index)
120
+
121
+ def Item(self, row_index: int) -> FsCell:
122
+ this: FsColumn = self
123
+ return super().Cell(FsAddress(row_index, 1), this.cells_004018)
124
+
125
+ @staticmethod
126
+ def item(row_index: int, column: FsColumn) -> FsCell:
127
+ return column.Item(row_index)
128
+
129
+ def TryItem(self, row_index: int) -> FsCell | None:
130
+ this: FsColumn = self
131
+ return this.Item(row_index) if this.HasCellAt(row_index) else None
132
+
133
+ @staticmethod
134
+ def try_item(row_index: int, column: FsColumn) -> FsCell | None:
135
+ return column.TryItem(row_index)
136
+
137
+ def ToDenseColumn(self, __unit: None=None) -> None:
138
+ this: FsColumn = self
139
+ for i in range(this.MinRowIndex, this.MaxRowIndex + 1, 1):
140
+ ignore(this.Item(i))
141
+
142
+ @staticmethod
143
+ def to_dense_column(column: FsColumn) -> FsColumn:
144
+ column.ToDenseColumn()
145
+ return column
146
+
147
+ @staticmethod
148
+ def create_dense_column_of(column: FsColumn) -> FsColumn:
149
+ new_column: FsColumn = column.Copy()
150
+ new_column.ToDenseColumn()
151
+ return new_column
152
+
153
+ def GetEnumerator(self, __unit: None=None) -> IEnumerator[FsCell]:
154
+ this: FsColumn = self
155
+ return get_enumerator(this.Cells)
156
+
157
+ def __iter__(self) -> IEnumerator[FsCell]:
158
+ return to_iterator(self.GetEnumerator())
159
+
160
+ def System_Collections_IEnumerable_GetEnumerator(self, __unit: None=None) -> IEnumerator[Any]:
161
+ this: FsColumn = self
162
+ return get_enumerator(this)
163
+
164
+
165
+ FsColumn_reflection = _expr409
166
+
167
+ def FsColumn__ctor_7678C70A(range_address: FsRangeAddress, cells: FsCellsCollection) -> FsColumn:
168
+ return FsColumn(range_address, cells)
169
+
170
+
171
+ __all__ = ["FsColumn_reflection"]
172
+