dsp-tools 13.0.0.post1__tar.gz → 18.1.0.post10__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 (785) hide show
  1. dsp_tools-18.1.0.post10/PKG-INFO +90 -0
  2. dsp_tools-18.1.0.post10/docs/index.md +54 -0
  3. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/pyproject.toml +33 -14
  4. dsp_tools-18.1.0.post10/src/dsp_tools/cli/args.py +47 -0
  5. dsp_tools-18.1.0.post10/src/dsp_tools/cli/call_action.py +82 -0
  6. dsp_tools-18.1.0.post10/src/dsp_tools/cli/call_action_files_only.py +74 -0
  7. dsp_tools-18.1.0.post10/src/dsp_tools/cli/call_action_with_network.py +204 -0
  8. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/cli/create_parsers.py +103 -37
  9. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/cli/entry_point.py +4 -7
  10. dsp_tools-18.1.0.post10/src/dsp_tools/cli/utils.py +87 -0
  11. dsp_tools-18.1.0.post10/src/dsp_tools/clients/CLAUDE.md +381 -0
  12. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/clients/authentication_client.py +4 -2
  13. dsp_tools-18.1.0.post10/src/dsp_tools/clients/authentication_client_live.py +66 -0
  14. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/clients/connection.py +0 -5
  15. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/clients/connection_live.py +31 -20
  16. dsp_tools-18.1.0.post10/src/dsp_tools/clients/fuseki_metrics.py +60 -0
  17. dsp_tools-18.1.0.post10/src/dsp_tools/clients/group_user_clients.py +12 -0
  18. dsp_tools-18.1.0.post10/src/dsp_tools/clients/group_user_clients_live.py +50 -0
  19. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/clients/legal_info_client.py +7 -0
  20. dsp_tools-18.1.0.post10/src/dsp_tools/clients/legal_info_client_live.py +137 -0
  21. dsp_tools-18.1.0.post10/src/dsp_tools/clients/list_client.py +49 -0
  22. dsp_tools-18.1.0.post10/src/dsp_tools/clients/list_client_live.py +166 -0
  23. dsp_tools-18.1.0.post10/src/dsp_tools/clients/metadata_client.py +24 -0
  24. dsp_tools-18.1.0.post10/src/dsp_tools/clients/metadata_client_live.py +47 -0
  25. dsp_tools-18.1.0.post10/src/dsp_tools/clients/ontology_clients.py +36 -0
  26. dsp_tools-18.1.0.post10/src/dsp_tools/clients/ontology_create_client_live.py +120 -0
  27. dsp_tools-18.1.0.post10/src/dsp_tools/clients/ontology_get_client_live.py +80 -0
  28. dsp_tools-18.1.0.post10/src/dsp_tools/clients/project_client.py +10 -0
  29. dsp_tools-18.1.0.post10/src/dsp_tools/clients/project_client_live.py +37 -0
  30. dsp_tools-18.1.0.post10/src/dsp_tools/commands/create/communicate_problems.py +19 -0
  31. dsp_tools-18.1.0.post10/src/dsp_tools/commands/create/constants.py +7 -0
  32. dsp_tools-18.1.0.post10/src/dsp_tools/commands/create/create_on_server/cardinalities.py +127 -0
  33. dsp_tools-18.1.0.post10/src/dsp_tools/commands/create/create_on_server/group_users.py +56 -0
  34. dsp_tools-18.1.0.post10/src/dsp_tools/commands/create/create_on_server/lists.py +163 -0
  35. dsp_tools-18.1.0.post10/src/dsp_tools/commands/create/create_on_server/mappers.py +12 -0
  36. dsp_tools-18.1.0.post10/src/dsp_tools/commands/create/lists_only.py +47 -0
  37. dsp_tools-18.1.0.post10/src/dsp_tools/commands/create/models/input_problems.py +46 -0
  38. dsp_tools-18.1.0.post10/src/dsp_tools/commands/create/models/parsed_ontology.py +48 -0
  39. dsp_tools-18.1.0.post10/src/dsp_tools/commands/create/models/parsed_project.py +82 -0
  40. dsp_tools-18.1.0.post10/src/dsp_tools/commands/create/models/rdf_ontology.py +12 -0
  41. dsp_tools-18.1.0.post10/src/dsp_tools/commands/create/models/server_project_info.py +55 -0
  42. dsp_tools-18.1.0.post10/src/dsp_tools/commands/create/parsing/parse_lists.py +45 -0
  43. dsp_tools-18.1.0.post10/src/dsp_tools/commands/create/parsing/parse_ontology.py +108 -0
  44. dsp_tools-18.1.0.post10/src/dsp_tools/commands/create/parsing/parse_project.py +148 -0
  45. dsp_tools-18.1.0.post10/src/dsp_tools/commands/create/parsing/parsing_utils.py +40 -0
  46. dsp_tools-18.1.0.post10/src/dsp_tools/commands/create/serialisation/ontology.py +41 -0
  47. dsp_tools-18.1.0.post10/src/dsp_tools/commands/create/serialisation/project.py +27 -0
  48. dsp_tools-18.1.0.post10/src/dsp_tools/commands/excel2json/CLAUDE.md +101 -0
  49. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/excel2json/json_header.py +54 -20
  50. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/excel2json/lists/make_lists.py +9 -8
  51. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/excel2json/lists/models/input_error.py +0 -11
  52. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/excel2json/lists/models/serialise.py +9 -5
  53. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/excel2json/models/input_error.py +30 -0
  54. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/excel2json/models/json_header.py +53 -15
  55. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/excel2json/models/ontology.py +4 -3
  56. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/excel2json/project.py +52 -8
  57. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/excel2json/properties.py +48 -37
  58. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/excel2json/resources.py +28 -7
  59. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/excel2json/utils.py +19 -0
  60. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/excel2xml/excel2xml_cli.py +1 -1
  61. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/excel2xml/excel2xml_lib.py +127 -417
  62. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/excel2xml/propertyelement.py +4 -4
  63. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/id2iri.py +16 -6
  64. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/ingest_xmlupload/bulk_ingest_client.py +8 -7
  65. dsp_tools-18.1.0.post10/src/dsp_tools/commands/ingest_xmlupload/create_resources/upload_xml.py +166 -0
  66. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/ingest_xmlupload/ingest_files/ingest_files.py +5 -4
  67. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/ingest_xmlupload/upload_files/filechecker.py +3 -3
  68. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/ingest_xmlupload/upload_files/upload_files.py +3 -2
  69. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/project/create/parse_project.py +3 -0
  70. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/project/create/project_create_all.py +142 -68
  71. dsp_tools-18.1.0.post10/src/dsp_tools/commands/project/create/project_create_default_permissions.py +135 -0
  72. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/project/create/project_create_ontologies.py +77 -107
  73. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/project/create/project_validate.py +184 -0
  74. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/project → dsp_tools-18.1.0.post10/src/dsp_tools/commands/project/get}/get.py +16 -3
  75. dsp_tools-18.1.0.post10/src/dsp_tools/commands/project/get/get_permissions.py +257 -0
  76. dsp_tools-18.1.0.post10/src/dsp_tools/commands/project/get/get_permissions_legacy.py +89 -0
  77. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/project/legacy_models/context.py +2 -2
  78. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/project/legacy_models/group.py +0 -1
  79. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/project/legacy_models/listnode.py +0 -30
  80. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/project/legacy_models/ontology.py +0 -5
  81. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/project/legacy_models/project.py +9 -2
  82. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/project/legacy_models/propertyclass.py +1 -1
  83. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/project/legacy_models/resourceclass.py +1 -32
  84. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/project/legacy_models/user.py +15 -42
  85. dsp_tools-18.1.0.post10/src/dsp_tools/commands/project/models/permissions_client.py +68 -0
  86. dsp_tools-18.1.0.post10/src/dsp_tools/commands/project/models/permissions_models.py +10 -0
  87. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/project/models/project_definition.py +5 -2
  88. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/resume_xmlupload/resume_xmlupload.py +5 -5
  89. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/start_stack.py +103 -45
  90. dsp_tools-18.1.0.post10/src/dsp_tools/commands/validate_data/CLAUDE.md +159 -0
  91. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/validate_data/constants.py +16 -7
  92. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/validate_data/mappers.py +18 -24
  93. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/validate_data/models/api_responses.py +18 -8
  94. dsp_tools-18.1.0.post10/src/dsp_tools/commands/validate_data/models/input_problems.py +119 -0
  95. dsp_tools-13.0.0.post1/src/dsp_tools/utils/xml_parsing/models/data_deserialised.py → dsp_tools-18.1.0.post10/src/dsp_tools/commands/validate_data/models/rdf_like_data.py +9 -16
  96. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/validate_data/models/validation.py +14 -2
  97. dsp_tools-18.1.0.post10/src/dsp_tools/commands/validate_data/prepare_data/get_rdf_like_data.py +296 -0
  98. dsp_tools-13.0.0.post1/src/dsp_tools/commands/validate_data/make_data_rdf.py → dsp_tools-18.1.0.post10/src/dsp_tools/commands/validate_data/prepare_data/make_data_graph.py +31 -25
  99. dsp_tools-18.1.0.post10/src/dsp_tools/commands/validate_data/prepare_data/prepare_data.py +180 -0
  100. dsp_tools-18.1.0.post10/src/dsp_tools/commands/validate_data/process_validation_report/get_user_validation_message.py +358 -0
  101. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/validate_data → dsp_tools-18.1.0.post10/src/dsp_tools/commands/validate_data/process_validation_report}/query_validation_result.py +123 -156
  102. dsp_tools-18.1.0.post10/src/dsp_tools/commands/validate_data/process_validation_report/reformat_validation_results.py +150 -0
  103. dsp_tools-18.1.0.post10/src/dsp_tools/commands/validate_data/shacl_cli_validator.py +70 -0
  104. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/validate_data/sparql/cardinality_shacl.py +11 -11
  105. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/validate_data/sparql/construct_shacl.py +36 -7
  106. dsp_tools-18.1.0.post10/src/dsp_tools/commands/validate_data/sparql/legal_info_shacl.py +36 -0
  107. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/validate_data/sparql/value_shacl.py +24 -25
  108. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/validate_data/utils.py +22 -0
  109. dsp_tools-18.1.0.post10/src/dsp_tools/commands/validate_data/validate_data.py +279 -0
  110. dsp_tools-18.1.0.post10/src/dsp_tools/commands/validate_data/validation/check_duplicate_files.py +55 -0
  111. dsp_tools-18.1.0.post10/src/dsp_tools/commands/validate_data/validation/check_for_unknown_classes.py +67 -0
  112. dsp_tools-18.1.0.post10/src/dsp_tools/commands/validate_data/validation/get_validation_report.py +94 -0
  113. dsp_tools-18.1.0.post10/src/dsp_tools/commands/validate_data/validation/validate_ontology.py +107 -0
  114. dsp_tools-18.1.0.post10/src/dsp_tools/commands/xmlupload/CLAUDE.md +292 -0
  115. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/xmlupload/make_rdf_graph/constants.py +30 -19
  116. dsp_tools-18.1.0.post10/src/dsp_tools/commands/xmlupload/make_rdf_graph/make_file_value.py +77 -0
  117. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/xmlupload/make_rdf_graph/make_resource_and_values.py +22 -15
  118. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/xmlupload/make_rdf_graph/make_values.py +50 -51
  119. dsp_tools-18.1.0.post10/src/dsp_tools/commands/xmlupload/models/bitstream_info.py +18 -0
  120. dsp_tools-18.1.0.post10/src/dsp_tools/commands/xmlupload/models/formatted_text_value.py +10 -0
  121. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/xmlupload/models/ingest.py +35 -30
  122. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/xmlupload/models/input_problems.py +6 -14
  123. dsp_tools-18.1.0.post10/src/dsp_tools/commands/xmlupload/models/lookup_models.py +21 -0
  124. dsp_tools-18.1.0.post10/src/dsp_tools/commands/xmlupload/models/permission.py +45 -0
  125. dsp_tools-18.1.0.post10/src/dsp_tools/commands/xmlupload/models/processed/file_values.py +29 -0
  126. dsp_tools-18.1.0.post10/src/dsp_tools/commands/xmlupload/models/processed/res.py +27 -0
  127. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/models/intermediary → dsp_tools-18.1.0.post10/src/dsp_tools/commands/xmlupload/models/processed}/values.py +17 -18
  128. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/xmlupload/models/rdf_models.py +3 -18
  129. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/xmlupload/models/upload_clients.py +0 -2
  130. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/xmlupload/models/upload_state.py +2 -2
  131. dsp_tools-18.1.0.post10/src/dsp_tools/commands/xmlupload/prepare_xml_input/get_processed_resources.py +250 -0
  132. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/xmlupload/prepare_xml_input/iiif_uri_validator.py +0 -2
  133. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/xmlupload/prepare_xml_input/list_client.py +9 -2
  134. dsp_tools-18.1.0.post10/src/dsp_tools/commands/xmlupload/prepare_xml_input/prepare_xml_input.py +66 -0
  135. dsp_tools-18.1.0.post10/src/dsp_tools/commands/xmlupload/prepare_xml_input/read_validate_xml_file.py +39 -0
  136. dsp_tools-18.1.0.post10/src/dsp_tools/commands/xmlupload/prepare_xml_input/transform_input_values.py +117 -0
  137. dsp_tools-18.1.0.post10/src/dsp_tools/commands/xmlupload/richtext_id2iri.py +37 -0
  138. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/xmlupload/stash/create_info_for_graph.py +7 -7
  139. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/xmlupload/stash/stash_circular_references.py +8 -10
  140. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/xmlupload/stash/stash_models.py +4 -4
  141. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/xmlupload/stash/upload_stashed_resptr_props.py +6 -5
  142. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/xmlupload/stash/upload_stashed_xml_texts.py +5 -4
  143. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/xmlupload/upload_config.py +8 -0
  144. dsp_tools-18.1.0.post10/src/dsp_tools/commands/xmlupload/write_diagnostic_info.py +27 -0
  145. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/xmlupload/xmlupload.py +148 -60
  146. dsp_tools-18.1.0.post10/src/dsp_tools/config/logger_config.py +68 -0
  147. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/config/warnings_config.py +3 -0
  148. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/error/custom_warnings.py +12 -15
  149. dsp_tools-18.1.0.post10/src/dsp_tools/error/exceptions.py +187 -0
  150. dsp_tools-18.1.0.post10/src/dsp_tools/error/xmllib_errors.py +20 -0
  151. dsp_tools-18.1.0.post10/src/dsp_tools/error/xmllib_warnings.py +54 -0
  152. dsp_tools-18.1.0.post10/src/dsp_tools/error/xmllib_warnings_util.py +158 -0
  153. dsp_tools-18.1.0.post10/src/dsp_tools/error/xsd_validation_error_msg.py +19 -0
  154. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/legacy_models/datetimestamp.py +6 -6
  155. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/resources/schema/data.xsd +29 -15
  156. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/resources/schema/project.json +76 -12
  157. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/resources/schema/properties-only.json +1 -4
  158. dsp_tools-18.1.0.post10/src/dsp_tools/resources/start-stack/docker-compose.override-host.j2 +11 -0
  159. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/resources/start-stack/docker-compose.yml +34 -32
  160. dsp_tools-18.1.0.post10/src/dsp_tools/resources/start-stack/dsp-app-config.json +45 -0
  161. dsp_tools-13.0.0.post1/src/dsp_tools/resources/start-stack/dsp-app-config.json → dsp_tools-18.1.0.post10/src/dsp_tools/resources/start-stack/dsp-app-config.override-host.j2 +5 -5
  162. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/resources/validate_data/api-shapes-resource-cardinalities.ttl +10 -10
  163. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/resources/validate_data/api-shapes.ttl +151 -62
  164. dsp_tools-18.1.0.post10/src/dsp_tools/resources/validate_data/shacl-cli-image.yml +4 -0
  165. dsp_tools-18.1.0.post10/src/dsp_tools/resources/validate_data/validate-ontology.ttl +99 -0
  166. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/utils/ansi_colors.py +5 -1
  167. dsp_tools-18.1.0.post10/src/dsp_tools/utils/data_formats/iri_util.py +30 -0
  168. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/utils/data_formats/shared.py +1 -1
  169. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/utils/data_formats/uri_util.py +10 -0
  170. dsp_tools-18.1.0.post10/src/dsp_tools/utils/fuseki_bloating.py +63 -0
  171. dsp_tools-18.1.0.post10/src/dsp_tools/utils/json_parsing.py +46 -0
  172. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/utils/rdflib_constants.py +2 -3
  173. dsp_tools-18.1.0.post10/src/dsp_tools/utils/rdflib_utils.py +10 -0
  174. dsp_tools-18.1.0.post10/src/dsp_tools/utils/replace_id_with_iri.py +66 -0
  175. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/utils/request_utils.py +59 -3
  176. dsp_tools-18.1.0.post10/src/dsp_tools/utils/xml_parsing/get_lookups.py +32 -0
  177. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/utils/xml_parsing/get_parsed_resources.py +82 -31
  178. dsp_tools-18.1.0.post10/src/dsp_tools/utils/xml_parsing/parse_clean_validate_xml.py +137 -0
  179. dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/CLAUDE.md +302 -0
  180. dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/__init__.py +49 -0
  181. dsp_tools-13.0.0.post1/src/dsp_tools/xmllib/helpers.py → dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/general_functions.py +273 -507
  182. dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/internal/checkers.py +153 -0
  183. dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/internal/circumvent_circular_imports.py +36 -0
  184. {dsp_tools-13.0.0.post1/src/dsp_tools/xmllib → dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/internal}/constants.py +7 -2
  185. dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/internal/input_converters.py +150 -0
  186. dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/internal/serialise_file_value.py +57 -0
  187. dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/internal/serialise_resource.py +176 -0
  188. {dsp_tools-13.0.0.post1/src/dsp_tools/xmllib/serialise → dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/internal}/serialise_values.py +43 -37
  189. dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/internal/type_aliases.py +11 -0
  190. dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/models/config_options.py +28 -0
  191. dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/models/date_formats.py +48 -0
  192. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/xmllib/models/dsp_base_resources.py +471 -212
  193. dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/models/internal/file_values.py +157 -0
  194. {dsp_tools-13.0.0.post1/src/dsp_tools/xmllib/models → dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/models/internal}/geometry.py +15 -28
  195. {dsp_tools-13.0.0.post1/src/dsp_tools/xmllib/models → dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/models/internal}/migration_metadata.py +6 -10
  196. dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/models/internal/serialise_permissions.py +66 -0
  197. dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/models/internal/values.py +341 -0
  198. dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/models/licenses/other.py +59 -0
  199. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/xmllib/models/licenses/recommended.py +13 -5
  200. dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/models/permissions.py +41 -0
  201. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/xmllib/models/res.py +296 -137
  202. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/xmllib/models/root.py +132 -32
  203. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/xmllib/value_checkers.py +89 -49
  204. dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/value_converters.py +777 -0
  205. dsp_tools-13.0.0.post1/.darglint +0 -4
  206. dsp_tools-13.0.0.post1/.editorconfig +0 -11
  207. dsp_tools-13.0.0.post1/.github/actions/setup/action.yml +0 -16
  208. dsp_tools-13.0.0.post1/.github/actions/setup-from-wheel/action.yml +0 -35
  209. dsp_tools-13.0.0.post1/.github/dependabot.yml +0 -16
  210. dsp_tools-13.0.0.post1/.github/release-please-config.json +0 -44
  211. dsp_tools-13.0.0.post1/.github/release-please-manifest.json +0 -3
  212. dsp_tools-13.0.0.post1/.github/workflows/check-pr-title.yml +0 -29
  213. dsp_tools-13.0.0.post1/.github/workflows/publish-dev-release-to-pypi.yml +0 -34
  214. dsp_tools-13.0.0.post1/.github/workflows/publish-release-to-pypi.yml +0 -38
  215. dsp_tools-13.0.0.post1/.github/workflows/release-please.yml +0 -68
  216. dsp_tools-13.0.0.post1/.github/workflows/test-latest-be.yml +0 -33
  217. dsp_tools-13.0.0.post1/.github/workflows/tests-on-push.yml +0 -141
  218. dsp_tools-13.0.0.post1/.github/workflows/update-codecov-of-main.yml +0 -41
  219. dsp_tools-13.0.0.post1/.gitignore +0 -73
  220. dsp_tools-13.0.0.post1/.markdownlint.yml +0 -45
  221. dsp_tools-13.0.0.post1/.pre-commit-config.yaml +0 -19
  222. dsp_tools-13.0.0.post1/.python-version +0 -1
  223. dsp_tools-13.0.0.post1/.yamlfmt.yml +0 -15
  224. dsp_tools-13.0.0.post1/.yamllint.yml +0 -37
  225. dsp_tools-13.0.0.post1/CHANGELOG.md +0 -2553
  226. dsp_tools-13.0.0.post1/LICENSE +0 -674
  227. dsp_tools-13.0.0.post1/PKG-INFO +0 -142
  228. dsp_tools-13.0.0.post1/README.md +0 -252
  229. dsp_tools-13.0.0.post1/docs/assets/data_model_templates/json_header.xlsx +0 -0
  230. dsp_tools-13.0.0.post1/docs/assets/data_model_templates/lists/de.xlsx +0 -0
  231. dsp_tools-13.0.0.post1/docs/assets/data_model_templates/lists/en.xlsx +0 -0
  232. dsp_tools-13.0.0.post1/docs/assets/data_model_templates/lists/lists.xlsx +0 -0
  233. dsp_tools-13.0.0.post1/docs/assets/data_model_templates/rosetta (rosetta)/properties.xlsx +0 -0
  234. dsp_tools-13.0.0.post1/docs/assets/data_model_templates/rosetta (rosetta)/resources.xlsx +0 -0
  235. dsp_tools-13.0.0.post1/docs/assets/images/img-excel2json-list-columns-correct.png +0 -0
  236. dsp_tools-13.0.0.post1/docs/assets/images/img-excel2json-list-columns-incorrect.png +0 -0
  237. dsp_tools-13.0.0.post1/docs/assets/images/img-excel2json-list-english.png +0 -0
  238. dsp_tools-13.0.0.post1/docs/assets/images/img-excel2json-list-german.png +0 -0
  239. dsp_tools-13.0.0.post1/docs/assets/images/img-excel2json-list-node-missing-node.png +0 -0
  240. dsp_tools-13.0.0.post1/docs/assets/images/img-excel2json-list-sorting-incorrect.png +0 -0
  241. dsp_tools-13.0.0.post1/docs/assets/images/img-excel2json-list-translation-incorrect.png +0 -0
  242. dsp_tools-13.0.0.post1/docs/assets/images/img-excel2json-lists.png +0 -0
  243. dsp_tools-13.0.0.post1/docs/assets/images/img-excel2json-properties.png +0 -0
  244. dsp_tools-13.0.0.post1/docs/assets/images/img-excel2json-resources-details.png +0 -0
  245. dsp_tools-13.0.0.post1/docs/assets/images/img-excel2json-resources-overview.png +0 -0
  246. dsp_tools-13.0.0.post1/docs/assets/images/img-excel2xml-closeup.png +0 -0
  247. dsp_tools-13.0.0.post1/docs/assets/images/img-excel2xml-module-docstring.png +0 -0
  248. dsp_tools-13.0.0.post1/docs/assets/images/img-excel2xml-raw-data-category.png +0 -0
  249. dsp_tools-13.0.0.post1/docs/assets/images/img-excel2xml.png +0 -0
  250. dsp_tools-13.0.0.post1/docs/assets/images/img-xml-grid-for-geometry-prop.png +0 -0
  251. dsp_tools-13.0.0.post1/docs/assets/style/theme.css +0 -28
  252. dsp_tools-13.0.0.post1/docs/changelog.md +0 -1
  253. dsp_tools-13.0.0.post1/docs/cli-commands.md +0 -646
  254. dsp_tools-13.0.0.post1/docs/developers/architecture.md +0 -133
  255. dsp_tools-13.0.0.post1/docs/developers/code-quality-tools/code-quality-tools.md +0 -24
  256. dsp_tools-13.0.0.post1/docs/developers/code-quality-tools/general-formatting.md +0 -14
  257. dsp_tools-13.0.0.post1/docs/developers/code-quality-tools/python-docstring-formatting.md +0 -79
  258. dsp_tools-13.0.0.post1/docs/developers/code-quality-tools/python-formatting.md +0 -38
  259. dsp_tools-13.0.0.post1/docs/developers/code-quality-tools/python-linting.md +0 -62
  260. dsp_tools-13.0.0.post1/docs/developers/code-quality-tools/python-see-also.md +0 -53
  261. dsp_tools-13.0.0.post1/docs/developers/code-quality-tools/python-type-checking.md +0 -35
  262. dsp_tools-13.0.0.post1/docs/developers/code-quality-tools/security.md +0 -38
  263. dsp_tools-13.0.0.post1/docs/developers/decision-log.md +0 -51
  264. dsp_tools-13.0.0.post1/docs/developers/index.md +0 -9
  265. dsp_tools-13.0.0.post1/docs/developers/mkdocs.md +0 -86
  266. dsp_tools-13.0.0.post1/docs/developers/packaging.md +0 -123
  267. dsp_tools-13.0.0.post1/docs/developers/user-data.md +0 -101
  268. dsp_tools-13.0.0.post1/docs/excel2xml-module.md +0 -433
  269. dsp_tools-13.0.0.post1/docs/file-formats/excel2json.md +0 -437
  270. dsp_tools-13.0.0.post1/docs/file-formats/excel2xml.md +0 -22
  271. dsp_tools-13.0.0.post1/docs/file-formats/json-project/caveats.md +0 -69
  272. dsp_tools-13.0.0.post1/docs/file-formats/json-project/ontologies.md +0 -965
  273. dsp_tools-13.0.0.post1/docs/file-formats/json-project/overview.md +0 -706
  274. dsp_tools-13.0.0.post1/docs/file-formats/xml-data-file.md +0 -1263
  275. dsp_tools-13.0.0.post1/docs/incremental-xmlupload.md +0 -94
  276. dsp_tools-13.0.0.post1/docs/index.md +0 -109
  277. dsp_tools-13.0.0.post1/docs/start-stack.md +0 -80
  278. dsp_tools-13.0.0.post1/docs/xmllib-api-reference/config-options.md +0 -3
  279. dsp_tools-13.0.0.post1/docs/xmllib-api-reference/dsp-base-resources/audio-segment-resource.md +0 -4
  280. dsp_tools-13.0.0.post1/docs/xmllib-api-reference/dsp-base-resources/link-resource.md +0 -4
  281. dsp_tools-13.0.0.post1/docs/xmllib-api-reference/dsp-base-resources/region-resource.md +0 -4
  282. dsp_tools-13.0.0.post1/docs/xmllib-api-reference/dsp-base-resources/video-segment-resource.md +0 -4
  283. dsp_tools-13.0.0.post1/docs/xmllib-api-reference/helpers.md +0 -1
  284. dsp_tools-13.0.0.post1/docs/xmllib-api-reference/licenses/recommended.md +0 -3
  285. dsp_tools-13.0.0.post1/docs/xmllib-api-reference/licenses/unrecommended.md +0 -0
  286. dsp_tools-13.0.0.post1/docs/xmllib-api-reference/resource.md +0 -3
  287. dsp_tools-13.0.0.post1/docs/xmllib-api-reference/value-checkers.md +0 -1
  288. dsp_tools-13.0.0.post1/docs/xmllib-api-reference/value-converters.md +0 -1
  289. dsp_tools-13.0.0.post1/docs/xmllib-api-reference/xmlroot.md +0 -3
  290. dsp_tools-13.0.0.post1/justfile +0 -132
  291. dsp_tools-13.0.0.post1/k6/.gitignore +0 -3
  292. dsp_tools-13.0.0.post1/k6/README.md +0 -59
  293. dsp_tools-13.0.0.post1/k6/justfile +0 -31
  294. dsp_tools-13.0.0.post1/k6/tests/excel2json.js +0 -40
  295. dsp_tools-13.0.0.post1/mkdocs.yml +0 -102
  296. dsp_tools-13.0.0.post1/scripts/bump_version.py +0 -64
  297. dsp_tools-13.0.0.post1/scripts/markdown_link_validator.py +0 -35
  298. dsp_tools-13.0.0.post1/src/dsp_tools/cli/args.py +0 -11
  299. dsp_tools-13.0.0.post1/src/dsp_tools/cli/call_action.py +0 -266
  300. dsp_tools-13.0.0.post1/src/dsp_tools/clients/authentication_client_live.py +0 -51
  301. dsp_tools-13.0.0.post1/src/dsp_tools/clients/legal_info_client_live.py +0 -63
  302. dsp_tools-13.0.0.post1/src/dsp_tools/commands/ingest_xmlupload/create_resources/upload_xml.py +0 -117
  303. dsp_tools-13.0.0.post1/src/dsp_tools/commands/project/create/project_create_lists.py +0 -200
  304. dsp_tools-13.0.0.post1/src/dsp_tools/commands/rosetta.py +0 -124
  305. dsp_tools-13.0.0.post1/src/dsp_tools/commands/template.py +0 -30
  306. dsp_tools-13.0.0.post1/src/dsp_tools/commands/validate_data/api_clients.py +0 -222
  307. dsp_tools-13.0.0.post1/src/dsp_tools/commands/validate_data/get_user_validation_message.py +0 -172
  308. dsp_tools-13.0.0.post1/src/dsp_tools/commands/validate_data/models/input_problems.py +0 -143
  309. dsp_tools-13.0.0.post1/src/dsp_tools/commands/validate_data/sparql/legal_info_shacl.py +0 -32
  310. dsp_tools-13.0.0.post1/src/dsp_tools/commands/validate_data/validate_data.py +0 -207
  311. dsp_tools-13.0.0.post1/src/dsp_tools/commands/validate_data/validate_ontology.py +0 -56
  312. dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/make_rdf_graph/make_file_value.py +0 -122
  313. dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/models/deserialise/deserialise_value.py +0 -219
  314. dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/models/deserialise/xmlresource.py +0 -171
  315. dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/models/formatted_text_value.py +0 -35
  316. dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/models/intermediary/file_values.py +0 -30
  317. dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/models/intermediary/res.py +0 -39
  318. dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/models/lookup_models.py +0 -181
  319. dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/models/ontology_problem_models.py +0 -178
  320. dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/models/permission.py +0 -84
  321. dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/prepare_xml_input/check_consistency_with_ontology.py +0 -261
  322. dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/prepare_xml_input/ontology_client.py +0 -92
  323. dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/prepare_xml_input/prepare_xml_input.py +0 -110
  324. dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/prepare_xml_input/read_validate_xml_file.py +0 -140
  325. dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/prepare_xml_input/transform_input_values.py +0 -165
  326. dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/prepare_xml_input/transform_into_intermediary_classes.py +0 -232
  327. dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/prepare_xml_input/transform_xmlresource_into_intermediary_classes.py +0 -267
  328. dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/project_client.py +0 -93
  329. dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/write_diagnostic_info.py +0 -23
  330. dsp_tools-13.0.0.post1/src/dsp_tools/config/logger_config.py +0 -41
  331. dsp_tools-13.0.0.post1/src/dsp_tools/error/exceptions.py +0 -87
  332. dsp_tools-13.0.0.post1/src/dsp_tools/resources/0100-template-repo/template.json +0 -45
  333. dsp_tools-13.0.0.post1/src/dsp_tools/resources/0100-template-repo/template.xml +0 -15
  334. dsp_tools-13.0.0.post1/src/dsp_tools/resources/validate_data/validate-ontology.ttl +0 -197
  335. dsp_tools-13.0.0.post1/src/dsp_tools/utils/data_formats/iri_util.py +0 -14
  336. dsp_tools-13.0.0.post1/src/dsp_tools/utils/json_parsing.py +0 -36
  337. dsp_tools-13.0.0.post1/src/dsp_tools/utils/xml_parsing/get_data_deserialised.py +0 -309
  338. dsp_tools-13.0.0.post1/src/dsp_tools/utils/xml_parsing/get_xml_project.py +0 -71
  339. dsp_tools-13.0.0.post1/src/dsp_tools/utils/xml_parsing/models/text_value_validation.py +0 -68
  340. dsp_tools-13.0.0.post1/src/dsp_tools/utils/xml_parsing/parse_and_transform.py +0 -47
  341. dsp_tools-13.0.0.post1/src/dsp_tools/utils/xml_parsing/parse_xml.py +0 -29
  342. dsp_tools-13.0.0.post1/src/dsp_tools/utils/xml_parsing/transform.py +0 -69
  343. dsp_tools-13.0.0.post1/src/dsp_tools/utils/xml_parsing/xml_schema_validation.py +0 -103
  344. dsp_tools-13.0.0.post1/src/dsp_tools/xmllib/__init__.py +0 -34
  345. dsp_tools-13.0.0.post1/src/dsp_tools/xmllib/internal_helpers.py +0 -125
  346. dsp_tools-13.0.0.post1/src/dsp_tools/xmllib/models/config_options.py +0 -55
  347. dsp_tools-13.0.0.post1/src/dsp_tools/xmllib/models/file_values.py +0 -84
  348. dsp_tools-13.0.0.post1/src/dsp_tools/xmllib/models/permissions.py +0 -56
  349. dsp_tools-13.0.0.post1/src/dsp_tools/xmllib/models/problems.py +0 -18
  350. dsp_tools-13.0.0.post1/src/dsp_tools/xmllib/models/values.py +0 -223
  351. dsp_tools-13.0.0.post1/src/dsp_tools/xmllib/serialise/serialise_file_value.py +0 -56
  352. dsp_tools-13.0.0.post1/src/dsp_tools/xmllib/serialise/serialise_resource.py +0 -188
  353. dsp_tools-13.0.0.post1/src/dsp_tools/xmllib/type_aliases.py +0 -12
  354. dsp_tools-13.0.0.post1/src/dsp_tools/xmllib/value_converters.py +0 -145
  355. dsp_tools-13.0.0.post1/test/benchmarking/test_stash_circular_references.py +0 -46
  356. dsp_tools-13.0.0.post1/test/conftest.py +0 -38
  357. dsp_tools-13.0.0.post1/test/distribution/test_cli_deps_resources.py +0 -101
  358. dsp_tools-13.0.0.post1/test/distribution/test_xmllib.py +0 -23
  359. dsp_tools-13.0.0.post1/test/e2e/commands/ingest_xmlupload/test_ingest_xmlupload.py +0 -98
  360. dsp_tools-13.0.0.post1/test/e2e/commands/validate_data/test_edge_cases.py +0 -197
  361. dsp_tools-13.0.0.post1/test/e2e/commands/validate_data/test_generic_correct.py +0 -99
  362. dsp_tools-13.0.0.post1/test/e2e/commands/validate_data/test_generic_violations.py +0 -428
  363. dsp_tools-13.0.0.post1/test/e2e/commands/validate_data/test_systematic.py +0 -51
  364. dsp_tools-13.0.0.post1/test/e2e/setup_testcontainers/artifacts.py +0 -32
  365. dsp_tools-13.0.0.post1/test/e2e/setup_testcontainers/containers.py +0 -171
  366. dsp_tools-13.0.0.post1/test/e2e/setup_testcontainers/ports.py +0 -46
  367. dsp_tools-13.0.0.post1/test/e2e/setup_testcontainers/setup.py +0 -71
  368. dsp_tools-13.0.0.post1/test/e2e/test_create_and_xmlupload.py +0 -194
  369. dsp_tools-13.0.0.post1/test/integration/commands/__init__.py +0 -0
  370. dsp_tools-13.0.0.post1/test/integration/commands/excel2json/__init__.py +0 -0
  371. dsp_tools-13.0.0.post1/test/integration/commands/excel2json/test_json_header.py +0 -62
  372. dsp_tools-13.0.0.post1/test/integration/commands/excel2json/test_lists.py +0 -120
  373. dsp_tools-13.0.0.post1/test/integration/commands/excel2json/test_project.py +0 -63
  374. dsp_tools-13.0.0.post1/test/integration/commands/excel2json/test_properties.py +0 -356
  375. dsp_tools-13.0.0.post1/test/integration/commands/excel2json/test_resources.py +0 -248
  376. dsp_tools-13.0.0.post1/test/integration/commands/excel2xml/__init__.py +0 -0
  377. dsp_tools-13.0.0.post1/test/integration/commands/excel2xml/test_excel2xml_cli.py +0 -185
  378. dsp_tools-13.0.0.post1/test/integration/commands/excel2xml/test_excel2xml_lib.py +0 -57
  379. dsp_tools-13.0.0.post1/test/integration/commands/ingest_xmlupload/__init__.py +0 -0
  380. dsp_tools-13.0.0.post1/test/integration/commands/ingest_xmlupload/test_ingest_xmlupload.py +0 -53
  381. dsp_tools-13.0.0.post1/test/integration/commands/project/__init__.py +0 -0
  382. dsp_tools-13.0.0.post1/test/integration/commands/project/test_create_project.py +0 -177
  383. dsp_tools-13.0.0.post1/test/integration/commands/project/test_models_project.py +0 -54
  384. dsp_tools-13.0.0.post1/test/integration/commands/test_generate_templates.py +0 -32
  385. dsp_tools-13.0.0.post1/test/integration/commands/test_rosetta.py +0 -22
  386. dsp_tools-13.0.0.post1/test/integration/commands/xmlupload/__init__.py +0 -0
  387. dsp_tools-13.0.0.post1/test/integration/commands/xmlupload/authentication_client_mock.py +0 -6
  388. dsp_tools-13.0.0.post1/test/integration/commands/xmlupload/connection_mock.py +0 -58
  389. dsp_tools-13.0.0.post1/test/integration/commands/xmlupload/stash/__init__.py +0 -0
  390. dsp_tools-13.0.0.post1/test/integration/commands/xmlupload/stash/test_upload_stash_with_mock.py +0 -235
  391. dsp_tools-13.0.0.post1/test/integration/commands/xmlupload/test_check_consistency_with_ontology.py +0 -107
  392. dsp_tools-13.0.0.post1/test/integration/commands/xmlupload/test_list_client_live.py +0 -246
  393. dsp_tools-13.0.0.post1/test/integration/commands/xmlupload/test_ontology_client.py +0 -84
  394. dsp_tools-13.0.0.post1/test/integration/commands/xmlupload/test_project_client_live.py +0 -55
  395. dsp_tools-13.0.0.post1/test/integration/commands/xmlupload/test_resource_creation.py +0 -562
  396. dsp_tools-13.0.0.post1/test/integration/commands/xmlupload/test_upload_config.py +0 -22
  397. dsp_tools-13.0.0.post1/test/integration/commands/xmlupload/test_upload_state.py +0 -33
  398. dsp_tools-13.0.0.post1/test/integration/utils/__init__.py +0 -0
  399. dsp_tools-13.0.0.post1/test/integration/utils/xml_parsing/__init__.py +0 -0
  400. dsp_tools-13.0.0.post1/test/integration/utils/xml_parsing/conftest.py +0 -1
  401. dsp_tools-13.0.0.post1/test/integration/utils/xml_parsing/test_get_data_deserialised.py +0 -14
  402. dsp_tools-13.0.0.post1/test/integration/utils/xml_parsing/test_xml_utils.py +0 -63
  403. dsp_tools-13.0.0.post1/test/integration/utils/xml_parsing/test_xml_validation.py +0 -72
  404. dsp_tools-13.0.0.post1/test/integration/utils/xml_parsing/xml_fixtures.py +0 -11
  405. dsp_tools-13.0.0.post1/test/integration/utils/xml_parsing/xml_parsing_and_cleaning.py +0 -35
  406. dsp_tools-13.0.0.post1/test/integration/xmllib/__init__.py +0 -0
  407. dsp_tools-13.0.0.post1/test/integration/xmllib/test_helpers.py +0 -35
  408. dsp_tools-13.0.0.post1/test/legacy_e2e/__init__.py +0 -0
  409. dsp_tools-13.0.0.post1/test/legacy_e2e/commands/__init__.py +0 -0
  410. dsp_tools-13.0.0.post1/test/legacy_e2e/commands/project/__init__.py +0 -0
  411. dsp_tools-13.0.0.post1/test/legacy_e2e/commands/project/test_create_lists.py +0 -45
  412. dsp_tools-13.0.0.post1/test/legacy_e2e/commands/project/test_group.py +0 -86
  413. dsp_tools-13.0.0.post1/test/legacy_e2e/commands/project/test_listnode.py +0 -136
  414. dsp_tools-13.0.0.post1/test/legacy_e2e/commands/project/test_ontology.py +0 -73
  415. dsp_tools-13.0.0.post1/test/legacy_e2e/commands/project/test_propertyclass.py +0 -46
  416. dsp_tools-13.0.0.post1/test/legacy_e2e/commands/project/test_resourceclass.py +0 -91
  417. dsp_tools-13.0.0.post1/test/legacy_e2e/commands/project/test_user.py +0 -107
  418. dsp_tools-13.0.0.post1/test/legacy_e2e/test_create_get_xmlupload.py +0 -506
  419. dsp_tools-13.0.0.post1/test/unittests/__init__.py +0 -0
  420. dsp_tools-13.0.0.post1/test/unittests/cli/__init__.py +0 -0
  421. dsp_tools-13.0.0.post1/test/unittests/cli/test_cli_with_mock.py +0 -592
  422. dsp_tools-13.0.0.post1/test/unittests/cli/test_helper_functions.py +0 -193
  423. dsp_tools-13.0.0.post1/test/unittests/clients/__init__.py +0 -0
  424. dsp_tools-13.0.0.post1/test/unittests/clients/test_connection_live.py +0 -314
  425. dsp_tools-13.0.0.post1/test/unittests/clients/test_legal_info_live.py +0 -68
  426. dsp_tools-13.0.0.post1/test/unittests/commands/__init__.py +0 -0
  427. dsp_tools-13.0.0.post1/test/unittests/commands/excel2json/__init__.py +0 -0
  428. dsp_tools-13.0.0.post1/test/unittests/commands/excel2json/conftest.py +0 -1
  429. dsp_tools-13.0.0.post1/test/unittests/commands/excel2json/json_header_fixtures.py +0 -222
  430. dsp_tools-13.0.0.post1/test/unittests/commands/excel2json/lists/__init__.py +0 -0
  431. dsp_tools-13.0.0.post1/test/unittests/commands/excel2json/lists/conftest.py +0 -1
  432. dsp_tools-13.0.0.post1/test/unittests/commands/excel2json/lists/fixtures_excel_sheets.py +0 -404
  433. dsp_tools-13.0.0.post1/test/unittests/commands/excel2json/lists/test_compliance_checks.py +0 -578
  434. dsp_tools-13.0.0.post1/test/unittests/commands/excel2json/lists/test_make_lists.py +0 -570
  435. dsp_tools-13.0.0.post1/test/unittests/commands/excel2json/lists/test_utils.py +0 -105
  436. dsp_tools-13.0.0.post1/test/unittests/commands/excel2json/test_json_header.py +0 -499
  437. dsp_tools-13.0.0.post1/test/unittests/commands/excel2json/test_models_json_header.py +0 -137
  438. dsp_tools-13.0.0.post1/test/unittests/commands/excel2json/test_models_lists_serialise.py +0 -118
  439. dsp_tools-13.0.0.post1/test/unittests/commands/excel2json/test_properties.py +0 -359
  440. dsp_tools-13.0.0.post1/test/unittests/commands/excel2json/test_resources.py +0 -228
  441. dsp_tools-13.0.0.post1/test/unittests/commands/excel2json/test_utils.py +0 -264
  442. dsp_tools-13.0.0.post1/test/unittests/commands/excel2xml/__init__.py +0 -0
  443. dsp_tools-13.0.0.post1/test/unittests/commands/excel2xml/excel2xml_lib/__init__.py +0 -0
  444. dsp_tools-13.0.0.post1/test/unittests/commands/excel2xml/excel2xml_lib/test_escaped_chars.py +0 -37
  445. dsp_tools-13.0.0.post1/test/unittests/commands/excel2xml/excel2xml_lib/test_find_date_in_string.py +0 -163
  446. dsp_tools-13.0.0.post1/test/unittests/commands/excel2xml/excel2xml_lib/test_list_mappings.py +0 -57
  447. dsp_tools-13.0.0.post1/test/unittests/commands/excel2xml/excel2xml_lib/test_make_props.py +0 -629
  448. dsp_tools-13.0.0.post1/test/unittests/commands/excel2xml/excel2xml_lib/test_prepare_value.py +0 -47
  449. dsp_tools-13.0.0.post1/test/unittests/commands/excel2xml/excel2xml_lib/test_resource_types.py +0 -146
  450. dsp_tools-13.0.0.post1/test/unittests/commands/ingest_xmlupload/__init__.py +0 -0
  451. dsp_tools-13.0.0.post1/test/unittests/commands/ingest_xmlupload/test_apply_ingest_id.py +0 -85
  452. dsp_tools-13.0.0.post1/test/unittests/commands/ingest_xmlupload/test_bulk_ingest_client.py +0 -175
  453. dsp_tools-13.0.0.post1/test/unittests/commands/ingest_xmlupload/test_filechecker.py +0 -122
  454. dsp_tools-13.0.0.post1/test/unittests/commands/ingest_xmlupload/test_upload_failures.py +0 -80
  455. dsp_tools-13.0.0.post1/test/unittests/commands/ingest_xmlupload/test_user_information.py +0 -111
  456. dsp_tools-13.0.0.post1/test/unittests/commands/project/__init__.py +0 -0
  457. dsp_tools-13.0.0.post1/test/unittests/commands/project/test_parse_project.py +0 -77
  458. dsp_tools-13.0.0.post1/test/unittests/commands/project/test_project_validate.py +0 -55
  459. dsp_tools-13.0.0.post1/test/unittests/commands/test_id2iri.py +0 -202
  460. dsp_tools-13.0.0.post1/test/unittests/commands/validate_data/__init__.py +0 -0
  461. dsp_tools-13.0.0.post1/test/unittests/commands/validate_data/conftest.py +0 -4
  462. dsp_tools-13.0.0.post1/test/unittests/commands/validate_data/constants.py +0 -20
  463. dsp_tools-13.0.0.post1/test/unittests/commands/validate_data/fixtures/__init__.py +0 -0
  464. dsp_tools-13.0.0.post1/test/unittests/commands/validate_data/fixtures/data_deserialised.py +0 -201
  465. dsp_tools-13.0.0.post1/test/unittests/commands/validate_data/fixtures/lists.py +0 -89
  466. dsp_tools-13.0.0.post1/test/unittests/commands/validate_data/fixtures/onto.py +0 -275
  467. dsp_tools-13.0.0.post1/test/unittests/commands/validate_data/fixtures/validation_result.py +0 -1092
  468. dsp_tools-13.0.0.post1/test/unittests/commands/validate_data/models/__init__.py +0 -0
  469. dsp_tools-13.0.0.post1/test/unittests/commands/validate_data/models/test_api_response.py +0 -15
  470. dsp_tools-13.0.0.post1/test/unittests/commands/validate_data/sparql/__init__.py +0 -0
  471. dsp_tools-13.0.0.post1/test/unittests/commands/validate_data/sparql/test_cardinality_shacl.py +0 -229
  472. dsp_tools-13.0.0.post1/test/unittests/commands/validate_data/sparql/test_value_shacl.py +0 -169
  473. dsp_tools-13.0.0.post1/test/unittests/commands/validate_data/test_api_clients.py +0 -112
  474. dsp_tools-13.0.0.post1/test/unittests/commands/validate_data/test_get_user_validation_message.py +0 -295
  475. dsp_tools-13.0.0.post1/test/unittests/commands/validate_data/test_make_data_rdf.py +0 -276
  476. dsp_tools-13.0.0.post1/test/unittests/commands/validate_data/test_query_validation_result.py +0 -623
  477. dsp_tools-13.0.0.post1/test/unittests/commands/validate_data/test_validate_data.py +0 -119
  478. dsp_tools-13.0.0.post1/test/unittests/commands/validate_data/test_validate_ontology.py +0 -29
  479. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/__init__.py +0 -0
  480. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/make_rdf_graph/__init__.py +0 -0
  481. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/make_rdf_graph/test_jsonld_utils.py +0 -87
  482. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/make_rdf_graph/test_make_file_value.py +0 -221
  483. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/make_rdf_graph/test_make_resource_and_values.py +0 -103
  484. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/make_rdf_graph/test_make_values.py +0 -346
  485. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/models/__init__.py +0 -0
  486. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/models/deserialize/__init__.py +0 -0
  487. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/models/deserialize/test_deserialise_value.py +0 -198
  488. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/models/deserialize/test_xmlresource.py +0 -224
  489. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/models/test_ingest.py +0 -67
  490. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/models/test_input_problems.py +0 -105
  491. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/models/test_ontology_lookup_models.py +0 -286
  492. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/models/test_ontology_problem_models.py +0 -149
  493. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/stash/__init__.py +0 -0
  494. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/stash/test_analyse_circular_reference_graph.py +0 -373
  495. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/stash/test_create_info_for_graph_from_intermediary_resource.py +0 -169
  496. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/stash/test_stash_circular_references_from_intermediary_resource.py +0 -156
  497. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/stash/test_upload_stashed_resptr_props.py +0 -38
  498. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/stash/test_upload_stashed_xml_texts.py +0 -156
  499. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/test_check_consistency_with_ontology.py +0 -659
  500. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/test_iiif_uri_validator.py +0 -131
  501. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/test_iri_resolver.py +0 -38
  502. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/test_prepare_xml_input.py +0 -41
  503. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/test_read_validate_xml_file.py +0 -101
  504. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/test_resource_creation.py +0 -40
  505. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/test_upload_config.py +0 -39
  506. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/test_xmlupload.py +0 -43
  507. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/transform_into_intermediary/__init__.py +0 -0
  508. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/transform_into_intermediary/conftest.py +0 -1
  509. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/transform_into_intermediary/fixtures_xmlproperty.py +0 -286
  510. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/transform_into_intermediary/test_transform_input_values.py +0 -213
  511. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/transform_into_intermediary/test_transform_into_intermediary_classes.py +0 -551
  512. dsp_tools-13.0.0.post1/test/unittests/commands/xmlupload/transform_into_intermediary/test_transform_xmlresource_into_intermediary_classes.py +0 -383
  513. dsp_tools-13.0.0.post1/test/unittests/legacy_models/__init__.py +0 -0
  514. dsp_tools-13.0.0.post1/test/unittests/legacy_models/test_langstring.py +0 -101
  515. dsp_tools-13.0.0.post1/test/unittests/utils/__init__.py +0 -0
  516. dsp_tools-13.0.0.post1/test/unittests/utils/data_formats/__init__.py +0 -0
  517. dsp_tools-13.0.0.post1/test/unittests/utils/data_formats/test_date_util.py +0 -270
  518. dsp_tools-13.0.0.post1/test/unittests/utils/data_formats/test_iri_util.py +0 -20
  519. dsp_tools-13.0.0.post1/test/unittests/utils/data_formats/test_shared.py +0 -59
  520. dsp_tools-13.0.0.post1/test/unittests/utils/data_formats/test_uri_util.py +0 -59
  521. dsp_tools-13.0.0.post1/test/unittests/utils/test_request_utils.py +0 -33
  522. dsp_tools-13.0.0.post1/test/unittests/utils/xml_parsing/__init__.py +0 -0
  523. dsp_tools-13.0.0.post1/test/unittests/utils/xml_parsing/conftest.py +0 -2
  524. dsp_tools-13.0.0.post1/test/unittests/utils/xml_parsing/fixtures_parse_resource.py +0 -156
  525. dsp_tools-13.0.0.post1/test/unittests/utils/xml_parsing/fixtures_xml_data.py +0 -467
  526. dsp_tools-13.0.0.post1/test/unittests/utils/xml_parsing/test_get_parsed_resources.py +0 -575
  527. dsp_tools-13.0.0.post1/test/unittests/utils/xml_parsing/test_get_project_deserialised.py +0 -522
  528. dsp_tools-13.0.0.post1/test/unittests/utils/xml_parsing/test_models_text_value_validation.py +0 -63
  529. dsp_tools-13.0.0.post1/test/unittests/utils/xml_parsing/test_xml_schema_validation.py +0 -83
  530. dsp_tools-13.0.0.post1/test/unittests/xmllib/__init__.py +0 -0
  531. dsp_tools-13.0.0.post1/test/unittests/xmllib/models/__init__.py +0 -0
  532. dsp_tools-13.0.0.post1/test/unittests/xmllib/models/test_geometry.py +0 -84
  533. dsp_tools-13.0.0.post1/test/unittests/xmllib/models/test_migration_metadata.py +0 -53
  534. dsp_tools-13.0.0.post1/test/unittests/xmllib/models/test_resource.py +0 -421
  535. dsp_tools-13.0.0.post1/test/unittests/xmllib/models/test_root.py +0 -67
  536. dsp_tools-13.0.0.post1/test/unittests/xmllib/models/test_values.py +0 -158
  537. dsp_tools-13.0.0.post1/test/unittests/xmllib/serialise/__init__.py +0 -0
  538. dsp_tools-13.0.0.post1/test/unittests/xmllib/serialise/test_serialise_file_value.py +0 -104
  539. dsp_tools-13.0.0.post1/test/unittests/xmllib/serialise/test_serialise_resource.py +0 -164
  540. dsp_tools-13.0.0.post1/test/unittests/xmllib/serialise/test_serialise_values.py +0 -295
  541. dsp_tools-13.0.0.post1/test/unittests/xmllib/test_helpers.py +0 -376
  542. dsp_tools-13.0.0.post1/test/unittests/xmllib/test_internal_helpers.py +0 -35
  543. dsp_tools-13.0.0.post1/test/unittests/xmllib/test_value_checkers.py +0 -212
  544. dsp_tools-13.0.0.post1/test/unittests/xmllib/test_value_converters.py +0 -47
  545. dsp_tools-13.0.0.post1/testdata/bitstreams/README.txt +0 -4
  546. dsp_tools-13.0.0.post1/testdata/bitstreams/test with special chars /303/240/303/251/303/250/303/252/303/253/303/264/303/273 /303/244/303/266/303/274/303/237 0123456789 _-'()[]{}+=!<>| /346/274/242/343/201/214/352/270/200/341/210/255/330/250/331/212/330/251/320/261/344/270/255.png +0 -0
  547. dsp_tools-13.0.0.post1/testdata/bitstreams/test with uppercase extension.JPG +0 -0
  548. dsp_tools-13.0.0.post1/testdata/bitstreams/test with whitespaces.png +0 -0
  549. dsp_tools-13.0.0.post1/testdata/bitstreams/test,with,multiple,commas.png +0 -0
  550. dsp_tools-13.0.0.post1/testdata/bitstreams/test.7z +0 -0
  551. dsp_tools-13.0.0.post1/testdata/bitstreams/test.csv +0 -2
  552. dsp_tools-13.0.0.post1/testdata/bitstreams/test.doc +0 -0
  553. dsp_tools-13.0.0.post1/testdata/bitstreams/test.docx +0 -0
  554. dsp_tools-13.0.0.post1/testdata/bitstreams/test.gif +0 -0
  555. dsp_tools-13.0.0.post1/testdata/bitstreams/test.gz +0 -0
  556. dsp_tools-13.0.0.post1/testdata/bitstreams/test.gzip +0 -0
  557. dsp_tools-13.0.0.post1/testdata/bitstreams/test.jp2 +0 -0
  558. dsp_tools-13.0.0.post1/testdata/bitstreams/test.jpeg +0 -0
  559. dsp_tools-13.0.0.post1/testdata/bitstreams/test.jpg +0 -0
  560. dsp_tools-13.0.0.post1/testdata/bitstreams/test.json +0 -1
  561. dsp_tools-13.0.0.post1/testdata/bitstreams/test.mp3 +0 -0
  562. dsp_tools-13.0.0.post1/testdata/bitstreams/test.mp4 +0 -0
  563. dsp_tools-13.0.0.post1/testdata/bitstreams/test.odd +0 -6
  564. dsp_tools-13.0.0.post1/testdata/bitstreams/test.pdf +0 -0
  565. dsp_tools-13.0.0.post1/testdata/bitstreams/test.png +0 -0
  566. dsp_tools-13.0.0.post1/testdata/bitstreams/test.ppt +0 -0
  567. dsp_tools-13.0.0.post1/testdata/bitstreams/test.pptx +0 -0
  568. dsp_tools-13.0.0.post1/testdata/bitstreams/test.rng +0 -7
  569. dsp_tools-13.0.0.post1/testdata/bitstreams/test.tar +0 -0
  570. dsp_tools-13.0.0.post1/testdata/bitstreams/test.tar.gz +0 -0
  571. dsp_tools-13.0.0.post1/testdata/bitstreams/test.tgz +0 -0
  572. dsp_tools-13.0.0.post1/testdata/bitstreams/test.tif +0 -0
  573. dsp_tools-13.0.0.post1/testdata/bitstreams/test.tiff +0 -0
  574. dsp_tools-13.0.0.post1/testdata/bitstreams/test.txt +0 -5
  575. dsp_tools-13.0.0.post1/testdata/bitstreams/test.wav +0 -0
  576. dsp_tools-13.0.0.post1/testdata/bitstreams/test.with.multiple.dots.png +0 -0
  577. dsp_tools-13.0.0.post1/testdata/bitstreams/test.xls +0 -0
  578. dsp_tools-13.0.0.post1/testdata/bitstreams/test.xlsx +0 -0
  579. dsp_tools-13.0.0.post1/testdata/bitstreams/test.xml +0 -6
  580. dsp_tools-13.0.0.post1/testdata/bitstreams/test.xsd +0 -36
  581. dsp_tools-13.0.0.post1/testdata/bitstreams/test.xsl +0 -18
  582. dsp_tools-13.0.0.post1/testdata/bitstreams/test.z +0 -0
  583. dsp_tools-13.0.0.post1/testdata/bitstreams/test.zip +0 -0
  584. dsp_tools-13.0.0.post1/testdata/dsp-ingest-data/dsp-ingest.xml +0 -68
  585. dsp_tools-13.0.0.post1/testdata/dsp-ingest-data/dsp_ingest_no_mapping.xml +0 -4
  586. dsp_tools-13.0.0.post1/testdata/dsp-ingest-data/e2e-sample-project/Bilder Projekt 2024/C/303/264t/303/251 gauche/Bild A (1).jpg +0 -0
  587. dsp_tools-13.0.0.post1/testdata/dsp-ingest-data/e2e-sample-project/Bilder Projekt 2024/C/303/264t/303/251 gauche/Dokument B (2).pdf +0 -0
  588. dsp_tools-13.0.0.post1/testdata/dsp-ingest-data/e2e-sample-project/data.xml +0 -40
  589. dsp_tools-13.0.0.post1/testdata/dsp-ingest-data/e2e-sample-project/project.json +0 -49
  590. dsp_tools-13.0.0.post1/testdata/dsp-ingest-data/mapping-00A2.csv +0 -5
  591. dsp_tools-13.0.0.post1/testdata/e2e/admin_user_data.ttl +0 -16
  592. dsp_tools-13.0.0.post1/testdata/e2e/repo_config.ttl +0 -50
  593. dsp_tools-13.0.0.post1/testdata/e2e/sipi.docker-config.lua +0 -14
  594. dsp_tools-13.0.0.post1/testdata/excel2json/excel2json-expected-output.json +0 -1150
  595. dsp_tools-13.0.0.post1/testdata/excel2json/excel2json_files/.hidden_file +0 -1
  596. dsp_tools-13.0.0.post1/testdata/excel2json/excel2json_files/json_header.xlsx +0 -0
  597. dsp_tools-13.0.0.post1/testdata/excel2json/excel2json_files/lists/list3.xlsx +0 -0
  598. dsp_tools-13.0.0.post1/testdata/excel2json/excel2json_files/lists/lists.xlsx +0 -0
  599. dsp_tools-13.0.0.post1/testdata/excel2json/expected_json_header.json +0 -76
  600. dsp_tools-13.0.0.post1/testdata/excel2json/lists-output-expected.json +0 -194
  601. dsp_tools-13.0.0.post1/testdata/excel2json/lists-section-expanded.json +0 -73
  602. dsp_tools-13.0.0.post1/testdata/excel2json/old-lists-monolingual/de.xlsx +0 -0
  603. dsp_tools-13.0.0.post1/testdata/excel2json/old-lists-multilingual/de.xlsx +0 -0
  604. dsp_tools-13.0.0.post1/testdata/excel2json/old-lists-multilingual/en.xlsx +0 -0
  605. dsp_tools-13.0.0.post1/testdata/excel2json/old-lists-multilingual/fr.xlsx +0 -0
  606. dsp_tools-13.0.0.post1/testdata/excel2json/old-lists-multilingual-output-expected.json +0 -102
  607. dsp_tools-13.0.0.post1/testdata/excel2json/old_excel2json_files/.hidden_file +0 -1
  608. dsp_tools-13.0.0.post1/testdata/excel2json/old_excel2json_files/lists/de.xlsx +0 -0
  609. dsp_tools-13.0.0.post1/testdata/excel2json/old_excel2json_files/lists/en.xlsx +0 -0
  610. dsp_tools-13.0.0.post1/testdata/excel2json/old_excel2json_files/lists/fr.xlsx +0 -0
  611. dsp_tools-13.0.0.post1/testdata/excel2json/old_excel2json_files/test-name (test_label)/.hidden_file +0 -1
  612. dsp_tools-13.0.0.post1/testdata/excel2json/old_excel2json_files/test-name (test_label)/properties.xlsx +0 -0
  613. dsp_tools-13.0.0.post1/testdata/excel2json/old_excel2json_files/test-name (test_label)/resources.xlsx +0 -0
  614. dsp_tools-13.0.0.post1/testdata/excel2xml/excel2xml-expected-output.xml +0 -140
  615. dsp_tools-13.0.0.post1/testdata/excel2xml/excel2xml-testdata-special-characters.xlsx +0 -0
  616. dsp_tools-13.0.0.post1/testdata/excel2xml/excel2xml-testdata.csv +0 -57
  617. dsp_tools-13.0.0.post1/testdata/excel2xml/excel2xml-testdata.xls +0 -0
  618. dsp_tools-13.0.0.post1/testdata/excel2xml/excel2xml-testdata.xlsx +0 -0
  619. dsp_tools-13.0.0.post1/testdata/id2iri/remove-resources/data.xml +0 -44
  620. dsp_tools-13.0.0.post1/testdata/id2iri/remove-resources/mapping.json +0 -4
  621. dsp_tools-13.0.0.post1/testdata/id2iri/test-id2iri-data.xml +0 -71
  622. dsp_tools-13.0.0.post1/testdata/id2iri/test-id2iri-mapping.json +0 -6
  623. dsp_tools-13.0.0.post1/testdata/invalid-testdata/bitstreams/test.gif +0 -0
  624. dsp_tools-13.0.0.post1/testdata/invalid-testdata/bitstreams/test.rtf +0 -20
  625. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/json_header_empty_sheet.xlsx +0 -0
  626. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/json_header_missing_sheet.xlsx +0 -0
  627. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/lists_duplicate_list_ids/list_duplicate_1.xlsx +0 -0
  628. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/lists_duplicate_list_ids/list_duplicate_2.xlsx +0 -0
  629. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/lists_duplicate_listname/list_duplicate_1.xlsx +0 -0
  630. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/lists_duplicate_listname/list_duplicate_2.xlsx +0 -0
  631. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/lists_duplicate_node_ids/list_duplicate_node_ids.xlsx +0 -0
  632. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/lists_invalid_shape/list_missing_translation_column.xlsx +0 -0
  633. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/lists_missing_translations/list_missing_translation_cell.xlsx +0 -0
  634. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/old-lists-invalid-1/de.xlsx +0 -0
  635. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/old-lists-invalid-1/en.xlsx +0 -0
  636. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/old-lists-invalid-1/fr.xlsx +0 -0
  637. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/old-lists-invalid-2/de.xlsx +0 -0
  638. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/old-lists-invalid-2/en.xlsx +0 -0
  639. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/old-lists-invalid-2/fr.xlsx +0 -0
  640. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/properties-duplicate-name.xlsx +0 -0
  641. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/properties-invalid-gui_attribute_format.xlsx +0 -0
  642. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/properties-invalid-gui_attribute_values.xlsx +0 -0
  643. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/properties-invalid-gui_element.xlsx +0 -0
  644. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/properties-invalid-object.xlsx +0 -0
  645. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/properties-invalid-super.xlsx +0 -0
  646. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/resources-duplicate-classes-sheet.xlsx +0 -0
  647. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/resources-duplicate-name.xlsx +0 -0
  648. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/resources-invalid-cardinality.xlsx +0 -0
  649. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/resources-invalid-missing-sheet.xlsx +0 -0
  650. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/resources-invalid-property.xlsx +0 -0
  651. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2json/resources-invalid-super.xlsx +0 -0
  652. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2xml/boolean-prop-two-values.xlsx +0 -0
  653. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2xml/empty-property.xlsx +0 -0
  654. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2xml/id-propname-both.xlsx +0 -0
  655. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2xml/id-propname-none.xlsx +0 -0
  656. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2xml/missing-prop-permissions.xlsx +0 -0
  657. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2xml/missing-resource-label.xlsx +0 -0
  658. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2xml/missing-resource-permissions.xlsx +0 -0
  659. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2xml/missing-restype.xlsx +0 -0
  660. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2xml/no-bitstream-permissions.xlsx +0 -0
  661. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2xml/nonexisting-proptype.xlsx +0 -0
  662. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2xml/single-invalid-value-for-property.xlsx +0 -0
  663. dsp_tools-13.0.0.post1/testdata/invalid-testdata/excel2xml/start-with-property-row.xlsx +0 -0
  664. dsp_tools-13.0.0.post1/testdata/invalid-testdata/json-project/circular-ontology.json +0 -122
  665. dsp_tools-13.0.0.post1/testdata/invalid-testdata/json-project/duplicate-listnames.json +0 -67
  666. dsp_tools-13.0.0.post1/testdata/invalid-testdata/json-project/duplicate-property.json +0 -75
  667. dsp_tools-13.0.0.post1/testdata/invalid-testdata/json-project/duplicate-resource.json +0 -77
  668. dsp_tools-13.0.0.post1/testdata/invalid-testdata/json-project/invalid-super-property.json +0 -48
  669. dsp_tools-13.0.0.post1/testdata/invalid-testdata/json-project/nonexisting-cardinality.json +0 -54
  670. dsp_tools-13.0.0.post1/testdata/invalid-testdata/json-project/nonexisting-super-property.json +0 -65
  671. dsp_tools-13.0.0.post1/testdata/invalid-testdata/json-project/nonexisting-super-resource.json +0 -65
  672. dsp_tools-13.0.0.post1/testdata/invalid-testdata/xml-data/duplicate-ark.xml +0 -23
  673. dsp_tools-13.0.0.post1/testdata/invalid-testdata/xml-data/duplicate-iri.xml +0 -23
  674. dsp_tools-13.0.0.post1/testdata/invalid-testdata/xml-data/empty-label.xml +0 -15
  675. dsp_tools-13.0.0.post1/testdata/invalid-testdata/xml-data/invalid-resource-tag.xml +0 -15
  676. dsp_tools-13.0.0.post1/testdata/invalid-testdata/xml-data/utf8-text-with-xml-tags.xml +0 -20
  677. dsp_tools-13.0.0.post1/testdata/json-project/test-list-lookup.json +0 -184
  678. dsp_tools-13.0.0.post1/testdata/json-project/test-project-e2e.json +0 -55
  679. dsp_tools-13.0.0.post1/testdata/json-project/test-project-minimal.json +0 -42
  680. dsp_tools-13.0.0.post1/testdata/json-project/test-project-systematic.json +0 -888
  681. dsp_tools-13.0.0.post1/testdata/json-project/test_circles_onto.json +0 -150
  682. dsp_tools-13.0.0.post1/testdata/validate-data/erroneous_ontology/erroneous_ontology.xml +0 -99
  683. dsp_tools-13.0.0.post1/testdata/validate-data/erroneous_ontology/project_erroneous_ontology.json +0 -205
  684. dsp_tools-13.0.0.post1/testdata/validate-data/generic/cardinality_correct.xml +0 -48
  685. dsp_tools-13.0.0.post1/testdata/validate-data/generic/cardinality_violation.xml +0 -53
  686. dsp_tools-13.0.0.post1/testdata/validate-data/generic/content_correct.xml +0 -143
  687. dsp_tools-13.0.0.post1/testdata/validate-data/generic/content_violation.xml +0 -103
  688. dsp_tools-13.0.0.post1/testdata/validate-data/generic/dsp_inbuilt_correct.xml +0 -249
  689. dsp_tools-13.0.0.post1/testdata/validate-data/generic/dsp_inbuilt_violation.xml +0 -289
  690. dsp_tools-13.0.0.post1/testdata/validate-data/generic/every_violation_combination_once.xml +0 -223
  691. dsp_tools-13.0.0.post1/testdata/validate-data/generic/file_value_correct.xml +0 -303
  692. dsp_tools-13.0.0.post1/testdata/validate-data/generic/file_value_violation.xml +0 -152
  693. dsp_tools-13.0.0.post1/testdata/validate-data/generic/minimal_correct.xml +0 -160
  694. dsp_tools-13.0.0.post1/testdata/validate-data/generic/project.json +0 -692
  695. dsp_tools-13.0.0.post1/testdata/validate-data/generic/unique_value_violation.xml +0 -66
  696. dsp_tools-13.0.0.post1/testdata/validate-data/generic/unknown_classes.xml +0 -17
  697. dsp_tools-13.0.0.post1/testdata/validate-data/generic/value_type_violation.xml +0 -109
  698. dsp_tools-13.0.0.post1/testdata/validate-data/inheritance/inheritance_correct.xml +0 -39
  699. dsp_tools-13.0.0.post1/testdata/validate-data/inheritance/inheritance_violation.xml +0 -50
  700. dsp_tools-13.0.0.post1/testdata/validate-data/inheritance/project_inheritance.json +0 -130
  701. dsp_tools-13.0.0.post1/testdata/validate-data/knora-api-subset.ttl +0 -160
  702. dsp_tools-13.0.0.post1/testdata/validate-data/onto.ttl +0 -1806
  703. dsp_tools-13.0.0.post1/testdata/validate-data/onto_for_cardinality_checks.ttl +0 -1300
  704. dsp_tools-13.0.0.post1/testdata/validate-data/special_characters/project_special_characters.json +0 -137
  705. dsp_tools-13.0.0.post1/testdata/validate-data/special_characters/special_characters_correct.xml +0 -46
  706. dsp_tools-13.0.0.post1/testdata/validate-data/special_characters/special_characters_violation.xml +0 -53
  707. dsp_tools-13.0.0.post1/testdata/xml-data/test-circular-references.xml +0 -306
  708. dsp_tools-13.0.0.post1/testdata/xml-data/test-data-e2e.xml +0 -62
  709. dsp_tools-13.0.0.post1/testdata/xml-data/test-data-minimal.xml +0 -14
  710. dsp_tools-13.0.0.post1/testdata/xml-data/test-data-systematic.xml +0 -1052
  711. dsp_tools-13.0.0.post1/uv.lock +0 -1760
  712. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/__init__.py +0 -0
  713. {dsp_tools-13.0.0.post1/scripts → dsp_tools-18.1.0.post10/src/dsp_tools/cli}/__init__.py +0 -0
  714. {dsp_tools-13.0.0.post1/src/dsp_tools/cli → dsp_tools-18.1.0.post10/src/dsp_tools/clients}/__init__.py +0 -0
  715. {dsp_tools-13.0.0.post1/src/dsp_tools/clients → dsp_tools-18.1.0.post10/src/dsp_tools/commands}/__init__.py +0 -0
  716. {dsp_tools-13.0.0.post1/src/dsp_tools/commands → dsp_tools-18.1.0.post10/src/dsp_tools/commands/create}/__init__.py +0 -0
  717. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/excel2json → dsp_tools-18.1.0.post10/src/dsp_tools/commands/create/create_on_server}/__init__.py +0 -0
  718. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/excel2json/lists → dsp_tools-18.1.0.post10/src/dsp_tools/commands/create/models}/__init__.py +0 -0
  719. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/excel2json/lists/models → dsp_tools-18.1.0.post10/src/dsp_tools/commands/create/parsing}/__init__.py +0 -0
  720. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/excel2json/models → dsp_tools-18.1.0.post10/src/dsp_tools/commands/create/serialisation}/__init__.py +0 -0
  721. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/ingest_xmlupload → dsp_tools-18.1.0.post10/src/dsp_tools/commands/excel2json}/__init__.py +0 -0
  722. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/ingest_xmlupload/create_resources → dsp_tools-18.1.0.post10/src/dsp_tools/commands/excel2json/lists}/__init__.py +0 -0
  723. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/excel2json/lists/compliance_checks.py +0 -0
  724. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/ingest_xmlupload/ingest_files → dsp_tools-18.1.0.post10/src/dsp_tools/commands/excel2json/lists/models}/__init__.py +0 -0
  725. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/excel2json/lists/models/deserialise.py +0 -0
  726. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/excel2json/lists/utils.py +0 -0
  727. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/ingest_xmlupload/upload_files → dsp_tools-18.1.0.post10/src/dsp_tools/commands/excel2json/models}/__init__.py +0 -0
  728. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/excel2json/models/list_node_name.py +0 -0
  729. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/excel2json/old_lists.py +0 -0
  730. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/excel2xml/__init__.py +0 -0
  731. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/project → dsp_tools-18.1.0.post10/src/dsp_tools/commands/ingest_xmlupload}/__init__.py +0 -0
  732. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/project/create → dsp_tools-18.1.0.post10/src/dsp_tools/commands/ingest_xmlupload/create_resources}/__init__.py +0 -0
  733. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/ingest_xmlupload/create_resources/apply_ingest_id.py +0 -0
  734. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/ingest_xmlupload/create_resources/user_information.py +0 -0
  735. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/project/legacy_models → dsp_tools-18.1.0.post10/src/dsp_tools/commands/ingest_xmlupload/ingest_files}/__init__.py +0 -0
  736. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/project/models → dsp_tools-18.1.0.post10/src/dsp_tools/commands/ingest_xmlupload/upload_files}/__init__.py +0 -0
  737. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/ingest_xmlupload/upload_files/input_error.py +0 -0
  738. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/ingest_xmlupload/upload_files/upload_failures.py +0 -0
  739. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/resume_xmlupload → dsp_tools-18.1.0.post10/src/dsp_tools/commands/project}/__init__.py +0 -0
  740. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/validate_data → dsp_tools-18.1.0.post10/src/dsp_tools/commands/project/create}/__init__.py +0 -0
  741. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/validate_data/models → dsp_tools-18.1.0.post10/src/dsp_tools/commands/project/get}/__init__.py +0 -0
  742. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/validate_data/sparql → dsp_tools-18.1.0.post10/src/dsp_tools/commands/project/legacy_models}/__init__.py +0 -0
  743. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/project/legacy_models/helpers.py +0 -0
  744. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/project/legacy_models/model.py +0 -0
  745. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload → dsp_tools-18.1.0.post10/src/dsp_tools/commands/project/models}/__init__.py +0 -0
  746. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/make_rdf_graph → dsp_tools-18.1.0.post10/src/dsp_tools/commands/resume_xmlupload}/__init__.py +0 -0
  747. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/models → dsp_tools-18.1.0.post10/src/dsp_tools/commands/validate_data}/__init__.py +0 -0
  748. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/models/deserialise → dsp_tools-18.1.0.post10/src/dsp_tools/commands/validate_data/models}/__init__.py +0 -0
  749. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/models/intermediary → dsp_tools-18.1.0.post10/src/dsp_tools/commands/validate_data/prepare_data}/__init__.py +0 -0
  750. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/prepare_xml_input → dsp_tools-18.1.0.post10/src/dsp_tools/commands/validate_data/process_validation_report}/__init__.py +0 -0
  751. {dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/stash → dsp_tools-18.1.0.post10/src/dsp_tools/commands/validate_data/sparql}/__init__.py +0 -0
  752. {dsp_tools-13.0.0.post1/src/dsp_tools/config → dsp_tools-18.1.0.post10/src/dsp_tools/commands/validate_data/validation}/__init__.py +0 -0
  753. {dsp_tools-13.0.0.post1/src/dsp_tools/error → dsp_tools-18.1.0.post10/src/dsp_tools/commands/xmlupload}/__init__.py +0 -0
  754. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/xmlupload/iri_resolver.py +0 -0
  755. {dsp_tools-13.0.0.post1/src/dsp_tools/legacy_models → dsp_tools-18.1.0.post10/src/dsp_tools/commands/xmlupload/make_rdf_graph}/__init__.py +0 -0
  756. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/xmlupload/make_rdf_graph/jsonld_utils.py +0 -0
  757. {dsp_tools-13.0.0.post1/src/dsp_tools/utils → dsp_tools-18.1.0.post10/src/dsp_tools/commands/xmlupload/models}/__init__.py +0 -0
  758. /dsp_tools-13.0.0.post1/src/dsp_tools/commands/xmlupload/models/deserialise/xmlpermission.py → /dsp_tools-18.1.0.post10/src/dsp_tools/commands/xmlupload/models/permissions_parsed.py +0 -0
  759. {dsp_tools-13.0.0.post1/src/dsp_tools/utils/data_formats → dsp_tools-18.1.0.post10/src/dsp_tools/commands/xmlupload/models/processed}/__init__.py +0 -0
  760. {dsp_tools-13.0.0.post1/src/dsp_tools/utils/xml_parsing → dsp_tools-18.1.0.post10/src/dsp_tools/commands/xmlupload/prepare_xml_input}/__init__.py +0 -0
  761. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/xmlupload/prepare_xml_input/ark2iri.py +0 -0
  762. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/xmlupload/resource_create_client.py +0 -0
  763. {dsp_tools-13.0.0.post1/src/dsp_tools/utils/xml_parsing/models → dsp_tools-18.1.0.post10/src/dsp_tools/commands/xmlupload/stash}/__init__.py +0 -0
  764. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/xmlupload/stash/analyse_circular_reference_graph.py +0 -0
  765. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/commands/xmlupload/stash/graph_models.py +0 -0
  766. {dsp_tools-13.0.0.post1/src/dsp_tools/xmllib/models → dsp_tools-18.1.0.post10/src/dsp_tools/config}/__init__.py +0 -0
  767. {dsp_tools-13.0.0.post1/src/dsp_tools/xmllib/models/licenses → dsp_tools-18.1.0.post10/src/dsp_tools/error}/__init__.py +0 -0
  768. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/error/problems.py +0 -0
  769. {dsp_tools-13.0.0.post1/src/dsp_tools/xmllib/serialise → dsp_tools-18.1.0.post10/src/dsp_tools/legacy_models}/__init__.py +0 -0
  770. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/legacy_models/langstring.py +0 -0
  771. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/legacy_models/projectContext.py +0 -0
  772. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/py.typed +0 -0
  773. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/resources/schema/lists-only.json +0 -0
  774. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/resources/schema/resources-only.json +0 -0
  775. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/resources/start-stack/docker-compose.override.yml +0 -0
  776. {dsp_tools-13.0.0.post1/test → dsp_tools-18.1.0.post10/src/dsp_tools/utils}/__init__.py +0 -0
  777. {dsp_tools-13.0.0.post1/test/benchmarking → dsp_tools-18.1.0.post10/src/dsp_tools/utils/data_formats}/__init__.py +0 -0
  778. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/utils/data_formats/date_util.py +0 -0
  779. {dsp_tools-13.0.0.post1/test/distribution → dsp_tools-18.1.0.post10/src/dsp_tools/utils/xml_parsing}/__init__.py +0 -0
  780. {dsp_tools-13.0.0.post1/test/e2e → dsp_tools-18.1.0.post10/src/dsp_tools/utils/xml_parsing/models}/__init__.py +0 -0
  781. {dsp_tools-13.0.0.post1 → dsp_tools-18.1.0.post10}/src/dsp_tools/utils/xml_parsing/models/parsed_resource.py +0 -0
  782. {dsp_tools-13.0.0.post1/test/e2e/commands/ingest_xmlupload → dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/internal}/__init__.py +0 -0
  783. {dsp_tools-13.0.0.post1/test/e2e/commands/validate_data → dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/models}/__init__.py +0 -0
  784. {dsp_tools-13.0.0.post1/test/e2e/setup_testcontainers → dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/models/internal}/__init__.py +0 -0
  785. {dsp_tools-13.0.0.post1/test/integration → dsp_tools-18.1.0.post10/src/dsp_tools/xmllib/models/licenses}/__init__.py +0 -0
@@ -0,0 +1,90 @@
1
+ Metadata-Version: 2.3
2
+ Name: dsp-tools
3
+ Version: 18.1.0.post10
4
+ Summary: DSP-TOOLS is a Python package with a command line interface that helps you interact with a DaSCH service platform (DSP) server.
5
+ Author: DaSCH - Swiss National Data and Service Center for the Humanities
6
+ Author-email: DaSCH - Swiss National Data and Service Center for the Humanities <info@dasch.swiss>
7
+ Classifier: Programming Language :: Python :: 3.12
8
+ Classifier: Programming Language :: Python :: 3.13
9
+ Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
10
+ Classifier: Operating System :: OS Independent
11
+ Requires-Dist: argparse
12
+ Requires-Dist: dotenv
13
+ Requires-Dist: jinja2
14
+ Requires-Dist: jsonpath-ng
15
+ Requires-Dist: jsonschema
16
+ Requires-Dist: loguru
17
+ Requires-Dist: lxml
18
+ Requires-Dist: networkx
19
+ Requires-Dist: openpyxl
20
+ Requires-Dist: packaging
21
+ Requires-Dist: pandas[excel]
22
+ Requires-Dist: polars
23
+ Requires-Dist: pyld
24
+ Requires-Dist: pyyaml
25
+ Requires-Dist: rdflib
26
+ Requires-Dist: regex
27
+ Requires-Dist: requests
28
+ Requires-Dist: rustworkx
29
+ Requires-Dist: tqdm
30
+ Requires-Dist: typing-extensions
31
+ Requires-Python: >=3.12
32
+ Project-URL: Documentation, https://docs.dasch.swiss/latest/DSP-TOOLS/
33
+ Project-URL: Homepage, https://www.dasch.swiss/
34
+ Project-URL: Repository, https://github.com/dasch-swiss/dsp-tools.git
35
+ Description-Content-Type: text/markdown
36
+
37
+ [![DSP-TOOLS version on PyPI](https://img.shields.io/pypi/v/dsp-tools.svg)](https://pypi.org/project/dsp-tools/)
38
+ [![Supported Python versions](https://img.shields.io/pypi/pyversions/dsp-tools.svg)](https://pypi.org/project/dsp-tools/)
39
+ [![License](https://img.shields.io/pypi/l/dsp-tools.svg)](https://pypi.org/project/dsp-tools/)
40
+ [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
41
+ [![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
42
+ [![mypy](https://img.shields.io/badge/mypy-blue)](https://github.com/python/mypy)
43
+
44
+ # DSP-TOOLS Documentation
45
+
46
+ ## Installing `dsp-tools`
47
+
48
+ To install the latest version, run:
49
+
50
+ ```bash
51
+ pip3 install dsp-tools
52
+ ```
53
+
54
+ To update to the latest version run:
55
+
56
+ ```bash
57
+ pip3 install --upgrade dsp-tools
58
+ ```
59
+
60
+ > 🚨 If your Python version is older than ours,
61
+ > pip will silently install an outdated version of DSP-TOOLS.
62
+ > DSP-TOOLS requires one of these Python versions:
63
+ > [![](https://img.shields.io/pypi/pyversions/dsp-tools.svg)](https://pypi.org/project/dsp-tools/)
64
+ > The most recent version of DSP-TOOLS is
65
+ > [![](https://img.shields.io/pypi/v/dsp-tools.svg)](https://pypi.org/project/dsp-tools/)
66
+
67
+
68
+
69
+ The `dsp-tools` package provides you with functionalities in the command line
70
+ to interact with the [DSP-API](https://github.com/dasch-swiss/dsp-api), both remote and locally.
71
+ Additionally, it contains the `xmllib` which helps you construct the XML file required for a mass upload.
72
+
73
+
74
+ ## Where To Start?
75
+
76
+ `dsp-tools` provides you with the following core functionalities.
77
+
78
+ - **Running a Local Stack:** If you want to run your own DSP stack locally, take a look [here](./local-stack.md).
79
+ - **Data Modelling:** There are several ways to create a data model with `dsp-tools`
80
+ - Take a look at the technical specification for the [JSON file](./data-model/json-project/overview.md).
81
+ - Or take a look at our tool to [convert Excel files into the JSON format](./data-model/excel2json.md).
82
+ - You can create a data model on the DSP-APP. To re-use that data model on another server
83
+ you can use the CLI command described [here](./data-model/data-model-cli.md#get).
84
+ - **Data for Mass-Upload:**
85
+ - If you want to create the XML file required for a mass-upload onto DSP, take a look at the [`xmllib`](./xmllib-docs/overview.md).
86
+ - You can find an in-depth explanation of our XML file format [here](./data-file/xml-data-file.md).
87
+ Please note, that we recommend to use the `xmllib` library to create the file
88
+ as we will ensure interoperability between the DSP-API requirements and your input.
89
+ - If you want to validate and upload your XML file take a look [here](./data-file/data-file-commands.md).
90
+ Please note, that only DaSCH employees are permitted to upload data on a production server.
@@ -0,0 +1,54 @@
1
+ [![DSP-TOOLS version on PyPI](https://img.shields.io/pypi/v/dsp-tools.svg)](https://pypi.org/project/dsp-tools/)
2
+ [![Supported Python versions](https://img.shields.io/pypi/pyversions/dsp-tools.svg)](https://pypi.org/project/dsp-tools/)
3
+ [![License](https://img.shields.io/pypi/l/dsp-tools.svg)](https://pypi.org/project/dsp-tools/)
4
+ [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
5
+ [![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
6
+ [![mypy](https://img.shields.io/badge/mypy-blue)](https://github.com/python/mypy)
7
+
8
+ # DSP-TOOLS Documentation
9
+
10
+ ## Installing `dsp-tools`
11
+
12
+ To install the latest version, run:
13
+
14
+ ```bash
15
+ pip3 install dsp-tools
16
+ ```
17
+
18
+ To update to the latest version run:
19
+
20
+ ```bash
21
+ pip3 install --upgrade dsp-tools
22
+ ```
23
+
24
+ > 🚨 If your Python version is older than ours,
25
+ > pip will silently install an outdated version of DSP-TOOLS.
26
+ > DSP-TOOLS requires one of these Python versions:
27
+ > [![](https://img.shields.io/pypi/pyversions/dsp-tools.svg)](https://pypi.org/project/dsp-tools/)
28
+ > The most recent version of DSP-TOOLS is
29
+ > [![](https://img.shields.io/pypi/v/dsp-tools.svg)](https://pypi.org/project/dsp-tools/)
30
+
31
+
32
+
33
+ The `dsp-tools` package provides you with functionalities in the command line
34
+ to interact with the [DSP-API](https://github.com/dasch-swiss/dsp-api), both remote and locally.
35
+ Additionally, it contains the `xmllib` which helps you construct the XML file required for a mass upload.
36
+
37
+
38
+ ## Where To Start?
39
+
40
+ `dsp-tools` provides you with the following core functionalities.
41
+
42
+ - **Running a Local Stack:** If you want to run your own DSP stack locally, take a look [here](./local-stack.md).
43
+ - **Data Modelling:** There are several ways to create a data model with `dsp-tools`
44
+ - Take a look at the technical specification for the [JSON file](./data-model/json-project/overview.md).
45
+ - Or take a look at our tool to [convert Excel files into the JSON format](./data-model/excel2json.md).
46
+ - You can create a data model on the DSP-APP. To re-use that data model on another server
47
+ you can use the CLI command described [here](./data-model/data-model-cli.md#get).
48
+ - **Data for Mass-Upload:**
49
+ - If you want to create the XML file required for a mass-upload onto DSP, take a look at the [`xmllib`](./xmllib-docs/overview.md).
50
+ - You can find an in-depth explanation of our XML file format [here](./data-file/xml-data-file.md).
51
+ Please note, that we recommend to use the `xmllib` library to create the file
52
+ as we will ensure interoperability between the DSP-API requirements and your input.
53
+ - If you want to validate and upload your XML file take a look [here](./data-file/data-file-commands.md).
54
+ Please note, that only DaSCH employees are permitted to upload data on a production server.
@@ -2,7 +2,7 @@
2
2
 
3
3
  [project]
4
4
  name = "dsp-tools"
5
- version = "13.0.0.post1"
5
+ version = "18.1.0.post10"
6
6
  description = "DSP-TOOLS is a Python package with a command line interface that helps you interact with a DaSCH service platform (DSP) server."
7
7
  authors = [
8
8
  { name = "DaSCH - Swiss National Data and Service Center for the Humanities", email = "info@dasch.swiss" },
@@ -17,16 +17,18 @@ classifiers = [
17
17
  requires-python = ">=3.12"
18
18
  dependencies = [
19
19
  "argparse",
20
+ "dotenv",
21
+ "jinja2",
20
22
  "jsonpath-ng",
21
23
  "jsonschema",
22
24
  "loguru",
23
25
  "lxml",
24
- "namedentities",
25
26
  "networkx",
26
27
  "openpyxl",
27
28
  "packaging",
28
29
  "pandas[excel]",
29
30
  # pandas: "excel" is an extra that contains xlrd that is necessary for reading old .xls Excel files
31
+ "polars",
30
32
  "pyld",
31
33
  "pyyaml",
32
34
  "rdflib",
@@ -34,6 +36,7 @@ dependencies = [
34
36
  "requests",
35
37
  "rustworkx",
36
38
  "tqdm",
39
+ "typing-extensions",
37
40
  ]
38
41
 
39
42
 
@@ -48,15 +51,13 @@ dsp-tools = "dsp_tools.cli.entry_point:main" # definition of the CLI entry point
48
51
 
49
52
 
50
53
  [build-system]
51
- # Tells “frontend” build tools (like pip, build, or uv) what “backend” build tool to use (e.g. setuptools, hatchling).
52
- # The "backend" doesn't need to be installed. It will be installed by the "frontend" in a temporary, isolated
53
- # environment for use during the build process.
54
- requires = ["hatchling"]
55
- build-backend = "hatchling.build"
54
+ # Tells “frontend” build tools (like pip, build, or uv) what “backend” build tool to use.
55
+ requires = ["uv_build>=0.8.13"]
56
+ build-backend = "uv_build"
56
57
 
57
58
 
58
- [tool.uv]
59
- dev-dependencies = [
59
+ [dependency-groups]
60
+ dev = [
60
61
  "darglint",
61
62
  "docker",
62
63
  "mkdocs-include-markdown-plugin",
@@ -68,6 +69,7 @@ dev-dependencies = [
68
69
  "pre-commit",
69
70
  "pytest-cov",
70
71
  "pytest-unordered",
72
+ "pytest-xdist",
71
73
  "pytest",
72
74
  "requests-mock",
73
75
  "ruff",
@@ -83,9 +85,9 @@ dev-dependencies = [
83
85
  "types-requests",
84
86
  "types-tqdm",
85
87
  "viztracer",
88
+ "vulture",
86
89
  "yamllint",
87
- "typing-extensions",
88
- "pytest-xdist>=3.6.1",
90
+ "pytest-order",
89
91
  ]
90
92
 
91
93
 
@@ -144,9 +146,8 @@ select = [
144
146
  "PT", # flake8-pytest-style plugin
145
147
  "TID", # flake8-tidy-imports plugin
146
148
  "ICN", # flake8-import-conventions plugin, which checks for import conventions
147
- "ARG", # flake8-unused-arguments
148
149
  "PGH", # pygrep-hooks: A collection of fast, cheap, regex based pre-commit hooks
149
- "UP031", # pyupgrade: printf-string-formatting
150
+ "UP", # pyupgrade
150
151
  "D101", # pydocstyle: undocumented-public-class
151
152
  "D102", # pydocstyle: undocumented-public-method
152
153
  "D103", # pydocstyle: undocumented-public-function
@@ -159,7 +160,9 @@ ignore = [
159
160
  "S105", # flake8-bandit: hardcoded password
160
161
  "S106", # flake8-bandit: hardcoded password
161
162
  "S603", # flake8-bandit: subprocess-without-shell-equals-true
162
- "S320", # flake8-bandit: xml parsing vulnerable to XML attacks
163
+ "UP007", # forbid use of typing.Union and typing.Optional
164
+ "UP015", # Unnecessary mode="r" argument in open()
165
+ "UP045", # Forced use of "|" instead of typing.Optional and typing.Union
163
166
  ]
164
167
 
165
168
 
@@ -179,6 +182,10 @@ ignore = [
179
182
  "S101", # flake8-bandit: use of assert
180
183
  ]
181
184
  "!src/dsp_tools/xmllib/**.py" = ["D103"] # Ignore everywhere except for the `src/dsp_tools/xmllib/` directory.
185
+ "src/dsp_tools/legacy_models/**" = [
186
+ "PLW"
187
+ ]
188
+
182
189
 
183
190
  [tool.ruff.lint.pydocstyle]
184
191
  convention = "google"
@@ -186,3 +193,15 @@ convention = "google"
186
193
 
187
194
  [tool.ruff.lint.isort]
188
195
  force-single-line = true
196
+
197
+
198
+ [tool.vulture]
199
+ paths = ["src/dsp_tools", ".vulture_whitelist.py"]
200
+ exclude = [
201
+ "src/dsp_tools/xmllib/",
202
+ "src/dsp_tools/error/xmllib_warnings.py",
203
+ "src/dsp_tools/error/xmllib_warnings_util.py",
204
+ "src/dsp_tools/commands/excel2xml/",
205
+ "test/",
206
+ ]
207
+ sort_by_size = true # sort unused classes and functions by size
@@ -0,0 +1,47 @@
1
+ from __future__ import annotations
2
+
3
+ from dataclasses import dataclass
4
+ from dataclasses import field
5
+ from enum import Enum
6
+ from pathlib import Path
7
+
8
+
9
+ @dataclass(frozen=True)
10
+ class ServerCredentials:
11
+ """Contains credentials to connect to a server."""
12
+
13
+ user: str
14
+ password: str
15
+ server: str
16
+ dsp_ingest_url: str = "http://0.0.0.0:3340"
17
+
18
+
19
+ @dataclass(frozen=True)
20
+ class ValidateDataConfig:
21
+ """Contains the configuration for validate data."""
22
+
23
+ xml_file: Path
24
+ save_graph_dir: Path | None
25
+ severity: ValidationSeverity
26
+ ignore_duplicate_files_warning: bool
27
+ is_on_prod_server: bool
28
+ skip_ontology_validation: bool
29
+ do_not_request_resource_metadata_from_db: bool
30
+
31
+
32
+ class ValidationSeverity(Enum):
33
+ ERROR = 3
34
+ WARNING = 2
35
+ INFO = 1
36
+
37
+
38
+ @dataclass
39
+ class PathDependencies:
40
+ required_files: list[Path] = field(default_factory=list)
41
+ required_directories: list[Path] = field(default_factory=list)
42
+
43
+
44
+ @dataclass
45
+ class NetworkRequirements:
46
+ api_url: str
47
+ always_requires_docker: bool = False
@@ -0,0 +1,82 @@
1
+ import argparse
2
+
3
+ from loguru import logger
4
+
5
+ from dsp_tools.cli.call_action_files_only import call_excel2json
6
+ from dsp_tools.cli.call_action_files_only import call_excel2lists
7
+ from dsp_tools.cli.call_action_files_only import call_excel2properties
8
+ from dsp_tools.cli.call_action_files_only import call_excel2resources
9
+ from dsp_tools.cli.call_action_files_only import call_id2iri
10
+ from dsp_tools.cli.call_action_files_only import call_old_excel2json
11
+ from dsp_tools.cli.call_action_files_only import call_old_excel2lists
12
+ from dsp_tools.cli.call_action_with_network import call_create
13
+ from dsp_tools.cli.call_action_with_network import call_get
14
+ from dsp_tools.cli.call_action_with_network import call_ingest_files
15
+ from dsp_tools.cli.call_action_with_network import call_ingest_xmlupload
16
+ from dsp_tools.cli.call_action_with_network import call_resume_xmlupload
17
+ from dsp_tools.cli.call_action_with_network import call_start_stack
18
+ from dsp_tools.cli.call_action_with_network import call_stop_stack
19
+ from dsp_tools.cli.call_action_with_network import call_upload_files
20
+ from dsp_tools.cli.call_action_with_network import call_validate_data
21
+ from dsp_tools.cli.call_action_with_network import call_xmlupload
22
+
23
+
24
+ def call_requested_action(args: argparse.Namespace) -> bool: # noqa: PLR0912 (too many branches)
25
+ """
26
+ Call the appropriate function of DSP-TOOLS.
27
+
28
+ Args:
29
+ args: parsed CLI arguments
30
+
31
+ Raises:
32
+ BaseError: from the called function
33
+ InputError: from the called function
34
+ DockerNotReachableError: from the called function
35
+ LocalDspApiNotReachableError: from the called function
36
+ unexpected errors from the called methods and underlying libraries
37
+
38
+ Returns:
39
+ success status
40
+ """
41
+ match args.action:
42
+ # commands with Docker / API interactions
43
+ case "start-stack":
44
+ result = call_start_stack(args)
45
+ case "stop-stack":
46
+ result = call_stop_stack()
47
+ case "create":
48
+ result = call_create(args)
49
+ case "get":
50
+ result = call_get(args)
51
+ case "validate-data":
52
+ result = call_validate_data(args)
53
+ case "xmlupload":
54
+ result = call_xmlupload(args)
55
+ case "resume-xmlupload":
56
+ result = call_resume_xmlupload(args)
57
+ case "upload-files":
58
+ result = call_upload_files(args)
59
+ case "ingest-files":
60
+ result = call_ingest_files(args)
61
+ case "ingest-xmlupload":
62
+ result = call_ingest_xmlupload(args)
63
+ # commands that do not require docker
64
+ case "excel2json":
65
+ result = call_excel2json(args)
66
+ case "old-excel2json":
67
+ result = call_old_excel2json(args)
68
+ case "excel2lists":
69
+ result = call_excel2lists(args)
70
+ case "old-excel2lists":
71
+ result = call_old_excel2lists(args)
72
+ case "excel2resources":
73
+ result = call_excel2resources(args)
74
+ case "excel2properties":
75
+ result = call_excel2properties(args)
76
+ case "id2iri":
77
+ result = call_id2iri(args)
78
+ case _:
79
+ print(f"ERROR: Unknown action '{args.action}'")
80
+ logger.error(f"Unknown action '{args.action}'")
81
+ result = False
82
+ return result
@@ -0,0 +1,74 @@
1
+ import argparse
2
+ from pathlib import Path
3
+
4
+ from dsp_tools.cli.args import PathDependencies
5
+ from dsp_tools.cli.utils import check_path_dependencies
6
+ from dsp_tools.commands.excel2json.lists.make_lists import excel2lists
7
+ from dsp_tools.commands.excel2json.old_lists import old_excel2lists
8
+ from dsp_tools.commands.excel2json.project import excel2json
9
+ from dsp_tools.commands.excel2json.project import old_excel2json
10
+ from dsp_tools.commands.excel2json.properties import excel2properties
11
+ from dsp_tools.commands.excel2json.resources import excel2resources
12
+ from dsp_tools.commands.id2iri import id2iri
13
+
14
+
15
+ def call_id2iri(args: argparse.Namespace) -> bool:
16
+ check_path_dependencies(PathDependencies([Path(args.xmlfile), Path(args.mapping)]))
17
+ return id2iri(
18
+ xml_file=args.xmlfile,
19
+ json_file=args.mapping,
20
+ remove_resource_if_id_in_mapping=args.remove_resources,
21
+ )
22
+
23
+
24
+ def call_excel2properties(args: argparse.Namespace) -> bool:
25
+ check_path_dependencies(PathDependencies([Path(args.excelfile)]))
26
+ _, _, success = excel2properties(
27
+ excelfile=args.excelfile,
28
+ path_to_output_file=args.properties_section,
29
+ )
30
+ return success
31
+
32
+
33
+ def call_excel2resources(args: argparse.Namespace) -> bool:
34
+ check_path_dependencies(PathDependencies([Path(args.excelfile)]))
35
+ _, _, success = excel2resources(
36
+ excelfile=args.excelfile,
37
+ path_to_output_file=args.resources_section,
38
+ )
39
+ return success
40
+
41
+
42
+ def call_old_excel2lists(args: argparse.Namespace) -> bool:
43
+ check_path_dependencies(PathDependencies(required_directories=[Path(args.excelfolder)]))
44
+ _, success = old_excel2lists(
45
+ excelfolder=args.excelfolder,
46
+ path_to_output_file=args.lists_section,
47
+ verbose=args.verbose,
48
+ )
49
+ return success
50
+
51
+
52
+ def call_excel2lists(args: argparse.Namespace) -> bool:
53
+ check_path_dependencies(PathDependencies(required_directories=[Path(args.excelfolder)]))
54
+ _, success = excel2lists(
55
+ excelfolder=args.excelfolder,
56
+ path_to_output_file=args.lists_section,
57
+ )
58
+ return success
59
+
60
+
61
+ def call_excel2json(args: argparse.Namespace) -> bool:
62
+ check_path_dependencies(PathDependencies(required_directories=[Path(args.excelfolder)]))
63
+ return excel2json(
64
+ data_model_files=args.excelfolder,
65
+ path_to_output_file=args.project_definition,
66
+ )
67
+
68
+
69
+ def call_old_excel2json(args: argparse.Namespace) -> bool:
70
+ check_path_dependencies(PathDependencies(required_directories=[Path(args.excelfolder)]))
71
+ return old_excel2json(
72
+ data_model_files=args.excelfolder,
73
+ path_to_output_file=args.project_definition,
74
+ )
@@ -0,0 +1,204 @@
1
+ import argparse
2
+ from pathlib import Path
3
+
4
+ from dsp_tools.cli.args import NetworkRequirements
5
+ from dsp_tools.cli.args import PathDependencies
6
+ from dsp_tools.cli.args import ValidationSeverity
7
+ from dsp_tools.cli.utils import check_docker_health
8
+ from dsp_tools.cli.utils import check_input_dependencies
9
+ from dsp_tools.cli.utils import get_creds
10
+ from dsp_tools.commands.create.lists_only import create_lists_only
11
+ from dsp_tools.commands.excel2json.old_lists import validate_lists_section_with_schema
12
+ from dsp_tools.commands.ingest_xmlupload.create_resources.upload_xml import ingest_xmlupload
13
+ from dsp_tools.commands.ingest_xmlupload.ingest_files.ingest_files import ingest_files
14
+ from dsp_tools.commands.ingest_xmlupload.upload_files.upload_files import upload_files
15
+ from dsp_tools.commands.project.create.project_create_all import create_project
16
+ from dsp_tools.commands.project.create.project_validate import validate_project
17
+ from dsp_tools.commands.project.get.get import get_project
18
+ from dsp_tools.commands.resume_xmlupload.resume_xmlupload import resume_xmlupload
19
+ from dsp_tools.commands.start_stack import StackConfiguration
20
+ from dsp_tools.commands.start_stack import StackHandler
21
+ from dsp_tools.commands.validate_data.validate_data import validate_data
22
+ from dsp_tools.commands.xmlupload.upload_config import UploadConfig
23
+ from dsp_tools.commands.xmlupload.xmlupload import xmlupload
24
+ from dsp_tools.error.exceptions import InputError
25
+ from dsp_tools.utils.xml_parsing.parse_clean_validate_xml import parse_and_validate_xml_file
26
+
27
+
28
+ def call_start_stack(args: argparse.Namespace) -> bool:
29
+ check_docker_health()
30
+ stack_handler = StackHandler(
31
+ StackConfiguration(
32
+ max_file_size=args.max_file_size,
33
+ enforce_docker_system_prune=args.prune,
34
+ suppress_docker_system_prune=args.no_prune,
35
+ latest_dev_version=args.latest,
36
+ upload_test_data=args.with_test_data,
37
+ custom_host=args.custom_host,
38
+ )
39
+ )
40
+ return stack_handler.start_stack()
41
+
42
+
43
+ def call_stop_stack() -> bool:
44
+ check_docker_health()
45
+ stack_handler = StackHandler(StackConfiguration())
46
+ return stack_handler.stop_stack()
47
+
48
+
49
+ def call_upload_files(args: argparse.Namespace) -> bool:
50
+ xml_path = Path(args.xml_file)
51
+ image_dir = Path(args.imgdir)
52
+ network_requirements = NetworkRequirements(api_url=args.server)
53
+ path_requirements = PathDependencies([xml_path], required_directories=[image_dir])
54
+ check_input_dependencies(path_requirements, network_requirements)
55
+
56
+ return upload_files(
57
+ xml_file=xml_path,
58
+ creds=get_creds(args),
59
+ imgdir=image_dir,
60
+ )
61
+
62
+
63
+ def call_ingest_files(args: argparse.Namespace) -> bool:
64
+ check_input_dependencies(network_dependencies=NetworkRequirements(api_url=args.server))
65
+ return ingest_files(creds=get_creds(args), shortcode=args.shortcode)
66
+
67
+
68
+ def call_ingest_xmlupload(args: argparse.Namespace) -> bool:
69
+ xml_path = Path(args.xml_file)
70
+ required_files = [xml_path]
71
+ id2iri_file = args.id2iri_file
72
+ if id2iri_file:
73
+ required_files.append(Path(id2iri_file))
74
+ network_requirements = NetworkRequirements(args.server, always_requires_docker=True)
75
+ path_deps = PathDependencies(required_files)
76
+ check_input_dependencies(path_deps, network_requirements)
77
+
78
+ interrupt_after = args.interrupt_after if args.interrupt_after > 0 else None
79
+ return ingest_xmlupload(
80
+ xml_file=xml_path,
81
+ creds=get_creds(args),
82
+ interrupt_after=interrupt_after,
83
+ skip_validation=args.skip_validation,
84
+ skip_ontology_validation=args.skip_ontology_validation,
85
+ id2iri_file=id2iri_file,
86
+ do_not_request_resource_metadata_from_db=args.do_not_request_resource_metadata_from_db,
87
+ )
88
+
89
+
90
+ def call_xmlupload(args: argparse.Namespace) -> bool:
91
+ xml_path = Path(args.xmlfile)
92
+ required_files = [xml_path]
93
+ id2iri_file = args.id2iri_file
94
+ if id2iri_file:
95
+ required_files.append(Path(id2iri_file))
96
+ network_requirements = NetworkRequirements(args.server, always_requires_docker=True)
97
+ path_deps = PathDependencies(required_files, [Path(args.imgdir)])
98
+ check_input_dependencies(path_deps, network_requirements)
99
+
100
+ if args.validate_only:
101
+ if parse_and_validate_xml_file(xml_path):
102
+ print("The XML file is syntactically correct.")
103
+ return True
104
+ else:
105
+ return False # detailed error report has already been printed
106
+ else:
107
+ interrupt_after = args.interrupt_after if args.interrupt_after > 0 else None
108
+ match args.validation_severity:
109
+ case "info":
110
+ severity = ValidationSeverity.INFO
111
+ case "warning":
112
+ severity = ValidationSeverity.WARNING
113
+ case "error":
114
+ severity = ValidationSeverity.ERROR
115
+ case _:
116
+ raise InputError(
117
+ f"The entered validation severity '{args.validation_severity}' "
118
+ f"is not part of the allowed values: info, warning, error."
119
+ )
120
+ return xmlupload(
121
+ input_file=xml_path,
122
+ creds=get_creds(args),
123
+ imgdir=args.imgdir,
124
+ config=UploadConfig(
125
+ interrupt_after=interrupt_after,
126
+ skip_iiif_validation=args.no_iiif_uri_validation,
127
+ skip_validation=args.skip_validation,
128
+ ignore_duplicate_files_warning=args.ignore_duplicate_files_warning,
129
+ validation_severity=severity,
130
+ skip_ontology_validation=args.skip_ontology_validation,
131
+ do_not_request_resource_metadata_from_db=args.do_not_request_resource_metadata_from_db,
132
+ id2iri_file=id2iri_file,
133
+ ),
134
+ )
135
+
136
+
137
+ def call_validate_data(args: argparse.Namespace) -> bool:
138
+ xml_path = Path(args.xmlfile)
139
+ required_files = [xml_path]
140
+ id2iri_file = args.id2iri_file
141
+ if id2iri_file:
142
+ required_files.append(Path(id2iri_file))
143
+ network_requirements = NetworkRequirements(args.server, always_requires_docker=True)
144
+ path_deps = PathDependencies(required_files)
145
+ check_input_dependencies(path_deps, network_requirements)
146
+
147
+ return validate_data(
148
+ filepath=xml_path,
149
+ creds=get_creds(args),
150
+ save_graphs=args.save_graphs,
151
+ ignore_duplicate_files_warning=args.ignore_duplicate_files_warning,
152
+ skip_ontology_validation=args.skip_ontology_validation,
153
+ id2iri_file=id2iri_file,
154
+ do_not_request_resource_metadata_from_db=args.do_not_request_resource_metadata_from_db,
155
+ )
156
+
157
+
158
+ def call_resume_xmlupload(args: argparse.Namespace) -> bool:
159
+ # this does not need docker if not on localhost, as does not need to validate
160
+ check_input_dependencies(network_dependencies=NetworkRequirements(args.server))
161
+ return resume_xmlupload(
162
+ creds=get_creds(args),
163
+ skip_first_resource=args.skip_first_resource,
164
+ )
165
+
166
+
167
+ def call_get(args: argparse.Namespace) -> bool:
168
+ network_dependencies = NetworkRequirements(args.server)
169
+ path_dependencies = PathDependencies(required_directories=[Path(args.project_definition).parent])
170
+ check_input_dependencies(path_dependencies, network_dependencies)
171
+
172
+ return get_project(
173
+ project_identifier=args.project,
174
+ outfile_path=args.project_definition,
175
+ creds=get_creds(args),
176
+ verbose=args.verbose,
177
+ )
178
+
179
+
180
+ def call_create(args: argparse.Namespace) -> bool:
181
+ network_dependencies = NetworkRequirements(args.server)
182
+ path_dependencies = PathDependencies([Path(args.project_definition)])
183
+ check_input_dependencies(path_dependencies, network_dependencies)
184
+
185
+ success = False
186
+ match args.lists_only, args.validate_only:
187
+ case True, True:
188
+ success = validate_lists_section_with_schema(args.project_definition)
189
+ print("'Lists' section of the JSON project file is syntactically correct and passed validation.")
190
+ case True, False:
191
+ success = create_lists_only(
192
+ project_file_as_path_or_parsed=args.project_definition,
193
+ creds=get_creds(args),
194
+ )
195
+ case False, True:
196
+ success = validate_project(args.project_definition)
197
+ print("JSON project file is syntactically correct and passed validation.")
198
+ case False, False:
199
+ success = create_project(
200
+ project_file_as_path_or_parsed=args.project_definition,
201
+ creds=get_creds(args),
202
+ verbose=args.verbose,
203
+ )
204
+ return success