s3dgraphy 1.6.0.dev58__tar.gz → 1.6.0.dev59__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 (573) hide show
  1. {s3dgraphy-1.6.0.dev58/src/s3dgraphy.egg-info → s3dgraphy-1.6.0.dev59}/PKG-INFO +4 -4
  2. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/pyproject.toml +7 -6
  3. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/em.ttl +1 -1
  4. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/__init__.py +1 -1
  5. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/api.py +21 -20
  6. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/resources/__init__.py +9 -9
  7. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/resources/addresses.py +1 -1
  8. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/resources/object_store.py +29 -39
  9. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/resources/resolver.py +1 -1
  10. s3dgraphy-1.6.0.dev58/src/s3dgraphy/resources/minio_backend.py → s3dgraphy-1.6.0.dev59/src/s3dgraphy/resources/s3_backend.py +139 -51
  11. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/shelf/core.py +5 -5
  12. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59/src/s3dgraphy.egg-info}/PKG-INFO +4 -4
  13. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy.egg-info/SOURCES.txt +2 -2
  14. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy.egg-info/requires.txt +4 -4
  15. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_blend_locator.py +3 -2
  16. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_bucket_alignment.py +18 -17
  17. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_release.py +1 -1
  18. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_resource_layer.py +1 -1
  19. s3dgraphy-1.6.0.dev58/tests/test_minio_backend.py → s3dgraphy-1.6.0.dev59/tests/test_s3_backend.py +62 -51
  20. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_semantic_purity.py +2 -2
  21. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_shelf_role_uri_table.py +4 -4
  22. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/LICENSE +0 -0
  23. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/MANIFEST.in +0 -0
  24. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/README.md +0 -0
  25. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/setup.cfg +0 -0
  26. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/acquisition_descriptor.schema.json +0 -0
  27. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/acquisition_mappings/ercolano.json +0 -0
  28. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/acquisition_mappings/fs.json +0 -0
  29. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/acquisition_mappings/uri.json +0 -0
  30. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/alternative_cases.json +0 -0
  31. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/datamodel_translations.json +0 -0
  32. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/em_document_types.json +0 -0
  33. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/em_extractor_types.json +0 -0
  34. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/em_palette_icons.json +0 -0
  35. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/em_qualia_types.json +0 -0
  36. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/em_qualia_types_additions.json +0 -0
  37. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/em_state_symbols.json +0 -0
  38. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/em_visual_rules.json +0 -0
  39. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/hdto_extension.ttl +0 -0
  40. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/new_qualia_template.json +0 -0
  41. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/node_registry.generated.json +0 -0
  42. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/outdated_s3dgraphy.ttl +0 -0
  43. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/outdated_s3dgraphy_nomapping.ttl +0 -0
  44. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/s3Dgraphy_connections_datamodel.json +0 -0
  45. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/s3Dgraphy_connections_datamodel.json.v155.bak +0 -0
  46. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/s3Dgraphy_node_datamodel.json +0 -0
  47. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/ActivityNodeGroup.svg +0 -0
  48. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/EMNarrative.png +0 -0
  49. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/EMNarrative.svg +0 -0
  50. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/EpochNode.svg +0 -0
  51. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/ParadataNodeGroup.svg +0 -0
  52. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/RSF.png +0 -0
  53. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/RSF.svg +0 -0
  54. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/SE.svg +0 -0
  55. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/SE_old.png +0 -0
  56. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/SE_old.svg +0 -0
  57. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/SF.png +0 -0
  58. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/SF.svg +0 -0
  59. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/TSU.png +0 -0
  60. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/US.png +0 -0
  61. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/US.svg +0 -0
  62. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/USD.png +0 -0
  63. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/USD.svg +0 -0
  64. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/USVn.png +0 -0
  65. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/USVn.svg +0 -0
  66. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/USVs.png +0 -0
  67. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/USVs.svg +0 -0
  68. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/UTR.svg +0 -0
  69. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/VSF.png +0 -0
  70. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/VSF.svg +0 -0
  71. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/author.png +0 -0
  72. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/author.svg +0 -0
  73. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/author_ai.png +0 -0
  74. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/author_ai.svg +0 -0
  75. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/combiner.png +0 -0
  76. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/combiner.svg +0 -0
  77. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/container.svg +0 -0
  78. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/continuity.png +0 -0
  79. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/continuity.svg +0 -0
  80. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/document.png +0 -0
  81. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/document.svg +0 -0
  82. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/00_transformation.svg +0 -0
  83. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/01_topographicnetwork.svg +0 -0
  84. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/02_pointcloud.svg +0 -0
  85. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/03_mesh.svg +0 -0
  86. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/04_points.svg +0 -0
  87. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/05_lines.svg +0 -0
  88. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/06_polygons.svg +0 -0
  89. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/07_DEM.svg +0 -0
  90. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/08_ortophoto.svg +0 -0
  91. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/09_photos.svg +0 -0
  92. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/10_laserscanner.svg +0 -0
  93. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device.svg +0 -0
  94. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_computer.svg +0 -0
  95. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_drone.svg +0 -0
  96. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_gnss.svg +0 -0
  97. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_optical.svg +0 -0
  98. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_scanner.svg +0 -0
  99. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_sensor.svg +0 -0
  100. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/11_device_station.svg +0 -0
  101. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/12_gnss_survey.svg +0 -0
  102. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/13_field_drawing.svg +0 -0
  103. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/14_recording_sheet.svg +0 -0
  104. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/15_decimation.svg +0 -0
  105. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/16_georeferencing.svg +0 -0
  106. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/17_format_conversion.svg +0 -0
  107. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/18_classification.svg +0 -0
  108. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/dtc/19_vectorization.svg +0 -0
  109. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/embargo.png +0 -0
  110. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/embargo.svg +0 -0
  111. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/extractor.png +0 -0
  112. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/extractor.svg +0 -0
  113. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/gcp_set.svg +0 -0
  114. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/generic_node.svg +0 -0
  115. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/geo_position.svg +0 -0
  116. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/graph.svg +0 -0
  117. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/license.png +0 -0
  118. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/license.svg +0 -0
  119. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/link.svg +0 -0
  120. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/narrative.png +0 -0
  121. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/narrative.svg +0 -0
  122. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/play.svg +0 -0
  123. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/property.png +0 -0
  124. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/property.svg +0 -0
  125. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/proxy.svg +0 -0
  126. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/registration_transform.svg +0 -0
  127. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/representation_model.svg +0 -0
  128. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/representation_model_doc.svg +0 -0
  129. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/representation_model_sf.svg +0 -0
  130. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/resource_file.svg +0 -0
  131. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/semantic_shape.svg +0 -0
  132. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/serSU.png +0 -0
  133. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/serSU.svg +0 -0
  134. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/serUSD.png +0 -0
  135. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/serUSV.png +0 -0
  136. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/serUSVn.svg +0 -0
  137. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/serUSVs.svg +0 -0
  138. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/tileset.svg +0 -0
  139. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/version_gltf.svg +0 -0
  140. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/version_mesh.svg +0 -0
  141. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/version_scene.svg +0 -0
  142. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/2D/version_tiles.svg +0 -0
  143. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/3D/RSF.glb +0 -0
  144. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/3D/SF.glb +0 -0
  145. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/3D/TSU.glb +0 -0
  146. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/3D/US.glb +0 -0
  147. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/3D/USD.glb +0 -0
  148. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/3D/USVn.glb +0 -0
  149. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/3D/USVs.glb +0 -0
  150. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/3D/VSF.glb +0 -0
  151. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/3D/combiner.glb +0 -0
  152. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/3D/continuity.glb +0 -0
  153. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/3D/document.glb +0 -0
  154. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/3D/extractor.glb +0 -0
  155. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/3D/property.glb +0 -0
  156. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/3D/serSU.glb +0 -0
  157. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/3D/serUSD.glb +0 -0
  158. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/src/3D/serUSV.glb +0 -0
  159. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/JSON_config/version_for_cases.json +0 -0
  160. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/__main__.py +0 -0
  161. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/acquisition/__init__.py +0 -0
  162. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/acquisition/acquire.py +0 -0
  163. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/acquisition/descriptor.py +0 -0
  164. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/acquisition/mapping.py +0 -0
  165. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/ai_validation.py +0 -0
  166. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/annotation/__init__.py +0 -0
  167. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/annotation/migrate_reading.py +0 -0
  168. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/annotation/paradata.py +0 -0
  169. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/annotation/reading.py +0 -0
  170. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/authorities/__init__.py +0 -0
  171. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/authorities/resolver.py +0 -0
  172. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/authorities/snapshots/LICENSE +0 -0
  173. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/authorities/snapshots/chronontology.jsonld +0 -0
  174. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/authorities/snapshots/getty_aat.jsonld +0 -0
  175. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/authorities/snapshots/getty_tgn.jsonld +0 -0
  176. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/authorities/snapshots/periodo.jsonld +0 -0
  177. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/authorities/snapshots/provenance.json +0 -0
  178. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/classification.py +0 -0
  179. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/container.py +0 -0
  180. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/contract/__init__.py +0 -0
  181. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/contract/connector.py +0 -0
  182. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/contract/consumer.py +0 -0
  183. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/contract/core.py +0 -0
  184. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/contract/reference.py +0 -0
  185. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/crdt.py +0 -0
  186. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/data/StratiMiner_Extraction_Prompt.md +0 -0
  187. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/datamodel.py +0 -0
  188. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/diagnostics.py +0 -0
  189. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/dissemination.py +0 -0
  190. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/dtc/__init__.py +0 -0
  191. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/dtc/capture.py +0 -0
  192. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/dtc/corpus.py +0 -0
  193. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/dtc/devices.py +0 -0
  194. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/dtc/ingest.py +0 -0
  195. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/dtc/neighbourhood.py +0 -0
  196. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/dtc/residency.py +0 -0
  197. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/edges/__init__.py +0 -0
  198. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/edges/connection_resolver.py +0 -0
  199. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/edges/connections_loader.py +0 -0
  200. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/edges/edge.py +0 -0
  201. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/editorial.py +0 -0
  202. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/__init__.py +0 -0
  203. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/docx_exporter.py +0 -0
  204. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/emjson_exporter.py +0 -0
  205. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/graphml/__init__.py +0 -0
  206. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/graphml/canvas_generator.py +0 -0
  207. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/graphml/edge_generator.py +0 -0
  208. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/graphml/epoch_generator.py +0 -0
  209. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/graphml/graphml_exporter.py +0 -0
  210. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/graphml/graphml_patcher.py +0 -0
  211. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/graphml/group_node_generator.py +0 -0
  212. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/graphml/node_generator.py +0 -0
  213. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/graphml/node_registry.py +0 -0
  214. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/graphml/palette_resources.py +0 -0
  215. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/graphml/paradata_generator.py +0 -0
  216. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/graphml/paradata_image_generator.py +0 -0
  217. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/graphml/paradata_node_generators.py +0 -0
  218. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/graphml/table_node_generator.py +0 -0
  219. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/graphml/utils.py +0 -0
  220. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/html_exporter.py +0 -0
  221. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/ipynb_exporter.py +0 -0
  222. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/json_exporter.py +0 -0
  223. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/latex_exporter.py +0 -0
  224. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/rdf_exporter.py +0 -0
  225. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/exporter/unified_xlsx_exporter.py +0 -0
  226. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/geometry/__init__.py +0 -0
  227. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/geometry/aton.py +0 -0
  228. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/geometry/gltf.py +0 -0
  229. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/geometry/migrate.py +0 -0
  230. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/geometry/proxy.py +0 -0
  231. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/geometry/reading_glb.py +0 -0
  232. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/geometry/store_backed.py +0 -0
  233. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/geometry/transform.py +0 -0
  234. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/geometry/wkt.py +0 -0
  235. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/graph.py +0 -0
  236. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/hdto.py +0 -0
  237. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/iiif.py +0 -0
  238. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/importer/__init__.py +0 -0
  239. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/importer/base_importer.py +0 -0
  240. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/importer/csv_importer.py +0 -0
  241. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/importer/emjson_importer.py +0 -0
  242. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/importer/fmpxml_importer.py +0 -0
  243. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/importer/import_graphml.py +0 -0
  244. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/importer/mapped_xlsx_importer.py +0 -0
  245. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/importer/metashape_project.py +0 -0
  246. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/importer/pyarchinit_importer.py +0 -0
  247. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/importer/qualia_importer.py +0 -0
  248. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/importer/rdf_importer.py +0 -0
  249. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/importer/sheet_header.py +0 -0
  250. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/importer/source_text.py +0 -0
  251. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/importer/unified_xlsx_importer.py +0 -0
  252. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/importer/xlsx_importer.py +0 -0
  253. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/importer/xml_importer.py +0 -0
  254. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/indices.py +0 -0
  255. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/labels.py +0 -0
  256. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/language.py +0 -0
  257. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/links.py +0 -0
  258. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/mappings/__init__.py +0 -0
  259. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/mappings/authoring.py +0 -0
  260. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/mappings/emdb/generic_specialfind_mapping.json +0 -0
  261. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/mappings/emdb/site_properties_mapping.json +0 -0
  262. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/mappings/emdb/usm_mapping.json +0 -0
  263. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/mappings/generic/excel_to_graphml_mapping.json +0 -0
  264. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/mappings/pyarchinit/pyarchinit_us_mapping.json +0 -0
  265. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/mappings/registry.py +0 -0
  266. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/mappings/source_list/em_sourcelist_it.json +0 -0
  267. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/mappings/source_list/source_list_mapping.json +0 -0
  268. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/mappings/template_emdb_mapping.json +0 -0
  269. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/mappings/template_pyarchinit_mapping.json +0 -0
  270. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/merge/__init__.py +0 -0
  271. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/merge/graph_merger.py +0 -0
  272. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/multigraph/__init__.py +0 -0
  273. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/multigraph/multigraph.py +0 -0
  274. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/narrative/__init__.py +0 -0
  275. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/narrative/bake.py +0 -0
  276. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/narrative/generation.py +0 -0
  277. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/narrative/query.py +0 -0
  278. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/narrative/registry.py +0 -0
  279. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/narrative/site_story.py +0 -0
  280. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/__init__.py +0 -0
  281. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/annotation_region_node.py +0 -0
  282. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/author_node.py +0 -0
  283. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/base_node.py +0 -0
  284. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/combiner_node.py +0 -0
  285. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/document_node.py +0 -0
  286. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/dtc_acquisition_node.py +0 -0
  287. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/dtc_device_node.py +0 -0
  288. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/dtc_node.py +0 -0
  289. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/dtc_process_node.py +0 -0
  290. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/embargo_node.py +0 -0
  291. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/epoch_node.py +0 -0
  292. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/extractor_node.py +0 -0
  293. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/geo_position_node.py +0 -0
  294. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/georeferencing_node.py +0 -0
  295. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/graph_node.py +0 -0
  296. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/group_node.py +0 -0
  297. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/hdt_node.py +0 -0
  298. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/heritage_entity_node.py +0 -0
  299. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/license_node.py +0 -0
  300. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/narrative_node.py +0 -0
  301. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/paradata_node.py +0 -0
  302. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/project_node.py +0 -0
  303. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/property_node.py +0 -0
  304. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/representation_node.py +0 -0
  305. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/resource_file_node.py +0 -0
  306. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/resource_node.py +0 -0
  307. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/semantic_shape_node.py +0 -0
  308. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/stratigraphic_node.py +0 -0
  309. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/study_node.py +0 -0
  310. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/nodes/translation_node.py +0 -0
  311. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/ownership.py +0 -0
  312. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/paradata_view.py +0 -0
  313. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/photogrammetry/__init__.py +0 -0
  314. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/photogrammetry/delta.py +0 -0
  315. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/project_tree.py +0 -0
  316. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/property_source.py +0 -0
  317. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/publication.py +0 -0
  318. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/rapporti.py +0 -0
  319. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/resolvers/__init__.py +0 -0
  320. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/resolvers/builtin_rules.py +0 -0
  321. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/resolvers/property_resolver.py +0 -0
  322. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/resources/alignment.py +0 -0
  323. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/resources/alternatives.py +0 -0
  324. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/resources/files.py +0 -0
  325. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/resources/fs_backend.py +0 -0
  326. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/resources/locate.py +0 -0
  327. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/resources/moved.py +0 -0
  328. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/resources/storage_rows.py +0 -0
  329. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/resources/tiles3tz.py +0 -0
  330. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/resources/versions.py +0 -0
  331. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/rights.py +0 -0
  332. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/room_import/__init__.py +0 -0
  333. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/room_import/access.py +0 -0
  334. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/room_import/engine.py +0 -0
  335. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/room_import/errors.py +0 -0
  336. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/room_import/inventory.py +0 -0
  337. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/room_import/node.py +0 -0
  338. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/room_import/pack.py +0 -0
  339. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/room_import/trust.py +0 -0
  340. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/shelf/__init__.py +0 -0
  341. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/spatiotemporal.py +0 -0
  342. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/stamp/__init__.py +0 -0
  343. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/stamp/absorb.py +0 -0
  344. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/stamp/emit.py +0 -0
  345. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/stamp/hints.py +0 -0
  346. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/stamp/identity.py +0 -0
  347. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/study.py +0 -0
  348. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/__init__.py +0 -0
  349. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/_db_handle.py +0 -0
  350. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/_legacy_paradata_svgs.py +0 -0
  351. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/_workspace.py +0 -0
  352. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/conflict_resolver.py +0 -0
  353. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/edge_registry.py +0 -0
  354. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/graph_ingestor.py +0 -0
  355. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/graph_projector.py +0 -0
  356. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/graphml_writer.py +0 -0
  357. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/group_projector.py +0 -0
  358. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/group_store.py +0 -0
  359. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/ingest_result.py +0 -0
  360. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/paradata_store.py +0 -0
  361. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/pyarchinit_pg_importer.py +0 -0
  362. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/rapporti.py +0 -0
  363. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/uuid7.py +0 -0
  364. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/vocab_provider_core.py +0 -0
  365. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/vocab_types.py +0 -0
  366. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/yed_classifier.py +0 -0
  367. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/yed_detector.py +0 -0
  368. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/yed_group_walker.py +0 -0
  369. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/yed_import_pipeline.py +0 -0
  370. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/yed_rapporti_policy.py +0 -0
  371. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/sync/yed_table_parser.py +0 -0
  372. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/templates/em_data_template.xlsx +0 -0
  373. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/templates/em_palette_template.graphml +0 -0
  374. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/temporal/__init__.py +0 -0
  375. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/temporal/inference_engine.py +0 -0
  376. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/tools/__init__.py +0 -0
  377. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/tools/consumer_drift.py +0 -0
  378. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/tools/datamodel_i18n.py +0 -0
  379. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/tools/deliverable_report.py +0 -0
  380. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/tools/glyph_sheet.py +0 -0
  381. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/tools/glyphs_from_svg.py +0 -0
  382. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/tools/node_finder.py +0 -0
  383. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/tools/sync_node_datamodel.py +0 -0
  384. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/tools/wheel_drift.py +0 -0
  385. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/transforms/__init__.py +0 -0
  386. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/transforms/aux_tracking.py +0 -0
  387. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/transforms/compact.py +0 -0
  388. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/transforms/materialize_continuity.py +0 -0
  389. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/translation.py +0 -0
  390. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/utils/__init__.py +0 -0
  391. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/utils/utils.py +0 -0
  392. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/utils/visual_layout.py +0 -0
  393. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy/zero_hour.py +0 -0
  394. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy.egg-info/dependency_links.txt +0 -0
  395. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/src/s3dgraphy.egg-info/top_level.txt +0 -0
  396. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_acquisition.py +0 -0
  397. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_acquisition_fs.py +0 -0
  398. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_add_resource.py +0 -0
  399. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_ai_validation_nodes.py +0 -0
  400. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_alternative_labels.py +0 -0
  401. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_alternative_sets.py +0 -0
  402. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_alternatives_hat.py +0 -0
  403. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_api_surface.py +0 -0
  404. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_asset_dtc_protocol.py +0 -0
  405. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_asset_versions.py +0 -0
  406. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_aton_shapes.py +0 -0
  407. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_attach_only.py +0 -0
  408. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_authority_projection.py +0 -0
  409. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_authority_resolver.py +0 -0
  410. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_canonical_document_rename.py +0 -0
  411. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_canvas_metadata_import.py +0 -0
  412. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_capture_acquisition.py +0 -0
  413. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_capture_rdf_class.py +0 -0
  414. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_chronology_on_request.py +0 -0
  415. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_coating_unit.py +0 -0
  416. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_composite_node_name.py +0 -0
  417. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_connection_resolver.py +0 -0
  418. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_consumer_drift.py +0 -0
  419. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_container.py +0 -0
  420. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_container_layouts.py +0 -0
  421. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_containment_tpq.py +0 -0
  422. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_contract.py +0 -0
  423. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_contract_consumer.py +0 -0
  424. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_convert_command.py +0 -0
  425. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_crdt.py +0 -0
  426. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_cycle_message_is_cheap.py +0 -0
  427. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_datamodel_fingerprint.py +0 -0
  428. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_datamodel_i18n.py +0 -0
  429. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_deterministic_ids.py +0 -0
  430. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_dev29_em_sourcelist.py +0 -0
  431. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_dev29_file_set_stamp.py +0 -0
  432. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_dev29_graphml_without_a_database.py +0 -0
  433. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_dev29_image_set_texturing.py +0 -0
  434. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_dev29_not_georeferenced.py +0 -0
  435. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_dev29_one_act_n_outputs.py +0 -0
  436. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_dev29_ttl_round_trip.py +0 -0
  437. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_dev30_decisions.py +0 -0
  438. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_devices.py +0 -0
  439. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_dissemination_tombstones.py +0 -0
  440. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_dove_sta_il_testo.py +0 -0
  441. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_dtc_corpus.py +0 -0
  442. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_dtc_ingest.py +0 -0
  443. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_dtc_neighbourhood.py +0 -0
  444. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_dtc_projection.py +0 -0
  445. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_dtc_residency.py +0 -0
  446. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_edge_outside_graph.py +0 -0
  447. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_edge_ui_phrases.py +0 -0
  448. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_editorial.py +0 -0
  449. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_em_ttl_matches_the_datamodels.py +0 -0
  450. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_emjson_no_drawing_keys.py +0 -0
  451. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_emjson_roundtrip.py +0 -0
  452. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_emjson_schema_version.py +0 -0
  453. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_epoch_properties_and_sub_epochs.py +0 -0
  454. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_epoch_undated_import.py +0 -0
  455. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_explicit_node_type_marker.py +0 -0
  456. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_extracted_from_unit.py +0 -0
  457. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_filtered_import.py +0 -0
  458. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_fmpxml_importer.py +0 -0
  459. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_fs_backend.py +0 -0
  460. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_functional_units.py +0 -0
  461. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_georeference_scene.py +0 -0
  462. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_gltf_stitch.py +0 -0
  463. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_glyph_paths.py +0 -0
  464. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_graph_header_code.py +0 -0
  465. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_graph_helpers_indexed.py +0 -0
  466. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_graph_indices_alive.py +0 -0
  467. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_graph_indices_edges.py +0 -0
  468. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_graph_scope_migration.py +0 -0
  469. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_hdto_projection.py +0 -0
  470. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_hdto_study.py +0 -0
  471. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_header_key_aliases.py +0 -0
  472. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_i_generi_dei_passi.py +0 -0
  473. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_iiif.py +0 -0
  474. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_il_modo_d_accesso.py +0 -0
  475. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_il_modo_dal_relay.py +0 -0
  476. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_il_proprietario_si_legge.py +0 -0
  477. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_il_riallineamento.py +0 -0
  478. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_importer_edge_hygiene.py +0 -0
  479. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_ipynb_exporter.py +0 -0
  480. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_issue27_small_points.py +0 -0
  481. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_la_lingua_alla_nascita.py +0 -0
  482. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_la_lingua_dei_dati.py +0 -0
  483. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_la_lingua_nell_op.py +0 -0
  484. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_la_riga_d_intestazione.py +0 -0
  485. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_latex_exporter.py +0 -0
  486. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_le_traduzioni.py +0 -0
  487. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_lod_levels.py +0 -0
  488. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_lossless_roundtrip.py +0 -0
  489. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_mapping_authoring.py +0 -0
  490. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_mapping_csv_and_relations.py +0 -0
  491. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_masonry_unit.py +0 -0
  492. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_material_color.py +0 -0
  493. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_merge_conflicts.py +0 -0
  494. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_metashape_project.py +0 -0
  495. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_migrate_legacy_proxy.py +0 -0
  496. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_narrative_authorship.py +0 -0
  497. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_narrative_bake_docx.py +0 -0
  498. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_narrative_figures.py +0 -0
  499. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_narrative_generation.py +0 -0
  500. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_narrative_mentions.py +0 -0
  501. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_narrative_node.py +0 -0
  502. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_narrative_query.py +0 -0
  503. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_narrative_scaffolder.py +0 -0
  504. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_narrative_site_place.py +0 -0
  505. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_narrative_unvalidated_export.py +0 -0
  506. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_node_datamodel_registry.py +0 -0
  507. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_node_finder.py +0 -0
  508. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_node_type_map_integrity.py +0 -0
  509. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_one_resolver.py +0 -0
  510. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_one_spelling_writers.py +0 -0
  511. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_op_vocabulary.py +0 -0
  512. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_pg_importer.py +0 -0
  513. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_photogrammetry_delta.py +0 -0
  514. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_physical_relation_spellings.py +0 -0
  515. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_piu_indirizzi.py +0 -0
  516. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_promote_keeps_proxy_type.py +0 -0
  517. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_promotion.py +0 -0
  518. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_property_as_source.py +0 -0
  519. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_property_owners.py +0 -0
  520. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_proxy_resource.py +0 -0
  521. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_proxy_retype.py +0 -0
  522. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_psx_locator.py +0 -0
  523. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_pyarchinit_tier2.py +0 -0
  524. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_qualia_dai_d7_d8.py +0 -0
  525. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_rdf_embedding.py +0 -0
  526. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_rdf_reverse_edges.py +0 -0
  527. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_rdf_roundtrip.py +0 -0
  528. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_reading_coords.py +0 -0
  529. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_reading_glb.py +0 -0
  530. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_reading_migration.py +0 -0
  531. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_reading_place.py +0 -0
  532. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_reading_rdf.py +0 -0
  533. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_recompute_warnings.py +0 -0
  534. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_reproject.py +0 -0
  535. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_resource_file_node.py +0 -0
  536. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_resource_files_implicit.py +0 -0
  537. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_resource_representations.py +0 -0
  538. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_resource_revision.py +0 -0
  539. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_resource_tier.py +0 -0
  540. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_reverse_edges.py +0 -0
  541. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_rm_container_node_group.py +0 -0
  542. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_room_import.py +0 -0
  543. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_room_import_access.py +0 -0
  544. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_room_import_inventory.py +0 -0
  545. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_room_import_trust.py +0 -0
  546. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_shelf.py +0 -0
  547. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_shelf_facets.py +0 -0
  548. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_shelf_hatting.py +0 -0
  549. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_shipped_mappings.py +0 -0
  550. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_source_list_mapping.py +0 -0
  551. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_source_text.py +0 -0
  552. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_spatiotemporal_entities.py +0 -0
  553. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_stable_study_code.py +0 -0
  554. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_stamp.py +0 -0
  555. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_stamp_hints.py +0 -0
  556. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_stamp_title_description.py +0 -0
  557. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_storage_rows.py +0 -0
  558. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_store_backed_geometry.py +0 -0
  559. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_stratiminer_api.py +0 -0
  560. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_study_metadata.py +0 -0
  561. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_threed_instances.py +0 -0
  562. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_tileset_resource.py +0 -0
  563. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_transform_form.py +0 -0
  564. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_ttl_roundtrip.py +0 -0
  565. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_unit_definition.py +0 -0
  566. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_verifica_provenance.py +0 -0
  567. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_version_for.py +0 -0
  568. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_visual_assets.py +0 -0
  569. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_wheel_drift.py +0 -0
  570. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_xlsx_containment_and_unknown_bounds.py +0 -0
  571. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_xlsx_importer_graph_init.py +0 -0
  572. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_xlsx_source_column.py +0 -0
  573. {s3dgraphy-1.6.0.dev58 → s3dgraphy-1.6.0.dev59}/tests/test_zero_hour.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: s3dgraphy
3
- Version: 1.6.0.dev58
3
+ Version: 1.6.0.dev59
4
4
  Summary: 3D Stratigraphic Graph Management Library for archaeological and heritage applications
5
5
  Author-email: Emanuel Demetrescu <emanuel.demetrescu@cnr.it>
6
6
  Maintainer-email: Emanuel Demetrescu <emanuel.demetrescu@cnr.it>
@@ -48,8 +48,8 @@ Provides-Extra: sync
48
48
  Requires-Dist: sqlalchemy>=2.0; extra == "sync"
49
49
  Provides-Extra: postgres
50
50
  Requires-Dist: psycopg2-binary>=2.9; extra == "postgres"
51
- Provides-Extra: minio
52
- Requires-Dist: minio>=7.0; extra == "minio"
51
+ Provides-Extra: s3
52
+ Requires-Dist: boto3>=1.34; extra == "s3"
53
53
  Provides-Extra: geo
54
54
  Requires-Dist: pyproj>=3.4; extra == "geo"
55
55
  Provides-Extra: pdf
@@ -70,7 +70,7 @@ Requires-Dist: sphinx>=5.0; extra == "docs"
70
70
  Requires-Dist: sphinx-rtd-theme; extra == "docs"
71
71
  Requires-Dist: myst-parser; extra == "docs"
72
72
  Provides-Extra: full
73
- Requires-Dist: s3dgraphy[geo,minio,rdf-embedded,sync,visualization]; extra == "full"
73
+ Requires-Dist: s3dgraphy[geo,rdf-embedded,s3,sync,visualization]; extra == "full"
74
74
  Provides-Extra: all
75
75
  Requires-Dist: s3dgraphy[dev,docs,full,postgres]; extra == "all"
76
76
  Dynamic: license-file
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "s3dgraphy"
7
- version = "1.6.0.dev58"
7
+ version = "1.6.0.dev59"
8
8
  description = "3D Stratigraphic Graph Management Library for archaeological and heritage applications"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -113,12 +113,13 @@ postgres = [
113
113
  # the PG path of PyArchInitImporter when that lands.
114
114
  "psycopg2-binary>=2.9",
115
115
  ]
116
- minio = [
117
- # MinIO / S3 object-storage backend for the Resource layer
118
- # (s3dgraphy.resources.minio_backend, R2). Without this extra, constructing
116
+ s3 = [
117
+ # S3 object-storage backend for the Resource layer, any S3-compatible
118
+ # endpoint (RustFS in the dev stack) through boto3
119
+ # (s3dgraphy.resources.s3_backend, R2). Without this extra, constructing
119
120
  # a client / ingesting raises MissingDependency (like rdflib for TTL);
120
121
  # resolve()/manifest work dep-free on an already-populated index.
121
- "minio>=7.0",
122
+ "boto3>=1.34",
122
123
  ]
123
124
  geo = [
124
125
  # Coordinate reprojection for api.reproject / api.georeference_scene (G1).
@@ -178,7 +179,7 @@ docs = [
178
179
  # without the dev/docs tooling. The dev/docs/test stacks stay separate
179
180
  # so CI-style installs don't pull editor/QA deps.
180
181
  full = [
181
- "s3dgraphy[rdf-embedded,visualization,sync,minio,geo]",
182
+ "s3dgraphy[rdf-embedded,visualization,sync,s3,geo]",
182
183
  ]
183
184
  all = [
184
185
  "s3dgraphy[full,dev,docs,postgres]",
@@ -874,7 +874,7 @@ em:hasAddress
874
874
  a owl:ObjectProperty ;
875
875
  rdfs:label "has address"@en ;
876
876
  rdfs:domain crm:E73_Information_Object ;
877
- rdfs:comment "One of the places where the SAME bytes of a resource can be fetched — the same digest on the disk, on MinIO, on Zenodo: identical copies are one resource with several addresses, and losing one address does not lose the resource. The object is a derived IRI <resource>/address/<i>, number 0 being the resource's url; every locator is also an rdfs:seeAlso of the resource, so a reader that knows nothing of EM finds every copy. Different manifestations are not addresses but sister resources. Maps to: node_datamodel ResourceNode.properties.addresses (data.addresses)."@en .
877
+ rdfs:comment "One of the places where the SAME bytes of a resource can be fetched — the same digest on the disk, in the S3 store, on Zenodo: identical copies are one resource with several addresses, and losing one address does not lose the resource. The object is a derived IRI <resource>/address/<i>, number 0 being the resource's url; every locator is also an rdfs:seeAlso of the resource, so a reader that knows nothing of EM finds every copy. Different manifestations are not addresses but sister resources. Maps to: node_datamodel ResourceNode.properties.addresses (data.addresses)."@en .
878
878
 
879
879
  em:locator
880
880
  a owl:DatatypeProperty ;
@@ -1,4 +1,4 @@
1
- __version__ = "1.6.0.dev58"
1
+ __version__ = "1.6.0.dev59"
2
2
  __datamodel_version__ = "1.5.5" # s3Dgraphy connections datamodel version
3
3
 
4
4
  # s3Dgraphy/__init__.py
@@ -3150,7 +3150,7 @@ def find_moved_files(graph: Graph, results: Sequence[Dict[str, Any]],
3150
3150
 
3151
3151
  # ── B1 · disk ↔ bucket: the two copies, and what may be let go (E.D., 11 Oct 2026) ──
3152
3152
  def open_object_store(name: Optional[str] = None, config: Any = None):
3153
- """The object store of the Resource layer — any S3-compatible one (MinIO
3153
+ """The object store of the Resource layer — any S3-compatible one (RustFS
3154
3154
  today). ``S3_*`` environment, ``EM_OBJECT_STORE`` to choose another
3155
3155
  implementation (:func:`s3dgraphy.resources.object_store.register_store`)."""
3156
3156
  from .resources.object_store import open_store
@@ -3345,7 +3345,7 @@ def register_resource(graph: Graph, locator: str, *, name: Optional[str] = None,
3345
3345
  Creates a ResourceNode carrying a new stable ID (a UUID unless ``resource_id`` is
3346
3346
  given) and the ``locator`` as its current ``url``, and adds it to the graph.
3347
3347
  This is the *identity + locator* half only — real ingest (copying bytes into
3348
- an FS-index or MinIO store) is R1/R2, which will resolve the same ID through
3348
+ an FS-index or S3 store) is R1/R2, which will resolve the same ID through
3349
3349
  their backends. Returns ``{id, locator, kind}``."""
3350
3350
  import uuid
3351
3351
  from .resources import classify_locator
@@ -3371,37 +3371,38 @@ def scan_fs_resources(folder: str) -> List[Dict[str, Any]]:
3371
3371
  return [e.to_dict() for e in backend.entries()]
3372
3372
 
3373
3373
 
3374
- def ingest_minio_resource(path: str, *, resource_id: Optional[str] = None,
3375
- config: Any = None) -> Dict[str, Any]:
3376
- """Ingest a file into the SHARED MinIO/S3 store (R2) and return
3374
+ def ingest_s3_resource(path: str, *, resource_id: Optional[str] = None,
3375
+ config: Any = None) -> Dict[str, Any]:
3376
+ """Ingest a file into the SHARED S3 store (R2) and return
3377
3377
  ``{id, object_key, s3_uri}``.
3378
3378
 
3379
3379
  ``resource_id`` (optional): reuse an EXISTING stable ID instead of minting a
3380
- fresh one — this is how "promote to MinIO" keeps a resource's identity (the
3381
- SAME id whether it lives on the file system or in MinIO — one ID space).
3380
+ fresh one — this is how "promote to the S3 store" keeps a resource's identity
3381
+ (the SAME id whether it lives on the file system or in the bucket — one ID
3382
+ space).
3382
3383
 
3383
3384
  By default the connection is read from the ``S3_*`` environment (the SAME
3384
3385
  vars Heriverse-Server uses → one shared object store); pass an explicit
3385
- :class:`~s3dgraphy.resources.MinioConfig` to override. Needs the optional
3386
- ``minio`` SDK (``pip install s3dgraphy[minio]``) AND a reachable server —
3386
+ :class:`~s3dgraphy.resources.S3Config` to override. Needs the optional
3387
+ ``boto3`` SDK (``pip install s3dgraphy[s3]``) AND a reachable server —
3387
3388
  raises :class:`MissingDependency` if the SDK is absent."""
3388
- from .resources import MinioBackend, MinioConfig
3389
- cfg = config or MinioConfig.from_env()
3390
- backend = MinioBackend(cfg)
3389
+ from .resources import S3Backend, S3Config
3390
+ cfg = config or S3Config.from_env()
3391
+ backend = S3Backend(cfg)
3391
3392
  rid, key = backend.ingest(path, resource_id=resource_id)
3392
3393
  return {"id": rid, "object_key": key, "s3_uri": f"s3://{cfg.bucket}/{key}"}
3393
3394
 
3394
3395
 
3395
- def presign_minio_resource(object_key: str, *, config: Any = None,
3396
- expires_seconds: int = 3600) -> Dict[str, Any]:
3397
- """Presign a shared-MinIO ``object_key`` (as returned by
3398
- :func:`ingest_minio_resource`) into a short-lived fetchable
3396
+ def presign_s3_resource(object_key: str, *, config: Any = None,
3397
+ expires_seconds: int = 3600) -> Dict[str, Any]:
3398
+ """Presign a shared-S3 ``object_key`` (as returned by
3399
+ :func:`ingest_s3_resource`) into a short-lived fetchable
3399
3400
  ``{object_key, http_url}``. Stateless (presign by key, no manifest). Connection
3400
3401
  from the ``S3_*`` env by default. Raises :class:`MissingDependency` without the
3401
- ``minio`` SDK."""
3402
- from .resources import MinioBackend, MinioConfig
3403
- cfg = config or MinioConfig.from_env()
3404
- loc = MinioBackend(cfg).presign_key(object_key, expires_seconds=expires_seconds)
3402
+ ``boto3`` SDK."""
3403
+ from .resources import S3Backend, S3Config
3404
+ cfg = config or S3Config.from_env()
3405
+ loc = S3Backend(cfg).presign_key(object_key, expires_seconds=expires_seconds)
3405
3406
  return {"object_key": object_key, "http_url": loc.value}
3406
3407
 
3407
3408
 
@@ -15,7 +15,7 @@ R0 establishes the SEAM only:
15
15
  * A pluggable **backend registry** (:class:`ResolverRegistry`) with ONE
16
16
  default backend, :class:`PassthroughBackend`, which resolves a resource to
17
17
  its stored locator (the ResourceNode ``url``) — so existing graphs resolve
18
- unchanged. Real storage backends (R1 FS-index, R2 MinIO) plug in later by
18
+ unchanged. Real storage backends (R1 FS-index, R2 S3) plug in later by
19
19
  registering ahead of the passthrough fallback.
20
20
 
21
21
  No web framework, no network, no hardcoded EM vocab lists here. See
@@ -41,10 +41,10 @@ from .fs_backend import (
41
41
  classify_resource_type,
42
42
  em_id_of,
43
43
  )
44
- from .minio_backend import (
45
- MinioBackend,
46
- MinioConfig,
47
- MinioEntry,
44
+ from .s3_backend import (
45
+ S3Backend,
46
+ S3Config,
47
+ S3Entry,
48
48
  )
49
49
 
50
50
  __all__ = [
@@ -64,8 +64,8 @@ __all__ = [
64
64
  "classify_resource_type",
65
65
  "DOSCO_NODE_TYPES",
66
66
  "em_id_of",
67
- # R2 — MinIO / S3 backend (optional 'minio' extra)
68
- "MinioBackend",
69
- "MinioConfig",
70
- "MinioEntry",
67
+ # R2 — S3 backend (optional 's3' extra: boto3)
68
+ "S3Backend",
69
+ "S3Config",
70
+ "S3Entry",
71
71
  ]
@@ -2,7 +2,7 @@
2
2
  la risorsa e la selezione*, «Più risorse per un documento»).
3
3
 
4
4
  * **The same bytes — the same digest — are ONE resource with several
5
- addresses**: the same PDF on the disk, on MinIO, on Zenodo. It is redundancy:
5
+ addresses**: the same PDF on the disk, in the S3 store, on Zenodo. It is redundancy:
6
6
  if an address dies, the resource stays.
7
7
  * **Different manifestations** (the scan and the online transcription, two
8
8
  editions) are sister ResourceNodes, each with its digest — as before.
@@ -1,6 +1,6 @@
1
1
  """The object store the Resource layer keeps its bucket in — any S3-compatible one.
2
2
 
3
- MinIO today, tomorrow another (Ceph, Garage, SeaweedFS, AWS S3, a cloud
3
+ RustFS today, tomorrow another (Ceph, Garage, SeaweedFS, AWS S3, a cloud
4
4
  provider's): what the rest of s3Dgraphy needs from a bucket is five small things,
5
5
  and nothing here names a vendor.
6
6
 
@@ -12,9 +12,10 @@ and nothing here names a vendor.
12
12
  multipart upload, not of the file);
13
13
  * ``put(path, key)`` and ``delete(key)``.
14
14
 
15
- :class:`S3Store` implements them over the S3 API through the ``minio`` SDK —
16
- which speaks to any S3-compatible endpoint, not only to MinIO. A store that
17
- needs another client (boto3, a provider's SDK) is one more class with the same
15
+ :class:`S3Store` implements them over the S3 API through ``boto3`` — plain S3
16
+ operations (HeadBucket, CreateBucket, HeadObject, GetObject, PutObject,
17
+ DeleteObject), path-style, which any S3-compatible endpoint speaks. A store that
18
+ needs another client (a provider's SDK) is one more class with the same
18
19
  five methods, registered with :func:`register_store`; the connection is read
19
20
  from the ``S3_*`` environment (the SAME variables Heriverse-Server uses), and
20
21
  ``EM_OBJECT_STORE`` names which implementation opens it (default ``s3``).
@@ -29,10 +30,7 @@ import hashlib
29
30
  import os
30
31
  from typing import Any, Callable, Dict, Optional
31
32
 
32
- from .minio_backend import MinioConfig
33
-
34
- #: the errors an S3 server answers for «no such object»
35
- _ABSENT = {"NoSuchKey", "NoSuchObject", "NotFound", "404"}
33
+ from .s3_backend import S3Config, ensure_bucket, is_not_found, make_client
36
34
 
37
35
 
38
36
  class StoreError(RuntimeError):
@@ -56,7 +54,7 @@ class ObjectStore:
56
54
 
57
55
  def key_for(self, resource_id: str, filename: str) -> str:
58
56
  """The key a resource's file is kept under: ``<prefix>/<id>/<filename>``
59
- (the same layout ``MinioBackend.ingest`` writes and Heriverse reads)."""
57
+ (the same layout ``S3Backend.ingest`` writes and Heriverse reads)."""
60
58
  raise NotImplementedError
61
59
 
62
60
  def stat(self, key: str) -> Optional[Dict[str, Any]]:
@@ -75,27 +73,24 @@ class ObjectStore:
75
73
 
76
74
 
77
75
  class S3Store(ObjectStore):
78
- """Any S3-compatible endpoint, through the ``minio`` SDK (or an injected
79
- client with the same ``stat_object`` / ``get_object`` / ``fput_object`` /
80
- ``remove_object`` / ``bucket_exists`` / ``make_bucket`` methods)."""
76
+ """Any S3-compatible endpoint, through a ``boto3`` S3 client (or an injected
77
+ client with the same ``head_object`` / ``get_object`` / ``upload_file`` /
78
+ ``delete_object`` / ``head_bucket`` / ``create_bucket`` methods)."""
81
79
 
82
80
  name = "s3"
83
81
 
84
- def __init__(self, config: Optional[MinioConfig] = None, client: Any = None):
85
- self.config = config or MinioConfig.from_env()
82
+ def __init__(self, config: Optional[S3Config] = None, client: Any = None):
83
+ self.config = config or S3Config.from_env()
86
84
  self._client = client
87
85
 
88
86
  def _get_client(self):
89
87
  if self._client is None:
90
88
  try:
91
- from minio import Minio # type: ignore
89
+ self._client = make_client(self.config)
92
90
  except ImportError as exc:
93
91
  raise StoreUnavailable(
94
- "the object store needs the 'minio' SDK (it speaks to any "
95
- f"S3-compatible server): pip install minio ({exc})") from exc
96
- c = self.config
97
- self._client = Minio(c.endpoint, access_key=c.access_key,
98
- secret_key=c.secret_key, secure=c.secure, region=c.region)
92
+ "the object store needs the 'boto3' SDK (it speaks to any "
93
+ f"S3-compatible server): pip install s3dgraphy[s3] ({exc})") from exc
99
94
  return self._client
100
95
 
101
96
  def locator(self, key: str) -> str:
@@ -111,61 +106,56 @@ class S3Store(ObjectStore):
111
106
 
112
107
  def stat(self, key: str) -> Optional[Dict[str, Any]]:
113
108
  try:
114
- obj = self._get_client().stat_object(self.config.bucket, key)
109
+ head = self._get_client().head_object(Bucket=self.config.bucket, Key=key)
115
110
  except StoreError:
116
111
  raise
117
- except Exception as exc: # noqa: BLE001 — the SDK's own error classes
118
- if str(getattr(exc, "code", "")) in _ABSENT:
112
+ except Exception as exc: # noqa: BLE001 — botocore's ClientError & co.
113
+ if is_not_found(exc):
119
114
  return None
120
115
  raise StoreError(f"{self.locator(key)}: {exc}") from exc
121
- return {"size": int(getattr(obj, "size", 0) or 0),
122
- "etag": str(getattr(obj, "etag", "") or "").strip('"')}
116
+ return {"size": int(head.get("ContentLength") or 0),
117
+ "etag": str(head.get("ETag") or "").strip('"')}
123
118
 
124
119
  def sha256(self, key: str) -> str:
125
120
  client = self._get_client()
126
121
  try:
127
- resp = client.get_object(self.config.bucket, key)
122
+ body = client.get_object(Bucket=self.config.bucket, Key=key)["Body"]
128
123
  except Exception as exc: # noqa: BLE001
129
124
  raise StoreError(f"{self.locator(key)}: {exc}") from exc
130
125
  h = hashlib.sha256()
131
126
  try:
132
- for chunk in resp.stream(1 << 20):
127
+ for chunk in iter(lambda: body.read(1 << 20), b""):
133
128
  h.update(chunk)
134
129
  finally:
135
- for closer in ("close", "release_conn"):
136
- fn = getattr(resp, closer, None)
137
- if fn:
138
- fn()
130
+ body.close() # a stream left open is a connection the pool loses
139
131
  return h.hexdigest()
140
132
 
141
133
  def put(self, path: str, key: str) -> None:
142
134
  client = self._get_client()
143
135
  try:
144
- if not client.bucket_exists(self.config.bucket):
145
- client.make_bucket(self.config.bucket)
146
- client.fput_object(self.config.bucket, key, path)
136
+ ensure_bucket(client, self.config.bucket)
137
+ client.upload_file(path, self.config.bucket, key)
147
138
  except Exception as exc: # noqa: BLE001
148
139
  raise StoreError(f"{self.locator(key)}: {exc}") from exc
149
140
 
150
141
  def delete(self, key: str) -> None:
151
142
  try:
152
- self._get_client().remove_object(self.config.bucket, key)
143
+ self._get_client().delete_object(Bucket=self.config.bucket, Key=key)
153
144
  except Exception as exc: # noqa: BLE001
154
145
  raise StoreError(f"{self.locator(key)}: {exc}") from exc
155
146
 
156
147
 
157
- _FACTORIES: Dict[str, Callable[[Optional[MinioConfig]], ObjectStore]] = {
148
+ _FACTORIES: Dict[str, Callable[[Optional[S3Config]], ObjectStore]] = {
158
149
  "s3": lambda cfg: S3Store(cfg),
159
- "minio": lambda cfg: S3Store(cfg), # the name it had
160
150
  }
161
151
 
162
152
 
163
- def register_store(name: str, factory: Callable[[Optional[MinioConfig]], ObjectStore]) -> None:
153
+ def register_store(name: str, factory: Callable[[Optional[S3Config]], ObjectStore]) -> None:
164
154
  """Plug in another implementation: ``factory(config) -> ObjectStore``."""
165
155
  _FACTORIES[str(name).lower()] = factory
166
156
 
167
157
 
168
- def open_store(name: Optional[str] = None, config: Optional[MinioConfig] = None) -> ObjectStore:
158
+ def open_store(name: Optional[str] = None, config: Optional[S3Config] = None) -> ObjectStore:
169
159
  """The store the environment names (``EM_OBJECT_STORE``, default ``s3``),
170
160
  connected as the ``S3_*`` variables say."""
171
161
  chosen = str(name or os.environ.get("EM_OBJECT_STORE") or "s3").lower()
@@ -4,7 +4,7 @@ Pure Python, no web framework, no network. The resolver maps a **stable
4
4
  resource ID** to a concrete :class:`Location`. Storage backends are pluggable
5
5
  via :class:`ResolverRegistry`; R0 ships exactly one — :class:`PassthroughBackend`
6
6
  — which classifies a resource's *current locator* (a ResourceNode ``url``) into a
7
- Location without touching bytes. R1 (FS-index) and R2 (MinIO) will register
7
+ Location without touching bytes. R1 (FS-index) and R2 (S3) will register
8
8
  richer backends ahead of the passthrough fallback.
9
9
  """
10
10