pyarchinit-mini 2.1.0__tar.gz → 2.1.2__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 (315) hide show
  1. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/CHANGELOG.md +14 -0
  2. {pyarchinit_mini-2.1.0/pyarchinit_mini.egg-info → pyarchinit_mini-2.1.2}/PKG-INFO +1 -1
  3. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/__init__.py +1 -1
  4. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/database/migrations.py +2 -1
  5. pyarchinit_mini-2.1.2/pyarchinit_mini/mcp_server/tools/create_database_tool.py +130 -0
  6. pyarchinit_mini-2.1.2/pyarchinit_mini/mcp_server/tools/create_harris_matrix_tool.py +170 -0
  7. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2/pyarchinit_mini.egg-info}/PKG-INFO +1 -1
  8. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini.egg-info/SOURCES.txt +2 -0
  9. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyproject.toml +1 -1
  10. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/MANIFEST.in +0 -0
  11. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/README.md +0 -0
  12. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/babel.cfg +0 -0
  13. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/data/pyarchinit_mini_sample.db +0 -0
  14. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/data/pyarchinit_tutorial.db +0 -0
  15. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/logo/logo_pyarchinit-mini.png +0 -0
  16. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/api/__init__.py +0 -0
  17. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/api/auth.py +0 -0
  18. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/api/dependencies.py +0 -0
  19. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/api/graphml.py +0 -0
  20. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/api/inventario.py +0 -0
  21. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/api/schemas.py +0 -0
  22. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/api/site.py +0 -0
  23. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/api/sync.py +0 -0
  24. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/api/us.py +0 -0
  25. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/cli/__init__.py +0 -0
  26. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/cli/export_import_cli.py +0 -0
  27. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/cli/extended_matrix_import.py +0 -0
  28. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/cli/graphml_cli.py +0 -0
  29. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/cli/harris_import.py +0 -0
  30. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/cli/harris_template.py +0 -0
  31. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/cli/migrate.py +0 -0
  32. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/cli/pyarchinit_import_export_cli.py +0 -0
  33. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/cli/sync_cli.py +0 -0
  34. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/cli_interface/__init__.py +0 -0
  35. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/cli_interface/cli_app.py +0 -0
  36. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/config/__init__.py +0 -0
  37. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/config/connection_manager.py +0 -0
  38. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/config/em_node_config_manager.py +0 -0
  39. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/config/em_node_types.yaml +0 -0
  40. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/database/__init__.py +0 -0
  41. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/database/concurrency_manager.py +0 -0
  42. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/database/connection.py +0 -0
  43. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/database/database_creator.py +0 -0
  44. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/database/manager.py +0 -0
  45. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/database/migration_scripts/__init__.py +0 -0
  46. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/database/migration_scripts/add_file_path.py +0 -0
  47. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/database/migration_scripts/add_i18n_columns.py +0 -0
  48. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/database/migration_scripts/add_tipo_documento.py +0 -0
  49. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/database/migration_scripts/change_us_area_to_text.py +0 -0
  50. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/database/migration_scripts/change_us_area_to_text_simple.py +0 -0
  51. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/database/postgres_installer.py +0 -0
  52. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/database/schemas.py +0 -0
  53. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/desktop_gui/__init__.py +0 -0
  54. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/desktop_gui/analytics_dialog.py +0 -0
  55. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/desktop_gui/assets/logo.png +0 -0
  56. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/desktop_gui/dialogs.py +0 -0
  57. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/desktop_gui/excel_import_dialog.py +0 -0
  58. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/desktop_gui/export_import_dialog.py +0 -0
  59. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/desktop_gui/graphml_export_dialog.py +0 -0
  60. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/desktop_gui/gui_app.py +0 -0
  61. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/desktop_gui/harris_matrix_editor.py +0 -0
  62. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/desktop_gui/i18n.py +0 -0
  63. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/desktop_gui/icons.py +0 -0
  64. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/desktop_gui/inventario_dialog_extended.py +0 -0
  65. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/desktop_gui/main_window.py +0 -0
  66. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/desktop_gui/media_manager_advanced.py +0 -0
  67. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/desktop_gui/postgres_installer_dialog.py +0 -0
  68. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/desktop_gui/pyarchinit_import_export_dialog.py +0 -0
  69. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/desktop_gui/thesaurus_dialog.py +0 -0
  70. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/desktop_gui/us_dialog_extended.py +0 -0
  71. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/dto/__init__.py +0 -0
  72. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/dto/inventario_dto.py +0 -0
  73. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/dto/site_dto.py +0 -0
  74. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/dto/us_dto.py +0 -0
  75. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/exceptions.py +0 -0
  76. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/graphml_converter/__init__.py +0 -0
  77. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/graphml_converter/converter.py +0 -0
  78. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/graphml_converter/dot_parser.py +0 -0
  79. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/graphml_converter/em_palette.py +0 -0
  80. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/graphml_converter/graphml_builder.py +0 -0
  81. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/graphml_converter/graphml_exporter.py +0 -0
  82. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/graphml_converter/pure_networkx_exporter.py +0 -0
  83. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/graphml_converter/svg_resources.py +0 -0
  84. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/graphml_converter/templates/EM_palette.graphml +0 -0
  85. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/graphml_converter/x11_colors.py +0 -0
  86. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/graphml_converter/yed_template.py +0 -0
  87. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/harris_matrix/__init__.py +0 -0
  88. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/harris_matrix/enhanced_visualizer.py +0 -0
  89. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/harris_matrix/matrix_generator.py +0 -0
  90. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/harris_matrix/matrix_visualizer.py +0 -0
  91. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/harris_matrix/pyarchinit_visualizer.py +0 -0
  92. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/i18n/__init__.py +0 -0
  93. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/i18n/flask_babel_config.py +0 -0
  94. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/i18n/locale_manager.py +0 -0
  95. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/__init__.py +0 -0
  96. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/__main__.py +0 -0
  97. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/blender_client.py +0 -0
  98. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/config.py +0 -0
  99. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/event_stream.py +0 -0
  100. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/graphml_parser.py +0 -0
  101. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/http_server.py +0 -0
  102. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/period_filter.py +0 -0
  103. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/prompts/__init__.py +0 -0
  104. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/prompts/base_prompt.py +0 -0
  105. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/prompts/period_visualization_prompt.py +0 -0
  106. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/prompts/stratigraphic_model_prompt.py +0 -0
  107. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/prompts/us_description_prompt.py +0 -0
  108. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/proxy_generator.py +0 -0
  109. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/resources/__init__.py +0 -0
  110. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/resources/base_resource.py +0 -0
  111. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/resources/graphml_resource.py +0 -0
  112. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/resources/periods_resource.py +0 -0
  113. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/resources/relationships_resource.py +0 -0
  114. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/resources/sites_resource.py +0 -0
  115. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/resources/us_resource.py +0 -0
  116. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/server.py +0 -0
  117. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/__init__.py +0 -0
  118. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/base_tool.py +0 -0
  119. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/batch_insert_tool.py +0 -0
  120. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/build_3d_tool.py +0 -0
  121. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/chatgpt_fetch_tool.py +0 -0
  122. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/chatgpt_search_tool.py +0 -0
  123. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/configure_em_nodes_tool.py +0 -0
  124. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/data_import_parser_tool.py +0 -0
  125. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/data_management_tool.py +0 -0
  126. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/database_manager_tool.py +0 -0
  127. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/delete_data_tool.py +0 -0
  128. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/export_harris_matrix_graphml_tool.py +0 -0
  129. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/export_tool.py +0 -0
  130. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/filter_tool.py +0 -0
  131. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/generate_report_tool.py +0 -0
  132. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/get_schema_tool.py +0 -0
  133. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/import_excel_tool.py +0 -0
  134. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/insert_data_tool.py +0 -0
  135. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/manage_services_tool.py +0 -0
  136. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/material_tool.py +0 -0
  137. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/media_management_tool.py +0 -0
  138. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/position_tool.py +0 -0
  139. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/pyarchinit_sync_tool.py +0 -0
  140. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/resolve_conflicts_tool.py +0 -0
  141. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/service_management_tool.py +0 -0
  142. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/thesaurus_management_tool.py +0 -0
  143. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/update_data_tool.py +0 -0
  144. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/upload_file_tool.py +0 -0
  145. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/validate_relationship_format_tool.py +0 -0
  146. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/validate_relationship_integrity_tool.py +0 -0
  147. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/validate_stratigraphic_relationships_tool.py +0 -0
  148. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/mcp_server/tools/validate_stratigraphy_tool.py +0 -0
  149. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/media_manager/__init__.py +0 -0
  150. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/media_manager/media_handler.py +0 -0
  151. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/models/__init__.py +0 -0
  152. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/models/base.py +0 -0
  153. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/models/datazione.py +0 -0
  154. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/models/extended_matrix.py +0 -0
  155. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/models/harris_matrix.py +0 -0
  156. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/models/inventario_materiali.py +0 -0
  157. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/models/media.py +0 -0
  158. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/models/site.py +0 -0
  159. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/models/thesaurus.py +0 -0
  160. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/models/us.py +0 -0
  161. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/models/user.py +0 -0
  162. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/pdf_export/__init__.py +0 -0
  163. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/pdf_export/pdf_generator.py +0 -0
  164. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/pdf_export/pdf_generator_backup.py +0 -0
  165. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/pdf_export/pyarchinit_finds_template.py +0 -0
  166. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/pdf_export/pyarchinit_inventory_template.py +0 -0
  167. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/pdf_export/usm_implementation.py +0 -0
  168. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/s3d_integration/__init__.py +0 -0
  169. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/s3d_integration/model_manager.py +0 -0
  170. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/s3d_integration/s3d_converter.py +0 -0
  171. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/scripts/__init__.py +0 -0
  172. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/scripts/auto_translate.py +0 -0
  173. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/scripts/configure_claude_desktop.py +0 -0
  174. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/scripts/create_admin_user.py +0 -0
  175. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/scripts/generate_test_3d_model.py +0 -0
  176. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/scripts/load_italian_as_main.py +0 -0
  177. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/scripts/load_sample_as_main.py +0 -0
  178. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/scripts/migrate_relationships.py +0 -0
  179. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/scripts/populate_sample_data.py +0 -0
  180. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/scripts/populate_simple_data.py +0 -0
  181. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/scripts/setup_auth.py +0 -0
  182. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/scripts/setup_user_env.py +0 -0
  183. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/scripts/test_cascade_delete.py +0 -0
  184. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/scripts/test_relationship_fix.py +0 -0
  185. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/scripts/update_sample_relationships.py +0 -0
  186. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/scripts/update_urls_and_versions.py +0 -0
  187. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/scripts/verify_docs.py +0 -0
  188. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/services/__init__.py +0 -0
  189. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/services/analytics_service.py +0 -0
  190. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/services/command_parser.py +0 -0
  191. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/services/datazione_service.py +0 -0
  192. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/services/export_import_service.py +0 -0
  193. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/services/extended_matrix_excel_parser.py +0 -0
  194. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/services/import_export_service.py +0 -0
  195. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/services/inventario_service.py +0 -0
  196. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/services/mcp_executor.py +0 -0
  197. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/services/media_service.py +0 -0
  198. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/services/periodizzazione_service.py +0 -0
  199. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/services/relationship_sync_service.py +0 -0
  200. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/services/site_service.py +0 -0
  201. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/services/thesaurus_service.py +0 -0
  202. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/services/us_service.py +0 -0
  203. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/services/user_service.py +0 -0
  204. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/stratigraph/__init__.py +0 -0
  205. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/stratigraph/bundle_creator.py +0 -0
  206. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/stratigraph/bundle_manifest.py +0 -0
  207. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/stratigraph/bundle_validator.py +0 -0
  208. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/stratigraph/connectivity_monitor.py +0 -0
  209. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/stratigraph/sync_orchestrator.py +0 -0
  210. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/stratigraph/sync_queue.py +0 -0
  211. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/stratigraph/sync_state_machine.py +0 -0
  212. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/stratigraph/uuid_manager.py +0 -0
  213. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/translations/en/LC_MESSAGES/messages.po +0 -0
  214. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/translations/it/LC_MESSAGES/messages.po +0 -0
  215. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/utils/__init__.py +0 -0
  216. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/utils/auth.py +0 -0
  217. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/utils/exceptions.py +0 -0
  218. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/utils/relationship_validator.py +0 -0
  219. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/utils/stratigraphic_validator.py +0 -0
  220. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/utils/validators.py +0 -0
  221. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/app.py +0 -0
  222. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/auth_routes.py +0 -0
  223. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/em_node_config_routes.py +0 -0
  224. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/excel_import_routes.py +0 -0
  225. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/harris_creator_routes.py +0 -0
  226. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/pyarchinit_import_export_routes.py +0 -0
  227. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/s3d_routes.py +0 -0
  228. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/socketio_events.py +0 -0
  229. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/static/css/style.css +0 -0
  230. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/static/images/favicon.ico +0 -0
  231. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/static/images/logo.png +0 -0
  232. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/static/images/pyarchinit-mini-logo.png +0 -0
  233. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/static/js/OrbitControls.js +0 -0
  234. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/static/js/harris_creator_editor.js +0 -0
  235. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/static/js/stratigraphic_layout.js +0 -0
  236. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/static/js/three-d-viewer.js +0 -0
  237. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/static/js/three.min.js +0 -0
  238. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/static/uploads/3d_models/Sito Archeologico di Esempio/site/stratigraphy_test.bin +0 -0
  239. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/static/uploads/3d_models/Sito Archeologico di Esempio/site/stratigraphy_test.gltf +0 -0
  240. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/static/uploads/3d_models/Sito Archeologico di Esempio/site/stratigraphy_test.mtl +0 -0
  241. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/static/uploads/3d_models/Sito Archeologico di Esempio/site/stratigraphy_test.obj +0 -0
  242. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/3d_builder/index.html +0 -0
  243. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/3d_viewer/viewer.html +0 -0
  244. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/admin/database.html +0 -0
  245. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/admin/database_connect.html +0 -0
  246. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/admin/database_info.html +0 -0
  247. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/admin/database_upload.html +0 -0
  248. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/analytics/dashboard.html +0 -0
  249. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/auth/login.html +0 -0
  250. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/auth/users.html +0 -0
  251. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/base.html +0 -0
  252. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/blender_viewer.html +0 -0
  253. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/components/language_switcher.html +0 -0
  254. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/dashboard.html +0 -0
  255. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/datazioni/list.html +0 -0
  256. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/em_node_config/index.html +0 -0
  257. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/excel_import/index.html +0 -0
  258. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/export/export_import.html +0 -0
  259. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/harris_creator/editor.html +0 -0
  260. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/harris_creator/index.html +0 -0
  261. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/harris_matrix/graphml_export.html +0 -0
  262. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/harris_matrix/large_graph_message.html +0 -0
  263. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/harris_matrix/stratigraph_viewer.html +0 -0
  264. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/harris_matrix/view.html +0 -0
  265. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/harris_matrix/view_graphviz.html +0 -0
  266. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/harris_matrix/viewer_3d_integrated.html +0 -0
  267. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/inventario/form.html +0 -0
  268. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/inventario/list.html +0 -0
  269. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/media/list.html +0 -0
  270. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/media/upload.html +0 -0
  271. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/periodizzazione/form.html +0 -0
  272. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/periodizzazione/list.html +0 -0
  273. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/periodizzazione/periods.html +0 -0
  274. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/pyarchinit_import_export/index.html +0 -0
  275. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/sites/detail.html +0 -0
  276. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/sites/form.html +0 -0
  277. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/sites/list.html +0 -0
  278. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/thesaurus/list.html +0 -0
  279. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/us/form.html +0 -0
  280. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/us/list.html +0 -0
  281. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/templates/validation/report.html +0 -0
  282. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/test_prova_extended_matrix.graphml +0 -0
  283. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/three_d_builder_routes.py +0 -0
  284. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/uploads/graphml/Sito Archeologico di Esempio_stratigraphy.graphml +0 -0
  285. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/uploads/graphml/Sito Archeologico di Esempio_stratigraphy.json +0 -0
  286. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/web_interface/static/uploads/graphml/Scavo archeologico_heriverse.json +0 -0
  287. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/web_interface/static/uploads/graphml/Scavo archeologico_stratigraphy.graphml +0 -0
  288. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/web_interface/static/uploads/graphml/Scavo archeologico_stratigraphy.json +0 -0
  289. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini/web_interface/web_interface/static/uploads/graphml/Sito Archeologico di Esempio_stratigraphy.json +0 -0
  290. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini.egg-info/dependency_links.txt +0 -0
  291. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini.egg-info/entry_points.txt +0 -0
  292. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini.egg-info/not-zip-safe +0 -0
  293. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini.egg-info/requires.txt +0 -0
  294. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/pyarchinit_mini.egg-info/top_level.txt +0 -0
  295. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/requirements.txt +0 -0
  296. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/setup.cfg +0 -0
  297. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/setup.py +0 -0
  298. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/tests/__init__.py +0 -0
  299. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/tests/conftest.py +0 -0
  300. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/tests/integration/__init__.py +0 -0
  301. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/tests/integration/test_full_sync_flow.py +0 -0
  302. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/tests/unit/test_bundle.py +0 -0
  303. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/tests/unit/test_concurrency_columns.py +0 -0
  304. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/tests/unit/test_concurrency_manager.py +0 -0
  305. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/tests/unit/test_connectivity_monitor.py +0 -0
  306. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/tests/unit/test_inventario_schema.py +0 -0
  307. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/tests/unit/test_optimistic_locking.py +0 -0
  308. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/tests/unit/test_site_service.py +0 -0
  309. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/tests/unit/test_sync_api.py +0 -0
  310. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/tests/unit/test_sync_cli.py +0 -0
  311. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/tests/unit/test_sync_orchestrator.py +0 -0
  312. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/tests/unit/test_sync_queue.py +0 -0
  313. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/tests/unit/test_sync_state_machine.py +0 -0
  314. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/tests/unit/test_us_schema.py +0 -0
  315. {pyarchinit_mini-2.1.0 → pyarchinit_mini-2.1.2}/tests/unit/test_uuid_manager.py +0 -0
@@ -1,3 +1,17 @@
1
+ ## [2.1.2] - 2026-02-24
2
+
3
+ ### Fixed
4
+ - `us_relationships_table` missing from concurrency columns migration: caused
5
+ `OperationalError: no such column: entity_uuid` when opening Harris Matrix editor
6
+ on existing databases. Migration now auto-runs on startup.
7
+
8
+ ## [2.1.1] - 2026-02-24
9
+
10
+ ### Fixed
11
+ - Added missing MCP server tool files: `create_harris_matrix_tool.py` and `create_database_tool.py`
12
+ that caused `ModuleNotFoundError` on startup (pre-existing bug, never committed to repo)
13
+ - `pyarchinit-mini-web` now starts correctly without ImportError from mcp_server
14
+
1
15
  ## [2.1.0] - 2026-02-24
2
16
 
3
17
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyarchinit-mini
3
- Version: 2.1.0
3
+ Version: 2.1.2
4
4
  Summary: Lightweight archaeological data management system with REST API, Web UI, Desktop GUI, CLI, multi-user authentication, real-time collaboration, analytics dashboard, PyArchInit import/export, Heriverse/ATON export integration, and 3D CRUD viewer
5
5
  Home-page: https://github.com/enzococca/pyarchinit-mini
6
6
  Author: PyArchInit Team
@@ -23,7 +23,7 @@ Features:
23
23
  - Scalable and modular architecture
24
24
  """
25
25
 
26
- __version__ = "2.1.0"
26
+ __version__ = "2.1.2"
27
27
  __author__ = "PyArchInit Team"
28
28
  __email__ = "enzo.ccc@gmail.com"
29
29
 
@@ -173,7 +173,8 @@ class DatabaseMigrations:
173
173
  migrations_applied = 0
174
174
 
175
175
  tables = [
176
- 'site_table', 'us_table', 'inventario_materiali_table',
176
+ 'site_table', 'us_table', 'us_relationships_table',
177
+ 'inventario_materiali_table',
177
178
  'periodizzazione_table', 'media_table', 'media_thumb_table',
178
179
  'documentation_table', 'users',
179
180
  ]
@@ -0,0 +1,130 @@
1
+ """
2
+ Create Database Tool
3
+
4
+ Creates a new empty PyArchInit-Mini database (SQLite or PostgreSQL) with the full schema.
5
+ """
6
+
7
+ import logging
8
+ import os
9
+ from typing import Dict, Any
10
+ from .base_tool import BaseTool, ToolDescription
11
+
12
+ logger = logging.getLogger(__name__)
13
+
14
+
15
+ class CreateDatabaseTool(BaseTool):
16
+ """Create a new PyArchInit-Mini database with full schema"""
17
+
18
+ def to_tool_description(self) -> ToolDescription:
19
+ return ToolDescription(
20
+ name="create_database",
21
+ description=(
22
+ "Create a new empty PyArchInit-Mini database with the complete schema. "
23
+ "Supports SQLite (file-based) and PostgreSQL. "
24
+ "Use this to initialize a fresh database for a new project."
25
+ ),
26
+ input_schema={
27
+ "type": "object",
28
+ "properties": {
29
+ "db_type": {
30
+ "type": "string",
31
+ "enum": ["sqlite", "postgresql"],
32
+ "description": "Database type to create",
33
+ "default": "sqlite"
34
+ },
35
+ "db_path": {
36
+ "type": "string",
37
+ "description": "Path for SQLite database file (e.g. /home/user/myproject.db). Required for sqlite."
38
+ },
39
+ "pg_host": {
40
+ "type": "string",
41
+ "description": "PostgreSQL host (default: localhost)",
42
+ "default": "localhost"
43
+ },
44
+ "pg_port": {
45
+ "type": "string",
46
+ "description": "PostgreSQL port (default: 5432)",
47
+ "default": "5432"
48
+ },
49
+ "pg_database": {
50
+ "type": "string",
51
+ "description": "PostgreSQL database name"
52
+ },
53
+ "pg_user": {
54
+ "type": "string",
55
+ "description": "PostgreSQL username"
56
+ },
57
+ "pg_password": {
58
+ "type": "string",
59
+ "description": "PostgreSQL password"
60
+ },
61
+ "overwrite": {
62
+ "type": "boolean",
63
+ "description": "If true, overwrite existing database (default: false)",
64
+ "default": False
65
+ }
66
+ },
67
+ "required": ["db_type"]
68
+ }
69
+ )
70
+
71
+ async def execute(self, arguments: Dict[str, Any]) -> Dict[str, Any]:
72
+ try:
73
+ db_type = arguments.get("db_type", "sqlite")
74
+ overwrite = arguments.get("overwrite", False)
75
+
76
+ from pyarchinit_mini.database.database_creator import create_empty_database
77
+
78
+ if db_type == "sqlite":
79
+ db_path = arguments.get("db_path")
80
+ if not db_path:
81
+ return self._format_error("db_path is required for SQLite databases")
82
+
83
+ db_path = os.path.abspath(os.path.expanduser(db_path))
84
+
85
+ if os.path.exists(db_path) and not overwrite:
86
+ return self._format_error(
87
+ f"Database already exists at {db_path}. Set overwrite=true to replace it."
88
+ )
89
+
90
+ logger.info(f"Creating SQLite database at {db_path}")
91
+ result = create_empty_database("sqlite", db_path, overwrite=overwrite)
92
+
93
+ elif db_type == "postgresql":
94
+ host = arguments.get("pg_host", "localhost")
95
+ port = arguments.get("pg_port", "5432")
96
+ database = arguments.get("pg_database")
97
+ user = arguments.get("pg_user")
98
+ password = arguments.get("pg_password", "")
99
+
100
+ if not all([database, user]):
101
+ return self._format_error("pg_database and pg_user are required for PostgreSQL")
102
+
103
+ config = {
104
+ "host": host,
105
+ "port": int(port),
106
+ "database": database,
107
+ "username": user,
108
+ "password": password
109
+ }
110
+
111
+ logger.info(f"Creating PostgreSQL database {database} on {host}:{port}")
112
+ result = create_empty_database("postgresql", config, overwrite=overwrite)
113
+
114
+ else:
115
+ return self._format_error(f"Unsupported db_type: {db_type}. Use 'sqlite' or 'postgresql'.")
116
+
117
+ return self._format_success(
118
+ result={
119
+ "db_type": result.get("db_type"),
120
+ "tables_created": result.get("tables_created"),
121
+ "message": result.get("message")
122
+ },
123
+ message=result.get("message", "Database created successfully")
124
+ )
125
+
126
+ except FileExistsError:
127
+ return self._format_error("Database already exists. Set overwrite=true to replace it.")
128
+ except Exception as e:
129
+ logger.error(f"CreateDatabaseTool error: {str(e)}", exc_info=True)
130
+ return self._format_error(f"Failed to create database: {str(e)}")
@@ -0,0 +1,170 @@
1
+ """
2
+ Create Harris Matrix Tool
3
+
4
+ Creates or updates a Harris Matrix for a site from provided stratigraphic relationships.
5
+ """
6
+
7
+ import logging
8
+ from typing import Dict, Any, List, Optional
9
+ from .base_tool import BaseTool, ToolDescription
10
+
11
+ logger = logging.getLogger(__name__)
12
+
13
+
14
+ class CreateHarrisMatrixTool(BaseTool):
15
+ """Create or update Harris Matrix relationships for a site"""
16
+
17
+ def __init__(self, db_session, config):
18
+ super().__init__(db_session, config)
19
+ from pyarchinit_mini.database.manager import DatabaseManager
20
+ from pyarchinit_mini.database.connection import DatabaseConnection
21
+ from pyarchinit_mini.services.us_service import USService
22
+ import os
23
+ db_url = getattr(config, 'database_url', None) or os.getenv('DATABASE_URL', 'sqlite:///pyarchinit_mini.db')
24
+ connection = DatabaseConnection.from_url(db_url)
25
+ self.db_manager = DatabaseManager(connection)
26
+ self.us_service = USService(self.db_manager)
27
+
28
+ def to_tool_description(self) -> ToolDescription:
29
+ return ToolDescription(
30
+ name="create_harris_matrix",
31
+ description=(
32
+ "Create or update Harris Matrix stratigraphic relationships for a site. "
33
+ "Accepts a list of relationships between stratigraphic units (US) and stores them "
34
+ "in the database. Supports all standard Harris Matrix relationship types: "
35
+ "copre/è coperto da, taglia/è tagliato da, si appoggia a/è appoggiato da, "
36
+ "uguale a, si lega a, viene prima di/viene dopo."
37
+ ),
38
+ input_schema={
39
+ "type": "object",
40
+ "properties": {
41
+ "site_name": {
42
+ "type": "string",
43
+ "description": "Name of the archaeological site"
44
+ },
45
+ "relationships": {
46
+ "type": "array",
47
+ "description": "List of stratigraphic relationships to create",
48
+ "items": {
49
+ "type": "object",
50
+ "properties": {
51
+ "us_from": {
52
+ "type": ["string", "integer"],
53
+ "description": "Source US number"
54
+ },
55
+ "us_to": {
56
+ "type": ["string", "integer"],
57
+ "description": "Target US number"
58
+ },
59
+ "relationship_type": {
60
+ "type": "string",
61
+ "description": "Type of relationship (e.g. 'copre', 'taglia', 'uguale a', 'si lega a')"
62
+ }
63
+ },
64
+ "required": ["us_from", "us_to", "relationship_type"]
65
+ }
66
+ },
67
+ "overwrite": {
68
+ "type": "boolean",
69
+ "description": "If true, delete existing relationships for the site before inserting (default: false)",
70
+ "default": False
71
+ }
72
+ },
73
+ "required": ["site_name", "relationships"]
74
+ }
75
+ )
76
+
77
+ async def execute(self, arguments: Dict[str, Any]) -> Dict[str, Any]:
78
+ try:
79
+ site_name = arguments.get("site_name")
80
+ relationships = arguments.get("relationships", [])
81
+ overwrite = arguments.get("overwrite", False)
82
+
83
+ if not site_name:
84
+ return self._format_error("site_name is required")
85
+ if not relationships:
86
+ return self._format_error("relationships list is required and cannot be empty")
87
+
88
+ session = self.db_manager.get_session()
89
+ created = 0
90
+ skipped = 0
91
+ errors = []
92
+
93
+ try:
94
+ from sqlalchemy import text
95
+
96
+ if overwrite:
97
+ session.execute(
98
+ text("DELETE FROM us_relationships_table WHERE sito = :sito"),
99
+ {"sito": site_name}
100
+ )
101
+ session.commit()
102
+ logger.info(f"Deleted existing relationships for site {site_name}")
103
+
104
+ for rel in relationships:
105
+ try:
106
+ us_from = str(rel["us_from"])
107
+ us_to = str(rel["us_to"])
108
+ rel_type = rel["relationship_type"]
109
+
110
+ # Check if relationship already exists
111
+ existing = session.execute(
112
+ text("""SELECT id_relationship FROM us_relationships_table
113
+ WHERE sito = :sito AND us_from = :us_from
114
+ AND us_to = :us_to AND relationship_type = :rel_type"""),
115
+ {"sito": site_name, "us_from": us_from,
116
+ "us_to": us_to, "rel_type": rel_type}
117
+ ).fetchone()
118
+
119
+ if existing:
120
+ skipped += 1
121
+ continue
122
+
123
+ from datetime import datetime
124
+ import uuid
125
+ session.execute(
126
+ text("""INSERT INTO us_relationships_table
127
+ (sito, us_from, us_to, relationship_type,
128
+ created_at, updated_at, version_number, sync_status, entity_uuid)
129
+ VALUES (:sito, :us_from, :us_to, :rel_type,
130
+ :created_at, :updated_at, 1, 'new', :uuid)"""),
131
+ {
132
+ "sito": site_name,
133
+ "us_from": us_from,
134
+ "us_to": us_to,
135
+ "rel_type": rel_type,
136
+ "created_at": datetime.now(),
137
+ "updated_at": datetime.now(),
138
+ "uuid": str(uuid.uuid4())
139
+ }
140
+ )
141
+ created += 1
142
+
143
+ except Exception as e:
144
+ errors.append(f"Rel {rel.get('us_from')}→{rel.get('us_to')}: {str(e)}")
145
+
146
+ session.commit()
147
+
148
+ finally:
149
+ session.close()
150
+
151
+ result = {
152
+ "site_name": site_name,
153
+ "created": created,
154
+ "skipped": skipped,
155
+ "errors": errors
156
+ }
157
+
158
+ if errors:
159
+ return self._format_success(
160
+ result=result,
161
+ message=f"Created {created} relationships ({skipped} skipped, {len(errors)} errors)"
162
+ )
163
+ return self._format_success(
164
+ result=result,
165
+ message=f"Successfully created {created} relationships for site '{site_name}' ({skipped} already existed)"
166
+ )
167
+
168
+ except Exception as e:
169
+ logger.error(f"CreateHarrisMatrixTool error: {str(e)}", exc_info=True)
170
+ return self._format_error(f"Failed to create Harris Matrix: {str(e)}")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyarchinit-mini
3
- Version: 2.1.0
3
+ Version: 2.1.2
4
4
  Summary: Lightweight archaeological data management system with REST API, Web UI, Desktop GUI, CLI, multi-user authentication, real-time collaboration, analytics dashboard, PyArchInit import/export, Heriverse/ATON export integration, and 3D CRUD viewer
5
5
  Home-page: https://github.com/enzococca/pyarchinit-mini
6
6
  Author: PyArchInit Team
@@ -125,6 +125,8 @@ pyarchinit_mini/mcp_server/tools/build_3d_tool.py
125
125
  pyarchinit_mini/mcp_server/tools/chatgpt_fetch_tool.py
126
126
  pyarchinit_mini/mcp_server/tools/chatgpt_search_tool.py
127
127
  pyarchinit_mini/mcp_server/tools/configure_em_nodes_tool.py
128
+ pyarchinit_mini/mcp_server/tools/create_database_tool.py
129
+ pyarchinit_mini/mcp_server/tools/create_harris_matrix_tool.py
128
130
  pyarchinit_mini/mcp_server/tools/data_import_parser_tool.py
129
131
  pyarchinit_mini/mcp_server/tools/data_management_tool.py
130
132
  pyarchinit_mini/mcp_server/tools/database_manager_tool.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pyarchinit-mini"
7
- version = "2.1.0"
7
+ version = "2.1.2"
8
8
  description = "Lightweight archaeological data management system with REST API, Web UI, Desktop GUI, CLI, multi-user authentication, real-time collaboration, analytics dashboard, PyArchInit import/export, Heriverse/ATON export integration, and 3D CRUD viewer"
9
9
  readme = "README.md"
10
10
  license = {text = "GPL-2.0"}