welearn-database 1.5.4.dev0__tar.gz → 1.5.4.dev1__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 (53) hide show
  1. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/PKG-INFO +1 -1
  2. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/pyproject.toml +2 -1
  3. welearn_database-1.5.4.dev1/welearn_database/alembic/versions/0310ff0bda4f_track_document_last_state.py +38 -0
  4. welearn_database-1.5.4.dev1/welearn_database/alembic/versions/d990f127902f_merge_keycloack_and_new_cleaned_state_.py +26 -0
  5. welearn_database-1.5.4.dev1/welearn_database/alembic/versions/f10903998081_keycloack_id_for_user_id.py +30 -0
  6. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/data/models/document_related.py +18 -0
  7. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/data/models/user_related.py +1 -0
  8. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/LICENSE +0 -0
  9. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/README.md +0 -0
  10. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/__init__.py +0 -0
  11. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/README +0 -0
  12. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/env.py +0 -0
  13. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/script.py.mako +0 -0
  14. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/068312e7800c_add_referrer_origin_column_to_user_and_.py +0 -0
  15. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/0e0bc0fca384_doc_qty_per_source.py +0 -0
  16. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/16ff997426d3_remove_error_retrieval_unique_constraint.py +0 -0
  17. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/2ad4895b2674_data_collection.py +0 -0
  18. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/4c7161819e5a_grafana_views.py +0 -0
  19. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/4f5a188dd614_add_main_url_column.py +0 -0
  20. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/4fcbfb7f3145_added_api_key_management_table.py +0 -0
  21. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/5aad97149044_add_histo_table_for_materialized_views.py +0 -0
  22. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/5d46d7920342_support_sub_corpus.py +0 -0
  23. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/5d82613c9aca_context_document.py +0 -0
  24. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/6d4346fad6f4_view_used_feature_per_session.py +0 -0
  25. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/821173cf9c5d_initial_migration.py +0 -0
  26. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/84c42739c17b_create_table_errordataquality.py +0 -0
  27. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/89920abb7ff8_add_category.py +0 -0
  28. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/8b780aea403a_add_university_data.py +0 -0
  29. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/95ffe7afa64c_add_index_idx_welearn_document_keyword_.py +0 -0
  30. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/96bba9e4842a_merge_external_id_error_quality.py +0 -0
  31. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/9b4f1da0c1f2_data_collection_for_focus_group.py +0 -0
  32. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/a50a1db3ca2a_add_used_since_column_for_embeddings.py +0 -0
  33. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/b031206324b7_agent_related.py +0 -0
  34. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/b049924f7067_modify_corpus_name_embedding_model_lang_.py +0 -0
  35. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/b84462ca3800_update_grafana_process_state_view.py +0 -0
  36. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/ccdbd708c997_create_column_external_id.py +0 -0
  37. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/d22d6324c256_cleaned_document_state.py +0 -0
  38. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/e354666f951d_inferred_user.py +0 -0
  39. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/f1ce0ad2845b_add_doi_column_to_document.py +0 -0
  40. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/f5e91a5c950d_add_analytic_form.py +0 -0
  41. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/alembic/versions/f8602200fa99_update_session_view.py +0 -0
  42. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/data/__init__.py +0 -0
  43. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/data/details_dict.py +0 -0
  44. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/data/enumeration.py +0 -0
  45. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/data/models/__init__.py +0 -0
  46. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/data/models/agent_related.py +0 -0
  47. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/data/models/corpus_related.py +0 -0
  48. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/data/models/grafana.py +0 -0
  49. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/database_utils.py +0 -0
  50. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/exceptions.py +0 -0
  51. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/modules/__init__.py +0 -0
  52. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/modules/text_cleaning.py +0 -0
  53. {welearn_database-1.5.4.dev0 → welearn_database-1.5.4.dev1}/welearn_database/regular_expression.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: welearn-database
3
- Version: 1.5.4.dev0
3
+ Version: 1.5.4.dev1
4
4
  Summary: All stuff related to relationnal database from the WeLearn project
5
5
  License: cc-by-sa-nc
6
6
  Author: Théo
@@ -1,6 +1,7 @@
1
1
  [project]
2
2
  name = "welearn-database"
3
- version = "1.5.4.dev0"
3
+ version = "1.5.4.dev1"
4
+
4
5
  description = "All stuff related to relationnal database from the WeLearn project"
5
6
  authors = [
6
7
  {name = "Théo",email = "theo.nardin@cri-paris.org"}
@@ -0,0 +1,38 @@
1
+ """track_document_last_state
2
+
3
+ Revision ID: 0310ff0bda4f
4
+ Revises: d22d6324c256
5
+ Create Date: 2026-09-23 11:48:30.473174
6
+
7
+ """
8
+
9
+ from typing import Sequence, Union
10
+
11
+ import sqlalchemy as sa
12
+ from alembic import op
13
+
14
+ # revision identifiers, used by Alembic.
15
+ revision: str = "0310ff0bda4f"
16
+ down_revision: Union[str, None] = "d22d6324c256"
17
+ branch_labels: Union[str, Sequence[str], None] = None
18
+ depends_on: Union[str, Sequence[str], None] = None
19
+
20
+
21
+ def upgrade() -> None:
22
+ op.execute("""
23
+ CREATE OR REPLACE VIEW document_related.track_document_latest_state
24
+ AS SELECT DISTINCT ON (ps.document_id) ps.id,
25
+ ps.document_id,
26
+ wd.corpus_id,
27
+ wd.lang,
28
+ ps.title,
29
+ ps.created_at,
30
+ ps.operation_order
31
+ FROM document_related.process_state ps
32
+ JOIN document_related.welearn_document wd ON ps.document_id = wd.id
33
+ ORDER BY ps.document_id, ps.operation_order DESC;
34
+ """)
35
+
36
+
37
+ def downgrade() -> None:
38
+ op.execute("DROP VIEW IF EXISTS document_related.track_document_latest_state;")
@@ -0,0 +1,26 @@
1
+ """merge keycloack and new cleaned state related stuff
2
+
3
+ Revision ID: d990f127902f
4
+ Revises: 0310ff0bda4f, f10903998081
5
+ Create Date: 2026-09-23 16:20:59.738749
6
+
7
+ """
8
+ from typing import Sequence, Union
9
+
10
+ from alembic import op
11
+ import sqlalchemy as sa
12
+
13
+
14
+ # revision identifiers, used by Alembic.
15
+ revision: str = 'd990f127902f'
16
+ down_revision: Union[str, None] = ('0310ff0bda4f', 'f10903998081')
17
+ branch_labels: Union[str, Sequence[str], None] = None
18
+ depends_on: Union[str, Sequence[str], None] = None
19
+
20
+
21
+ def upgrade() -> None:
22
+ pass
23
+
24
+
25
+ def downgrade() -> None:
26
+ pass
@@ -0,0 +1,30 @@
1
+ """keycloack_id_for_user_id
2
+
3
+ Revision ID: f10903998081
4
+ Revises: 5d46d7920342
5
+ Create Date: 2026-09-23 14:27:26.389768
6
+
7
+ """
8
+
9
+ from typing import Sequence, Union
10
+
11
+ import sqlalchemy as sa
12
+ from alembic import op
13
+
14
+ # revision identifiers, used by Alembic.
15
+ revision: str = "f10903998081"
16
+ down_revision: Union[str, None] = "5d46d7920342"
17
+ branch_labels: Union[str, Sequence[str], None] = None
18
+ depends_on: Union[str, Sequence[str], None] = None
19
+
20
+
21
+ def upgrade() -> None:
22
+ op.add_column(
23
+ "inferred_user",
24
+ sa.Column("keycloak_id", sa.Uuid(), nullable=True, unique=True),
25
+ schema="user_related",
26
+ )
27
+
28
+
29
+ def downgrade() -> None:
30
+ op.drop_column("inferred_user", "keycloak_id", schema="user_related")
@@ -563,3 +563,21 @@ class QtyDocumentPerCorpus(Base):
563
563
 
564
564
  source_name: Mapped[str] = mapped_column(primary_key=True)
565
565
  count: Mapped[int]
566
+
567
+
568
+ class TrackDocumentLatestState(Base):
569
+ __tablename__ = "track_document_latest_state"
570
+ __table_args__ = {"schema": schema_name}
571
+ __read_only__ = True
572
+
573
+ id: Mapped[UUID] = mapped_column(
574
+ primary_key=True,
575
+ type_=types.Uuid,
576
+ )
577
+ document_id: Mapped[UUID] = mapped_column(
578
+ type_=types.Uuid,
579
+ )
580
+ lang: Mapped[str]
581
+ title: Mapped[str]
582
+ created_at: Mapped[datetime] = mapped_column()
583
+ operation_order: Mapped[int]
@@ -215,6 +215,7 @@ class InferredUser(Base):
215
215
  id: Mapped[UUID] = mapped_column(
216
216
  types.Uuid, primary_key=True, nullable=False, server_default="gen_random_uuid()"
217
217
  )
218
+ keycloak_id: Mapped[UUID] = mapped_column(types.Uuid, nullable=True)
218
219
  origin_referrer: Mapped[str | None]
219
220
  university_title: Mapped[str | None]
220
221
  role: Mapped[str | None]