pyarchinit-mini 2.9.3__tar.gz → 2.9.4__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.
- {pyarchinit_mini-2.9.3/pyarchinit_mini.egg-info → pyarchinit_mini-2.9.4}/PKG-INFO +1 -1
- pyarchinit_mini-2.9.4/data/pyarchinit_tutorial.db +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/__init__.py +1 -1
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/utils/tma_label_generator.py +17 -5
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/app.py +21 -4
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/tma/form.html +12 -3
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/tma/list.html +17 -3
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4/pyarchinit_mini.egg-info}/PKG-INFO +1 -1
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini.egg-info/SOURCES.txt +0 -17
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyproject.toml +1 -1
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/requirements.txt +2 -1
- pyarchinit_mini-2.9.3/data/media_viewer_demo.db +0 -0
- pyarchinit_mini-2.9.3/data/pyarchinit_mini 2.db +0 -0
- pyarchinit_mini-2.9.3/data/pyarchinit_mini.db +0 -0
- pyarchinit_mini-2.9.3/data/pyarchinit_tutorial.db +0 -0
- pyarchinit_mini-2.9.3/data/pyarchinit_tutorial_backup_20251030_093228.db +0 -0
- pyarchinit_mini-2.9.3/data/pyarchinit_tutorial_clean.db +0 -0
- pyarchinit_mini-2.9.3/data/pyarchinit_tutorial_video.db +0 -0
- pyarchinit_mini-2.9.3/data/pyarchinit_v18_demo.db +0 -0
- pyarchinit_mini-2.9.3/pyarchinit_mini/scripts/create_correct_stratigraphy_sample.py +0 -373
- pyarchinit_mini-2.9.3/pyarchinit_mini/scripts/create_italian_sample_database.py +0 -302
- pyarchinit_mini-2.9.3/pyarchinit_mini/scripts/create_sample_for_webapp.py +0 -463
- pyarchinit_mini-2.9.3/pyarchinit_mini/scripts/create_sample_with_50_us.py +0 -353
- pyarchinit_mini-2.9.3/pyarchinit_mini/translations/en/LC_MESSAGES/messages.mo +0 -0
- pyarchinit_mini-2.9.3/pyarchinit_mini/translations/it/LC_MESSAGES/messages.mo +0 -0
- pyarchinit_mini-2.9.3/pyarchinit_mini/translations/messages.pot +0 -0
- pyarchinit_mini-2.9.3/pyarchinit_mini/web_interface/data/paradata/domus-pompeiana/stratigraphy.graphml +0 -265
- pyarchinit_mini-2.9.3/pyarchinit_mini/web_interface/data/paradata/metro-c-amba-aradam/stratigraphy.graphml +0 -265
- pyarchinit_mini-2.9.3/pyarchinit_mini/web_interface/data/paradata/pompei-regio-vii/stratigraphy.graphml +0 -265
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/CHANGELOG.md +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/MANIFEST.in +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/README.md +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/babel.cfg +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/data/pyarchinit_mini_sample.db +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/logo/logo_pyarchinit-mini.png +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/ai_matrix/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/ai_matrix/apply.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/ai_matrix/plan.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/ai_matrix/vision_extractor.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/api/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/api/auth.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/api/dependencies.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/api/graphml.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/api/inventario.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/api/schemas.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/api/site.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/api/sync.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/api/us.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/cli/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/cli/export_import_cli.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/cli/extended_matrix_import.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/cli/graphml_cli.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/cli/harris_import.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/cli/harris_template.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/cli/migrate.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/cli/migrate_vocab.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/cli/pyarchinit_import_export_cli.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/cli/sync_cli.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/cli_interface/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/cli_interface/cli_app.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/config/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/config/connection_manager.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/config/em_node_config_manager.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/config/em_node_types.yaml +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/database/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/database/concurrency_manager.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/database/connection.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/database/database_creator.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/database/manager.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/database/migration_scripts/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/database/migration_scripts/add_file_path.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/database/migration_scripts/add_i18n_columns.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/database/migration_scripts/add_tipo_documento.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/database/migration_scripts/change_us_area_to_text.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/database/migration_scripts/change_us_area_to_text_simple.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/database/migrations/_2026_05_node_uuid_backfill.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/database/migrations/_2026_05_node_uuid_schema.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/database/migrations/_2026_05_period_table_schema.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/database/migrations/_2026_05_vocab_alignment.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/database/migrations/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/database/migrations/backup.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/database/postgres_installer.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/database/schemas.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/database/utils.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/desktop_gui/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/desktop_gui/analytics_dialog.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/desktop_gui/assets/logo.png +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/desktop_gui/dialogs.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/desktop_gui/excel_import_dialog.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/desktop_gui/export_import_dialog.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/desktop_gui/graphml_export_dialog.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/desktop_gui/gui_app.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/desktop_gui/harris_matrix_editor.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/desktop_gui/i18n.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/desktop_gui/icons.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/desktop_gui/inventario_dialog_extended.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/desktop_gui/main_window.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/desktop_gui/media_manager_advanced.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/desktop_gui/postgres_installer_dialog.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/desktop_gui/pottery_dialog_extended.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/desktop_gui/pottery_panel.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/desktop_gui/pyarchinit_import_export_dialog.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/desktop_gui/thesaurus_dialog.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/desktop_gui/us_dialog_extended.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/dto/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/dto/inventario_dto.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/dto/site_dto.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/dto/us_dto.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/em_palette/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/em_palette/loader.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/em_palette/styles.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/exceptions.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphml_converter/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphml_converter/converter.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphml_converter/dot_parser.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphml_converter/em_palette.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphml_converter/graphml_builder.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphml_converter/graphml_exporter.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphml_converter/pure_networkx_exporter.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphml_converter/svg_resources.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphml_converter/templates/EM_palette.graphml +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphml_converter/x11_colors.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphml_converter/yed_template.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphml_io/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphml_io/reader.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphml_io/writer.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphml_io/yed_importer.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphml_io/yed_keys.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphml_io/yed_writer.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphproj/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphproj/auto_regen.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphproj/edge_registry.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphproj/exceptions.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphproj/filesystem.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphproj/graph_to_db.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphproj/graphml_reader.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphproj/graphml_writer.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphproj/heriverse_parser.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphproj/ingest_plan.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphproj/ingestor.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphproj/paradata_store.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphproj/projector.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphproj/rapporti_codec.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphproj/s3d_projector.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/graphproj/s3d_to_cytoscape.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/harris_matrix/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/harris_matrix/enhanced_visualizer.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/harris_matrix/matrix_generator.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/harris_matrix/matrix_visualizer.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/harris_matrix/pyarchinit_visualizer.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/harris_swimlane/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/harris_swimlane/compound_layout.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/harris_swimlane/exceptions.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/harris_swimlane/harris_layout.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/harris_swimlane/period_sync_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/harris_swimlane/row_provider.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/harris_swimlane/swimlane_state.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/i18n/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/i18n/flask_babel_config.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/i18n/lang_routes.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/i18n/locale_manager.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/__main__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/blender_client.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/config.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/event_stream.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/graphml_parser.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/http_server.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/period_filter.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/prompts/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/prompts/base_prompt.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/prompts/period_visualization_prompt.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/prompts/stratigraphic_model_prompt.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/prompts/us_description_prompt.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/proxy_generator.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/resources/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/resources/base_resource.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/resources/graphml_resource.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/resources/periods_resource.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/resources/relationships_resource.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/resources/sites_resource.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/resources/us_resource.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/server.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/base_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/batch_insert_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/build_3d_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/chatgpt_fetch_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/chatgpt_search_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/configure_em_nodes_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/create_database_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/create_harris_matrix_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/data_import_parser_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/data_management_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/database_manager_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/delete_data_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/export_harris_matrix_graphml_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/export_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/filter_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/generate_report_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/get_schema_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/import_excel_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/insert_data_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/manage_services_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/material_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/media_management_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/position_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/pyarchinit_sync_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/resolve_conflicts_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/service_management_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/thesaurus_management_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/update_data_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/upload_file_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/validate_relationship_format_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/validate_relationship_integrity_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/validate_stratigraphic_relationships_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/mcp_server/tools/validate_stratigraphy_tool.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/media_manager/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/media_manager/media_handler.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/models/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/models/ai_chat.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/models/app_setting.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/models/base.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/models/datazione.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/models/extended_matrix.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/models/harris_matrix.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/models/inventario_materiali.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/models/media.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/models/pottery.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/models/site.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/models/thesaurus.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/models/tma.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/models/us.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/models/user.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/pdf_export/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/pdf_export/pdf_generator.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/pdf_export/pdf_generator_backup.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/pdf_export/pyarchinit_finds_template.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/pdf_export/pyarchinit_inventory_template.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/pdf_export/usm_implementation.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/s3d_integration/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/s3d_integration/model_manager.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/s3d_integration/s3d_converter.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/scripts/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/scripts/auto_translate.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/scripts/configure_claude_desktop.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/scripts/create_admin_user.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/scripts/generate_test_3d_model.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/scripts/load_italian_as_main.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/scripts/load_sample_as_main.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/scripts/migrate_relationships.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/scripts/populate_sample_data.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/scripts/populate_simple_data.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/scripts/setup_auth.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/scripts/setup_user_env.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/scripts/test_cascade_delete.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/scripts/test_relationship_fix.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/scripts/update_sample_relationships.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/scripts/update_urls_and_versions.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/scripts/verify_docs.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/ai_assistant_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/ai_chat_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/analytics_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/app_setting_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/backup_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/command_parser.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/datazione_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/export_import_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/extended_matrix_excel_parser.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/import_export_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/inventario_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/mcp_executor.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/media_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/periodizzazione_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/pottery_dto.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/pottery_pdf_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/pottery_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/relationship_sync_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/search_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/site_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/thesaurus_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/tma_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/us_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/services/user_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/stratigraph/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/stratigraph/bundle_creator.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/stratigraph/bundle_manifest.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/stratigraph/bundle_validator.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/stratigraph/connectivity_monitor.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/stratigraph/sync_orchestrator.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/stratigraph/sync_queue.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/stratigraph/sync_state_machine.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/stratigraph/uuid_manager.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/translations/en/LC_MESSAGES/messages.po +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/translations/it/LC_MESSAGES/messages.po +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/utils/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/utils/auth.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/utils/exceptions.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/utils/relationship_validator.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/utils/stratigraphic_validator.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/utils/validators.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/vocab/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/vocab/exceptions.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/vocab/i18n.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/vocab/loader.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/vocab/provider.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/vocab/translations/vocab_en.json +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/vocab/translations/vocab_it.json +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/vocab/types.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/auth_routes.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/em_node_config_routes.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/excel_import_routes.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/graph_routes.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/harris_creator_routes.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/matrix_import_routes.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/matrix_tools_routes.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/paradata_routes.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/paradata_ui_routes.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/pottery_routes.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/pyarchinit_import_export_routes.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/s3d_routes.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/socketio_events.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/static/css/style.css +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/static/images/favicon.ico +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/static/images/logo.png +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/static/images/no-image.png +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/static/images/pyarchinit-mini-logo.png +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/static/js/OrbitControls.js +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/static/js/harris_creator_editor.js +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/static/js/stratigraphic_layout.js +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/static/js/three-d-viewer.js +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/static/js/three.min.js +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/static/js/universal_search.js +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/static/uploads/3d_models/Sito Archeologico di Esempio/site/stratigraphy_test.bin +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/static/uploads/3d_models/Sito Archeologico di Esempio/site/stratigraphy_test.gltf +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/static/uploads/3d_models/Sito Archeologico di Esempio/site/stratigraphy_test.mtl +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/static/uploads/3d_models/Sito Archeologico di Esempio/site/stratigraphy_test.obj +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/3d_builder/index.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/3d_viewer/viewer.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/admin/backups.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/admin/database.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/admin/database_connect.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/admin/database_info.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/admin/database_upload.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/admin/settings_ai.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/ai/assistant.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/analytics/dashboard.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/auth/login.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/auth/users.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/base.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/blender_viewer.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/components/language_switcher.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/dashboard.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/datazioni/list.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/docs/index.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/em_node_config/index.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/excel_import/index.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/export/export_import.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/graph_import_preview.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/graph_import_result.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/harris_creator/editor.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/harris_creator/index.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/harris_matrix/graphml_export.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/harris_matrix/large_graph_message.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/harris_matrix/stratigraph_viewer.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/harris_matrix/view.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/harris_matrix/view_graphviz.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/harris_matrix/viewer_3d_integrated.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/inventario/form.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/inventario/list.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/matrix_import/preview.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/matrix_import/rejected.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/matrix_import/upload.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/matrix_tools/index.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/media/list.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/media/upload.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/messaging/contacts.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/operators/directory.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/paradata/edit.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/paradata/index.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/paradata/list.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/pdf/pottery_sheet.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/periodizzazione/form.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/periodizzazione/list.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/periodizzazione/periods.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/pottery/detail.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/pottery/form.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/pottery/import_form.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/pottery/list.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/pyarchinit_import_export/index.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/search/results.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/sites/detail.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/sites/form.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/sites/list.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/sites/map.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/stats/targeted.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/thesaurus/list.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/us/form.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/us/list.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/validation/report.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/yed_import/index.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/yed_import/preview.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/templates/yed_import/result.html +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/test_prova_extended_matrix.graphml +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/three_d_builder_routes.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/uploads/graphml/Sito Archeologico di Esempio_stratigraphy.graphml +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/uploads/graphml/Sito Archeologico di Esempio_stratigraphy.json +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/vocab_routes.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/web_interface/static/uploads/graphml/Scavo archeologico_heriverse.json +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/web_interface/static/uploads/graphml/Scavo archeologico_stratigraphy.graphml +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/web_interface/static/uploads/graphml/Scavo archeologico_stratigraphy.json +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/web_interface/static/uploads/graphml/Sito Archeologico di Esempio_stratigraphy.json +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/web_interface/yed_import_routes.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini.egg-info/dependency_links.txt +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini.egg-info/entry_points.txt +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini.egg-info/not-zip-safe +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini.egg-info/requires.txt +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini.egg-info/top_level.txt +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/setup.cfg +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/setup.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/conftest.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/e2e/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/e2e/test_web_vocab_full_flow.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/fixtures/_generate_baseline_graphml.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/fixtures/_generate_harris_swimlane_synthetic.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/fixtures/_generate_synthetic_db.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/fixtures/_generate_yed_test_files.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/fixtures/build_legacy_with_pottery.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_adarte_regression.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_admin_ai_settings_routes.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_admin_backup_routes.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_api_export_graphml.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_api_export_heriverse.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_api_import_graphml.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_api_import_json.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_api_load_site.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_auto_regen_on_save.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_feature_flag_pipelines.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_full_sync_flow.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_graph_import_flow.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_graph_routes.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_harris_matrix_post_cutover.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_harris_matrix_visual_parity.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_harris_swimlane_routes_create_row.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_harris_swimlane_routes_load.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_harris_swimlane_routes_save.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_harris_swimlane_routes_session_missing.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_lang_routes.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_matrix_import_apply_route.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_matrix_import_rejected_route.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_matrix_import_site_widget.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_matrix_import_upload_route.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_migrate_vocab_cli.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_paradata_routes_authors.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_paradata_routes_other_types.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_paradata_ui.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_pottery_completion.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_pottery_excel_roundtrip.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_pottery_filters_id_number_anno.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_pottery_legacy_upgrade.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_pottery_list_media_thumbs.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_pottery_routes.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_roundtrip.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_roundtrip_extmatrix.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_spec2_coverage_gaps.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_swimlane_group_by.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_vocab_routes.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_yed_export_route.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_yed_import_routes.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/integration/test_yed_writer_parity.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/__init__.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_ai_matrix_apply.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_ai_matrix_extractor_parse.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_ai_matrix_extractor_providers.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_ai_matrix_plan_serialization.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_app_setting_model.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_app_setting_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_auto_regen.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_backup_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_bundle.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_concurrency_columns.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_concurrency_manager.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_connectivity_monitor.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_database_utils.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_deprecated_writers_shim.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_em_palette_vocab_backed.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_graph_to_db.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_graphml_io_reader.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_graphml_io_writer.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_graphproj_edge_registry.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_graphproj_exceptions.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_graphproj_filesystem.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_graphproj_ingestor_apply.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_graphproj_ingestor_preview.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_graphproj_projector.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_harris_layout.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_harris_swimlane_compound_layout.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_harris_swimlane_exceptions.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_harris_swimlane_period_sync.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_harris_swimlane_row_provider.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_harris_swimlane_state_load.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_harris_swimlane_state_save.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_heriverse_parser.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_ingest_plan.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_inventario_schema.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_migrations_backup.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_migrations_idempotent.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_optimistic_locking.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_palette_loader.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_palette_styles.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_paradata_store_authors.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_paradata_store_basic.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_paradata_store_other_types.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_pottery_dto.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_pottery_model.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_pottery_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_rapporti_codec.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_rapporti_codec_display.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_s3d_converter_vocab_backed.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_s3d_projector.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_s3d_to_cytoscape.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_site_service.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_sync_api.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_sync_cli.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_sync_orchestrator.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_sync_queue.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_sync_state_machine.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_us_dto_unita_tipo_validator.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_us_schema.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_uuid_manager.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_vocab_bootstrap_failures.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_vocab_exceptions.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_vocab_i18n.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_vocab_loader.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_vocab_provider.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_vocab_types.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_yed_importer_parse.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_yed_importer_plan.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_yed_writer.py +0 -0
- {pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/tests/unit/test_yed_writer_extended_matrix.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyarchinit-mini
|
|
3
|
-
Version: 2.9.
|
|
3
|
+
Version: 2.9.4
|
|
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
|
|
Binary file
|
{pyarchinit_mini-2.9.3 → pyarchinit_mini-2.9.4}/pyarchinit_mini/utils/tma_label_generator.py
RENAMED
|
@@ -24,13 +24,25 @@ except ImportError:
|
|
|
24
24
|
|
|
25
25
|
# Standard label sheet formats (mm)
|
|
26
26
|
LABEL_FORMATS = {
|
|
27
|
-
'avery_l7160': {'width': 63.5, 'height': 38.1, 'per_row': 3, 'per_col': 7, 'margin': 2.5
|
|
28
|
-
|
|
29
|
-
'
|
|
30
|
-
|
|
31
|
-
'
|
|
27
|
+
'avery_l7160': {'width': 63.5, 'height': 38.1, 'per_row': 3, 'per_col': 7, 'margin': 2.5,
|
|
28
|
+
'label': 'Avery L7160 — 3×7 (63×38 mm)'},
|
|
29
|
+
'avery_l7163': {'width': 99.1, 'height': 38.1, 'per_row': 2, 'per_col': 7, 'margin': 2.5,
|
|
30
|
+
'label': 'Avery L7163 — 2×7 (99×38 mm)'},
|
|
31
|
+
'small_70x37': {'width': 70, 'height': 37, 'per_row': 3, 'per_col': 8, 'margin': 2,
|
|
32
|
+
'label': 'Piccola — 3×8 (70×37 mm)'},
|
|
33
|
+
'medium_105x57': {'width': 105, 'height': 57, 'per_row': 2, 'per_col': 5, 'margin': 3,
|
|
34
|
+
'label': 'Media — 2×5 (105×57 mm)'},
|
|
35
|
+
'single_a4': {'width': 210, 'height': 297, 'per_row': 1, 'per_col': 1, 'margin': 10,
|
|
36
|
+
'label': 'A4 singola — 1 etichetta/pagina'},
|
|
32
37
|
}
|
|
33
38
|
|
|
39
|
+
DEFAULT_LABEL_FORMAT = 'avery_l7160'
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def get_label_format_choices():
|
|
43
|
+
"""Return [(key, friendly_label), ...] for building a format selector UI."""
|
|
44
|
+
return [(key, cfg.get('label', key)) for key, cfg in LABEL_FORMATS.items()]
|
|
45
|
+
|
|
34
46
|
|
|
35
47
|
class TMALabelGenerator:
|
|
36
48
|
"""Generate printable PDF labels for TMA records, with QR codes."""
|
|
@@ -421,6 +421,18 @@ def create_app():
|
|
|
421
421
|
def inject_locale():
|
|
422
422
|
return dict(get_locale=get_locale, _=_, version=__version__)
|
|
423
423
|
|
|
424
|
+
@app.context_processor
|
|
425
|
+
def inject_tma_label_formats():
|
|
426
|
+
"""Expose TMA label sheet formats so templates can render a selector."""
|
|
427
|
+
try:
|
|
428
|
+
from pyarchinit_mini.utils.tma_label_generator import (
|
|
429
|
+
get_label_format_choices, DEFAULT_LABEL_FORMAT,
|
|
430
|
+
)
|
|
431
|
+
return dict(tma_label_formats=get_label_format_choices(),
|
|
432
|
+
tma_label_format_default=DEFAULT_LABEL_FORMAT)
|
|
433
|
+
except Exception:
|
|
434
|
+
return dict(tma_label_formats=[], tma_label_format_default='avery_l7160')
|
|
435
|
+
|
|
424
436
|
# Create necessary folders
|
|
425
437
|
os.makedirs(app.config['UPLOAD_FOLDER'], exist_ok=True)
|
|
426
438
|
os.makedirs(app.config['DATABASE_FOLDER'], exist_ok=True)
|
|
@@ -4398,11 +4410,16 @@ def create_app():
|
|
|
4398
4410
|
user_map[u.full_name.lower().strip()] = u.email
|
|
4399
4411
|
user_map[u.username.lower().strip()] = u.email
|
|
4400
4412
|
|
|
4401
|
-
# Also check pyarchinit_users
|
|
4413
|
+
# Also check pyarchinit_users (legacy PyArchInit installs may have it).
|
|
4414
|
+
# Wrap in a SAVEPOINT so that, on PostgreSQL, a missing table does not
|
|
4415
|
+
# abort the whole transaction — which would otherwise make every
|
|
4416
|
+
# subsequent query in this session fail with "current transaction is
|
|
4417
|
+
# aborted". (SQLite tolerates the failed statement; PostgreSQL does not.)
|
|
4402
4418
|
try:
|
|
4403
|
-
|
|
4404
|
-
|
|
4405
|
-
|
|
4419
|
+
with session.begin_nested():
|
|
4420
|
+
pa_users = session.execute(sa_text(
|
|
4421
|
+
"SELECT username, email, full_name FROM pyarchinit_users"
|
|
4422
|
+
)).fetchall()
|
|
4406
4423
|
for pu in pa_users:
|
|
4407
4424
|
if pu[2]: # full_name
|
|
4408
4425
|
user_map[pu[2].lower().strip()] = pu[1]
|
|
@@ -243,9 +243,18 @@
|
|
|
243
243
|
<i class="fas fa-save"></i> {{ _('Save') }}
|
|
244
244
|
</button>
|
|
245
245
|
{% if tma and tma.id %}
|
|
246
|
-
<
|
|
247
|
-
<
|
|
248
|
-
|
|
246
|
+
<span class="d-inline-flex align-items-center gap-2 ms-2">
|
|
247
|
+
<select id="single_label_format" class="form-select form-select-sm" style="width:auto;"
|
|
248
|
+
aria-label="{{ _('Label format') }}">
|
|
249
|
+
{% for key, label in tma_label_formats %}
|
|
250
|
+
<option value="{{ key }}" {% if key == tma_label_format_default %}selected{% endif %}>{{ label }}</option>
|
|
251
|
+
{% endfor %}
|
|
252
|
+
</select>
|
|
253
|
+
<button type="button" class="btn btn-success"
|
|
254
|
+
onclick="window.location.href='{{ url_for('tma_label', tma_id=tma.id) }}?format=' + document.getElementById('single_label_format').value;">
|
|
255
|
+
<i class="fas fa-qrcode"></i> {{ _('Print Label') }}
|
|
256
|
+
</button>
|
|
257
|
+
</span>
|
|
249
258
|
{% endif %}
|
|
250
259
|
</div>
|
|
251
260
|
</form>
|
|
@@ -106,9 +106,23 @@
|
|
|
106
106
|
<div class="card-body">
|
|
107
107
|
<h5><i class="fas fa-print"></i> {{ _('Bulk label print') }}</h5>
|
|
108
108
|
<p class="text-muted small">{{ _('Print labels for ALL TMA records matching current filters.') }}</p>
|
|
109
|
-
<
|
|
110
|
-
<
|
|
111
|
-
|
|
109
|
+
<form method="GET" action="{{ url_for('tma_labels_bulk') }}" class="row g-2 align-items-end">
|
|
110
|
+
<input type="hidden" name="search" value="{{ search }}">
|
|
111
|
+
<input type="hidden" name="sito" value="{{ sito_filter }}">
|
|
112
|
+
<div class="col-auto">
|
|
113
|
+
<label for="bulk_format" class="form-label small mb-1">{{ _('Label format') }}</label>
|
|
114
|
+
<select name="format" id="bulk_format" class="form-select form-select-sm">
|
|
115
|
+
{% for key, label in tma_label_formats %}
|
|
116
|
+
<option value="{{ key }}" {% if key == tma_label_format_default %}selected{% endif %}>{{ label }}</option>
|
|
117
|
+
{% endfor %}
|
|
118
|
+
</select>
|
|
119
|
+
</div>
|
|
120
|
+
<div class="col-auto">
|
|
121
|
+
<button type="submit" class="btn btn-success">
|
|
122
|
+
<i class="fas fa-file-pdf"></i> {{ _('Generate PDF labels (all filtered)') }}
|
|
123
|
+
</button>
|
|
124
|
+
</div>
|
|
125
|
+
</form>
|
|
112
126
|
</div>
|
|
113
127
|
</div>
|
|
114
128
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyarchinit-mini
|
|
3
|
-
Version: 2.9.
|
|
3
|
+
Version: 2.9.4
|
|
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
|
|
@@ -5,15 +5,8 @@ babel.cfg
|
|
|
5
5
|
pyproject.toml
|
|
6
6
|
requirements.txt
|
|
7
7
|
setup.py
|
|
8
|
-
data/media_viewer_demo.db
|
|
9
|
-
data/pyarchinit_mini 2.db
|
|
10
|
-
data/pyarchinit_mini.db
|
|
11
8
|
data/pyarchinit_mini_sample.db
|
|
12
9
|
data/pyarchinit_tutorial.db
|
|
13
|
-
data/pyarchinit_tutorial_backup_20251030_093228.db
|
|
14
|
-
data/pyarchinit_tutorial_clean.db
|
|
15
|
-
data/pyarchinit_tutorial_video.db
|
|
16
|
-
data/pyarchinit_v18_demo.db
|
|
17
10
|
logo/logo_pyarchinit-mini.png
|
|
18
11
|
pyarchinit_mini/__init__.py
|
|
19
12
|
pyarchinit_mini/exceptions.py
|
|
@@ -235,10 +228,6 @@ pyarchinit_mini/scripts/__init__.py
|
|
|
235
228
|
pyarchinit_mini/scripts/auto_translate.py
|
|
236
229
|
pyarchinit_mini/scripts/configure_claude_desktop.py
|
|
237
230
|
pyarchinit_mini/scripts/create_admin_user.py
|
|
238
|
-
pyarchinit_mini/scripts/create_correct_stratigraphy_sample.py
|
|
239
|
-
pyarchinit_mini/scripts/create_italian_sample_database.py
|
|
240
|
-
pyarchinit_mini/scripts/create_sample_for_webapp.py
|
|
241
|
-
pyarchinit_mini/scripts/create_sample_with_50_us.py
|
|
242
231
|
pyarchinit_mini/scripts/generate_test_3d_model.py
|
|
243
232
|
pyarchinit_mini/scripts/load_italian_as_main.py
|
|
244
233
|
pyarchinit_mini/scripts/load_sample_as_main.py
|
|
@@ -286,10 +275,7 @@ pyarchinit_mini/stratigraph/sync_orchestrator.py
|
|
|
286
275
|
pyarchinit_mini/stratigraph/sync_queue.py
|
|
287
276
|
pyarchinit_mini/stratigraph/sync_state_machine.py
|
|
288
277
|
pyarchinit_mini/stratigraph/uuid_manager.py
|
|
289
|
-
pyarchinit_mini/translations/messages.pot
|
|
290
|
-
pyarchinit_mini/translations/en/LC_MESSAGES/messages.mo
|
|
291
278
|
pyarchinit_mini/translations/en/LC_MESSAGES/messages.po
|
|
292
|
-
pyarchinit_mini/translations/it/LC_MESSAGES/messages.mo
|
|
293
279
|
pyarchinit_mini/translations/it/LC_MESSAGES/messages.po
|
|
294
280
|
pyarchinit_mini/utils/__init__.py
|
|
295
281
|
pyarchinit_mini/utils/auth.py
|
|
@@ -324,9 +310,6 @@ pyarchinit_mini/web_interface/test_prova_extended_matrix.graphml
|
|
|
324
310
|
pyarchinit_mini/web_interface/three_d_builder_routes.py
|
|
325
311
|
pyarchinit_mini/web_interface/vocab_routes.py
|
|
326
312
|
pyarchinit_mini/web_interface/yed_import_routes.py
|
|
327
|
-
pyarchinit_mini/web_interface/data/paradata/domus-pompeiana/stratigraphy.graphml
|
|
328
|
-
pyarchinit_mini/web_interface/data/paradata/metro-c-amba-aradam/stratigraphy.graphml
|
|
329
|
-
pyarchinit_mini/web_interface/data/paradata/pompei-regio-vii/stratigraphy.graphml
|
|
330
313
|
pyarchinit_mini/web_interface/static/css/style.css
|
|
331
314
|
pyarchinit_mini/web_interface/static/images/favicon.ico
|
|
332
315
|
pyarchinit_mini/web_interface/static/images/logo.png
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pyarchinit-mini"
|
|
7
|
-
version = "2.9.
|
|
7
|
+
version = "2.9.4"
|
|
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"}
|
|
@@ -38,6 +38,7 @@ graphviz>=0.20.0
|
|
|
38
38
|
# PDF Export
|
|
39
39
|
reportlab>=4.0.0
|
|
40
40
|
weasyprint>=60.0.0
|
|
41
|
+
qrcode[pil]>=7.4.0
|
|
41
42
|
|
|
42
43
|
# Media Processing
|
|
43
44
|
pillow>=10.0.0
|
|
@@ -52,7 +53,7 @@ pandas>=2.0.0
|
|
|
52
53
|
openpyxl>=3.1.5
|
|
53
54
|
|
|
54
55
|
# 3D Stratigraphic Graph Management
|
|
55
|
-
s3dgraphy>=1.
|
|
56
|
+
s3dgraphy>=0.1.0
|
|
56
57
|
gunicorn>=21.0.0
|
|
57
58
|
psutil>=5.9.0
|
|
58
59
|
passlib[bcrypt]>=1.7.0
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,373 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
"""
|
|
3
|
-
Create sample database with correct stratigraphic relationships
|
|
4
|
-
without paradoxes, following archaeological logic
|
|
5
|
-
"""
|
|
6
|
-
|
|
7
|
-
import os
|
|
8
|
-
import sys
|
|
9
|
-
from datetime import datetime
|
|
10
|
-
|
|
11
|
-
# Add the project root to the Python path
|
|
12
|
-
project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
13
|
-
sys.path.insert(0, project_root)
|
|
14
|
-
|
|
15
|
-
from pyarchinit_mini.database.connection import DatabaseConnection
|
|
16
|
-
from pyarchinit_mini.database.manager import DatabaseManager
|
|
17
|
-
from pyarchinit_mini.services.site_service import SiteService
|
|
18
|
-
from pyarchinit_mini.services.us_service import USService
|
|
19
|
-
from pyarchinit_mini.services.inventario_service import InventarioService
|
|
20
|
-
from pyarchinit_mini.services.periodizzazione_service import PeriodizzazioneService
|
|
21
|
-
|
|
22
|
-
def create_correct_stratigraphy_sample():
|
|
23
|
-
"""Create sample database with archaeologically correct stratigraphy"""
|
|
24
|
-
|
|
25
|
-
# Database path
|
|
26
|
-
db_path = os.path.join(project_root, 'pyarchinit_mini_sample.db')
|
|
27
|
-
|
|
28
|
-
# Remove existing database
|
|
29
|
-
if os.path.exists(db_path):
|
|
30
|
-
os.remove(db_path)
|
|
31
|
-
print(f"Removed existing database: {db_path}")
|
|
32
|
-
|
|
33
|
-
# Create new database connection
|
|
34
|
-
db_conn = DatabaseConnection(f'sqlite:///{db_path}')
|
|
35
|
-
db_conn.create_tables()
|
|
36
|
-
|
|
37
|
-
db_manager = DatabaseManager(db_conn)
|
|
38
|
-
|
|
39
|
-
# Initialize services
|
|
40
|
-
site_service = SiteService(db_manager)
|
|
41
|
-
us_service = USService(db_manager)
|
|
42
|
-
inventario_service = InventarioService(db_manager)
|
|
43
|
-
periodizzazione_service = PeriodizzazioneService(db_manager)
|
|
44
|
-
|
|
45
|
-
print("Creating archaeologically correct sample database...")
|
|
46
|
-
|
|
47
|
-
# 1. Create site
|
|
48
|
-
site_data = {
|
|
49
|
-
'sito': 'Sito Archeologico di Esempio',
|
|
50
|
-
'comune': 'Roma',
|
|
51
|
-
'provincia': 'RM',
|
|
52
|
-
'regione': 'Lazio',
|
|
53
|
-
'nazione': 'Italia',
|
|
54
|
-
'descrizione': 'Sito di esempio con stratigrafia corretta per dimostrazioni'
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
site = site_service.create_site(site_data)
|
|
58
|
-
site_name = site_data['sito'] # Use the data directly instead of accessing the ORM object
|
|
59
|
-
print(f"Created site: {site_name}")
|
|
60
|
-
|
|
61
|
-
# 2. Create periods (skipped for now - no validator for periodizzazione yet)
|
|
62
|
-
# TODO: Add periodizzazione validator and uncomment this section
|
|
63
|
-
print("Skipping periods creation (no validator yet)")
|
|
64
|
-
|
|
65
|
-
# 3. Create US with correct stratigraphic relationships
|
|
66
|
-
# Following archaeological logic from bottom (oldest) to top (newest)
|
|
67
|
-
|
|
68
|
-
us_list = []
|
|
69
|
-
|
|
70
|
-
# Natural ground (oldest) - using 1000 instead of 0 due to validator constraint
|
|
71
|
-
us_1000 = us_service.create_us({
|
|
72
|
-
'sito': site_name,
|
|
73
|
-
'area': 'A',
|
|
74
|
-
'us': 1000,
|
|
75
|
-
'unita_tipo': 'US',
|
|
76
|
-
'd_stratigrafica': 'Terreno vergine naturale',
|
|
77
|
-
'd_interpretativa': 'Substrato geologico naturale',
|
|
78
|
-
'periodo_iniziale': 'Preistorico',
|
|
79
|
-
'fase_iniziale': 'Naturale',
|
|
80
|
-
'stato_di_conservazione': 'Buono',
|
|
81
|
-
'scavato': 'Sì',
|
|
82
|
-
'anno_scavo': datetime.now().year
|
|
83
|
-
})
|
|
84
|
-
us_list.append(us_1000)
|
|
85
|
-
|
|
86
|
-
# Phase I - Foundation (Roman Imperial)
|
|
87
|
-
# Foundation cuts
|
|
88
|
-
us_10 = us_service.create_us({
|
|
89
|
-
'sito': site_name,
|
|
90
|
-
'area': 'A',
|
|
91
|
-
'us': 10,
|
|
92
|
-
'unita_tipo': 'US',
|
|
93
|
-
'd_stratigrafica': 'Taglio di fondazione per muro perimetrale',
|
|
94
|
-
'd_interpretativa': 'Fossa di fondazione edificio principale',
|
|
95
|
-
'periodo_iniziale': 'Età Romana Imperiale',
|
|
96
|
-
'fase_iniziale': 'I - Fondazione',
|
|
97
|
-
'rapporti': 'Taglia 1000', # Cuts the natural ground
|
|
98
|
-
'stato_di_conservazione': 'Buono',
|
|
99
|
-
'scavato': 'Sì',
|
|
100
|
-
'anno_scavo': datetime.now().year
|
|
101
|
-
})
|
|
102
|
-
us_list.append(us_10)
|
|
103
|
-
|
|
104
|
-
# Foundation walls
|
|
105
|
-
us_11 = us_service.create_us({
|
|
106
|
-
'sito': site_name,
|
|
107
|
-
'area': 'A',
|
|
108
|
-
'us': 11,
|
|
109
|
-
'unita_tipo': 'USM',
|
|
110
|
-
'd_stratigrafica': 'Muro perimetrale in opus reticulatum',
|
|
111
|
-
'd_interpretativa': 'Muro perimetrale dell\'edificio principale',
|
|
112
|
-
'periodo_iniziale': 'Età Romana Imperiale',
|
|
113
|
-
'fase_iniziale': 'I - Fondazione',
|
|
114
|
-
'rapporti': 'Riempie 10', # Fills the foundation cut
|
|
115
|
-
'stato_di_conservazione': 'Discreto',
|
|
116
|
-
'scavato': 'Sì',
|
|
117
|
-
'anno_scavo': datetime.now().year
|
|
118
|
-
})
|
|
119
|
-
us_list.append(us_11)
|
|
120
|
-
|
|
121
|
-
# Floor preparation
|
|
122
|
-
us_12 = us_service.create_us({
|
|
123
|
-
'sito': site_name,
|
|
124
|
-
'area': 'A',
|
|
125
|
-
'us': 12,
|
|
126
|
-
'unita_tipo': 'US',
|
|
127
|
-
'd_stratigrafica': 'Preparazione pavimentale in cocciopesto',
|
|
128
|
-
'd_interpretativa': 'Sottofondo per pavimentazione',
|
|
129
|
-
'periodo_iniziale': 'Età Romana Imperiale',
|
|
130
|
-
'fase_iniziale': 'I - Fondazione',
|
|
131
|
-
'rapporti': 'Copre 1000; Si appoggia a 11', # Covers natural ground, abuts wall
|
|
132
|
-
'stato_di_conservazione': 'Buono',
|
|
133
|
-
'scavato': 'Sì',
|
|
134
|
-
'anno_scavo': datetime.now().year
|
|
135
|
-
})
|
|
136
|
-
us_list.append(us_12)
|
|
137
|
-
|
|
138
|
-
# Floor
|
|
139
|
-
us_13 = us_service.create_us({
|
|
140
|
-
'sito': site_name,
|
|
141
|
-
'area': 'A',
|
|
142
|
-
'us': 13,
|
|
143
|
-
'unita_tipo': 'US',
|
|
144
|
-
'd_stratigrafica': 'Pavimento in opus tessellatum',
|
|
145
|
-
'd_interpretativa': 'Pavimento musivo geometrico',
|
|
146
|
-
'periodo_iniziale': 'Età Romana Imperiale',
|
|
147
|
-
'fase_iniziale': 'I - Fondazione',
|
|
148
|
-
'rapporti': 'Copre 12', # Covers floor preparation
|
|
149
|
-
'stato_di_conservazione': 'Discreto',
|
|
150
|
-
'scavato': 'Sì',
|
|
151
|
-
'anno_scavo': datetime.now().year
|
|
152
|
-
})
|
|
153
|
-
us_list.append(us_13)
|
|
154
|
-
|
|
155
|
-
# Phase II - Development
|
|
156
|
-
# Use accumulation
|
|
157
|
-
us_20 = us_service.create_us({
|
|
158
|
-
'sito': site_name,
|
|
159
|
-
'area': 'A',
|
|
160
|
-
'us': 20,
|
|
161
|
-
'unita_tipo': 'US',
|
|
162
|
-
'd_stratigrafica': 'Strato di accumulo con ceramica e ossa',
|
|
163
|
-
'd_interpretativa': 'Livello d\'uso della fase II',
|
|
164
|
-
'periodo_iniziale': 'Età Romana Imperiale',
|
|
165
|
-
'fase_iniziale': 'II - Sviluppo',
|
|
166
|
-
'rapporti': 'Copre 13', # Covers the floor
|
|
167
|
-
'stato_di_conservazione': 'Buono',
|
|
168
|
-
'scavato': 'Sì',
|
|
169
|
-
'anno_scavo': datetime.now().year
|
|
170
|
-
})
|
|
171
|
-
us_list.append(us_20)
|
|
172
|
-
|
|
173
|
-
# Repair cut
|
|
174
|
-
us_21 = us_service.create_us({
|
|
175
|
-
'sito': site_name,
|
|
176
|
-
'area': 'A',
|
|
177
|
-
'us': 21,
|
|
178
|
-
'unita_tipo': 'US',
|
|
179
|
-
'd_stratigrafica': 'Taglio per riparazione pavimento',
|
|
180
|
-
'd_interpretativa': 'Fossa per riparazione',
|
|
181
|
-
'periodo_iniziale': 'Età Romana Imperiale',
|
|
182
|
-
'fase_iniziale': 'II - Sviluppo',
|
|
183
|
-
'rapporti': 'Taglia 13', # Cuts the floor
|
|
184
|
-
'stato_di_conservazione': 'Buono',
|
|
185
|
-
'scavato': 'Sì',
|
|
186
|
-
'anno_scavo': datetime.now().year
|
|
187
|
-
})
|
|
188
|
-
us_list.append(us_21)
|
|
189
|
-
|
|
190
|
-
# Repair fill
|
|
191
|
-
us_22 = us_service.create_us({
|
|
192
|
-
'sito': site_name,
|
|
193
|
-
'area': 'A',
|
|
194
|
-
'us': 22,
|
|
195
|
-
'unita_tipo': 'US',
|
|
196
|
-
'd_stratigrafica': 'Riempimento con malta e frammenti laterizi',
|
|
197
|
-
'd_interpretativa': 'Riparazione del pavimento',
|
|
198
|
-
'periodo_iniziale': 'Età Romana Imperiale',
|
|
199
|
-
'fase_iniziale': 'II - Sviluppo',
|
|
200
|
-
'rapporti': 'Riempie 21; Coperto da 20', # Fills repair cut, covered by use layer
|
|
201
|
-
'stato_di_conservazione': 'Buono',
|
|
202
|
-
'scavato': 'Sì',
|
|
203
|
-
'anno_scavo': datetime.now().year
|
|
204
|
-
})
|
|
205
|
-
us_list.append(us_22)
|
|
206
|
-
|
|
207
|
-
# Phase III - Late Antique transformation
|
|
208
|
-
# Destruction layer
|
|
209
|
-
us_30 = us_service.create_us({
|
|
210
|
-
'sito': site_name,
|
|
211
|
-
'area': 'A',
|
|
212
|
-
'us': 30,
|
|
213
|
-
'unita_tipo': 'US',
|
|
214
|
-
'd_stratigrafica': 'Crollo di tegole e coppi',
|
|
215
|
-
'd_interpretativa': 'Crollo del tetto',
|
|
216
|
-
'periodo_iniziale': 'Tardo Antico',
|
|
217
|
-
'fase_iniziale': 'III - Trasformazione',
|
|
218
|
-
'rapporti': 'Copre 20, 11', # Covers use layer and walls
|
|
219
|
-
'stato_di_conservazione': 'Buono',
|
|
220
|
-
'scavato': 'Sì',
|
|
221
|
-
'anno_scavo': datetime.now().year
|
|
222
|
-
})
|
|
223
|
-
us_list.append(us_30)
|
|
224
|
-
|
|
225
|
-
# Leveling for new floor
|
|
226
|
-
us_31 = us_service.create_us({
|
|
227
|
-
'sito': site_name,
|
|
228
|
-
'area': 'A',
|
|
229
|
-
'us': 31,
|
|
230
|
-
'unita_tipo': 'US',
|
|
231
|
-
'd_stratigrafica': 'Livellamento con macerie',
|
|
232
|
-
'd_interpretativa': 'Preparazione per nuova pavimentazione',
|
|
233
|
-
'periodo_iniziale': 'Tardo Antico',
|
|
234
|
-
'fase_iniziale': 'III - Trasformazione',
|
|
235
|
-
'rapporti': 'Copre 30', # Covers collapse
|
|
236
|
-
'stato_di_conservazione': 'Buono',
|
|
237
|
-
'scavato': 'Sì',
|
|
238
|
-
'anno_scavo': datetime.now().year
|
|
239
|
-
})
|
|
240
|
-
us_list.append(us_31)
|
|
241
|
-
|
|
242
|
-
# New beaten earth floor
|
|
243
|
-
us_32 = us_service.create_us({
|
|
244
|
-
'sito': site_name,
|
|
245
|
-
'area': 'A',
|
|
246
|
-
'us': 32,
|
|
247
|
-
'unita_tipo': 'US',
|
|
248
|
-
'd_stratigrafica': 'Pavimento in terra battuta',
|
|
249
|
-
'd_interpretativa': 'Pavimento povero di riuso',
|
|
250
|
-
'periodo_iniziale': 'Tardo Antico',
|
|
251
|
-
'fase_iniziale': 'III - Trasformazione',
|
|
252
|
-
'rapporti': 'Copre 31', # Covers leveling
|
|
253
|
-
'stato_di_conservazione': 'Mediocre',
|
|
254
|
-
'scavato': 'Sì',
|
|
255
|
-
'anno_scavo': datetime.now().year
|
|
256
|
-
})
|
|
257
|
-
us_list.append(us_32)
|
|
258
|
-
|
|
259
|
-
# Phase IV - Abandonment
|
|
260
|
-
# Final abandonment layer
|
|
261
|
-
us_40 = us_service.create_us({
|
|
262
|
-
'sito': site_name,
|
|
263
|
-
'area': 'A',
|
|
264
|
-
'us': 40,
|
|
265
|
-
'unita_tipo': 'US',
|
|
266
|
-
'd_stratigrafica': 'Strato di abbandono con vegetazione',
|
|
267
|
-
'd_interpretativa': 'Accumulo naturale post-abbandono',
|
|
268
|
-
'periodo_iniziale': 'Alto Medioevo',
|
|
269
|
-
'fase_iniziale': 'IV - Abbandono',
|
|
270
|
-
'rapporti': 'Copre 32, 31, 11', # Covers everything
|
|
271
|
-
'stato_di_conservazione': 'Buono',
|
|
272
|
-
'scavato': 'Sì',
|
|
273
|
-
'anno_scavo': datetime.now().year
|
|
274
|
-
})
|
|
275
|
-
us_list.append(us_40)
|
|
276
|
-
|
|
277
|
-
# Phase V - Modern excavation
|
|
278
|
-
# Topsoil
|
|
279
|
-
us_1 = us_service.create_us({
|
|
280
|
-
'sito': site_name,
|
|
281
|
-
'area': 'A',
|
|
282
|
-
'us': 1,
|
|
283
|
-
'unita_tipo': 'US',
|
|
284
|
-
'd_stratigrafica': 'Humus superficiale',
|
|
285
|
-
'd_interpretativa': 'Terreno agricolo moderno',
|
|
286
|
-
'periodo_iniziale': 'Moderno',
|
|
287
|
-
'fase_iniziale': 'V - Scavo',
|
|
288
|
-
'rapporti': 'Copre 40', # Covers abandonment
|
|
289
|
-
'stato_di_conservazione': 'Buono',
|
|
290
|
-
'scavato': 'Sì',
|
|
291
|
-
'anno_scavo': datetime.now().year
|
|
292
|
-
})
|
|
293
|
-
us_list.append(us_1)
|
|
294
|
-
|
|
295
|
-
print(f"Created {len(us_list)} US records with correct stratigraphic relationships")
|
|
296
|
-
|
|
297
|
-
# 4. Create some finds
|
|
298
|
-
finds = [
|
|
299
|
-
{
|
|
300
|
-
'sito': site_name,
|
|
301
|
-
'numero_inventario': 1,
|
|
302
|
-
'tipo_reperto': 'Ceramica',
|
|
303
|
-
'definizione': 'Terra sigillata',
|
|
304
|
-
'area': 'A',
|
|
305
|
-
'us': 20,
|
|
306
|
-
'lavato': 'yes',
|
|
307
|
-
'peso': 25.5,
|
|
308
|
-
'descrizione': 'Frammento di parete con decorazione a rilievo'
|
|
309
|
-
},
|
|
310
|
-
{
|
|
311
|
-
'sito': site_name,
|
|
312
|
-
'numero_inventario': 2,
|
|
313
|
-
'tipo_reperto': 'Metallo',
|
|
314
|
-
'definizione': 'Moneta in bronzo',
|
|
315
|
-
'area': 'A',
|
|
316
|
-
'us': 20,
|
|
317
|
-
'lavato': 'yes',
|
|
318
|
-
'peso': 8.3,
|
|
319
|
-
'descrizione': 'Asse di Traiano, buona conservazione'
|
|
320
|
-
},
|
|
321
|
-
{
|
|
322
|
-
'sito': site_name,
|
|
323
|
-
'numero_inventario': 3,
|
|
324
|
-
'tipo_reperto': 'Osso',
|
|
325
|
-
'definizione': 'Osso lavorato',
|
|
326
|
-
'area': 'A',
|
|
327
|
-
'us': 32,
|
|
328
|
-
'lavato': 'yes',
|
|
329
|
-
'peso': 12.1,
|
|
330
|
-
'descrizione': 'Spillone in osso con testa decorata'
|
|
331
|
-
},
|
|
332
|
-
{
|
|
333
|
-
'sito': site_name,
|
|
334
|
-
'numero_inventario': 4,
|
|
335
|
-
'tipo_reperto': 'Ceramica',
|
|
336
|
-
'definizione': 'Ceramica comune',
|
|
337
|
-
'area': 'A',
|
|
338
|
-
'us': 30,
|
|
339
|
-
'lavato': 'yes',
|
|
340
|
-
'peso': 156.7,
|
|
341
|
-
'descrizione': 'Frammenti di olla da cucina'
|
|
342
|
-
},
|
|
343
|
-
{
|
|
344
|
-
'sito': site_name,
|
|
345
|
-
'numero_inventario': 5,
|
|
346
|
-
'tipo_reperto': 'Pietra',
|
|
347
|
-
'definizione': 'Frammento arch.',
|
|
348
|
-
'area': 'A',
|
|
349
|
-
'us': 30,
|
|
350
|
-
'lavato': 'no',
|
|
351
|
-
'peso': 2340.0,
|
|
352
|
-
'descrizione': 'Frammento di cornice modanata in marmo'
|
|
353
|
-
}
|
|
354
|
-
]
|
|
355
|
-
|
|
356
|
-
for find_data in finds:
|
|
357
|
-
inventario_service.create_inventario(find_data)
|
|
358
|
-
print(f"Created {len(finds)} inventory items")
|
|
359
|
-
|
|
360
|
-
# Close database connection
|
|
361
|
-
db_conn.close()
|
|
362
|
-
|
|
363
|
-
print(f"\nSample database created successfully at: {db_path}")
|
|
364
|
-
print("\nStratigraphic sequence (from newest to oldest):")
|
|
365
|
-
print("1 (Topsoil) → 40 (Abandonment) → 32 (Beaten earth floor) → 31 (Leveling)")
|
|
366
|
-
print("→ 30 (Collapse) → 20 (Use layer) → 22 (Repair) → 13 (Floor) → 12 (Preparation)")
|
|
367
|
-
print("→ 11 (Wall in cut 10) → 10 (Foundation cut) → 1000 (Natural)")
|
|
368
|
-
print("\nNo stratigraphic paradoxes - all relationships follow archaeological logic!")
|
|
369
|
-
|
|
370
|
-
return db_path
|
|
371
|
-
|
|
372
|
-
if __name__ == "__main__":
|
|
373
|
-
create_correct_stratigraphy_sample()
|