Colin Maudry
93777cce6d
Changelog v2.7.5
2026-04-24 11:50:36 +02:00
Colin Maudry
dadbb0aeff
Possibilité de chercher soit des mots présents, soit une suite de mot précise #42
2026-04-24 11:40:02 +02:00
Colin Maudry
f7b7954ed2
Merge branch 'feature/72_observatoire_duckdb_filters' into dev
2026-04-23 12:33:48 +02:00
Colin Maudry
fc4d965b20
Spinner de chargemetn sur la préviusalisation des données
2026-04-23 12:33:30 +02:00
Colin Maudry
a715140af0
test(observatoire): intégration DuckDB pour prepare_dashboard_data ( #72 )
2026-04-23 00:07:24 +02:00
Colin Maudry
c45d4e0ea1
refactor(observatoire): appelants utilisent la nouvelle signature ( #72 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-22 23:57:10 +02:00
Colin Maudry
0777153c82
refactor(observatoire): prepare_dashboard_data utilise DuckDB ( #72 )
2026-04-22 23:55:45 +02:00
Colin Maudry
6e670c97c9
feat(observatoire): filtres montant min/max ( #72 )
2026-04-22 23:53:43 +02:00
Colin Maudry
522c467702
feat(observatoire): filtres liste via list_has_any ( #72 )
2026-04-22 23:49:32 +02:00
Colin Maudry
74ae1fb008
feat(observatoire): IN départements et skip conditionnel par ID ( #72 )
2026-04-22 23:43:55 +02:00
Colin Maudry
e3a0fba4df
feat(observatoire): filtres LIKE/ILIKE dans dashboard_filters_to_sql ( #72 )
2026-04-22 23:42:43 +02:00
Colin Maudry
a382370767
feat(observatoire): filtres d'égalité simples dans dashboard_filters_to_sql ( #72 )
2026-04-22 23:39:13 +02:00
Colin Maudry
653999693c
feat(observatoire): squelette de dashboard_filters_to_sql ( #72 )
2026-04-22 23:36:59 +02:00
Colin Maudry
aaf54eef91
docs(observatoire): plan d'implémentation filtrage natif DuckDB ( #72 )
...
Plan en 10 tâches TDD : construction incrémentale de dashboard_filters_to_sql,
réécriture de prepare_dashboard_data, adaptation des 3 appelants de
observatoire.py, test d'intégration sur tests/test.parquet.
2026-04-22 23:21:47 +02:00
Colin Maudry
b996eb97cc
docs(observatoire): spec du filtrage natif DuckDB ( #72 )
...
Décrit la refonte de prepare_dashboard_data pour pousser le filtrage au
niveau DuckDB via un nouveau helper dashboard_filters_to_sql, sur le
modèle de filter_query_to_sql / _fetch_page_sql.
2026-04-22 23:16:41 +02:00
Colin Maudry
3e89dacff9
Correction de setup_table_columns et autres
v2.7.4
2026-04-22 21:16:51 +02:00
Colin Maudry
eb8d7abe0d
actions/checkout@v4
2026-04-22 20:55:22 +02:00
Colin Maudry
a484984e40
Merge tag 'v2.7.4' into dev
...
- Utilisation élargie de DuckDB au détriment de Polars => bien meilleure perf ([#72 ](https://github.com/ColinMaudry/decp.info/issues/72 )
2026-04-22 20:50:47 +02:00
Colin Maudry
bea160aa00
Merge branch 'release/2.7.4'
2026-04-22 20:50:12 +02:00
Colin Maudry
8e603d2806
Bump version number
2026-04-22 20:49:57 +02:00
Colin Maudry
1d833bb800
Merge branch 'feature/72_duckdb_performance' into dev
2026-04-22 20:48:39 +02:00
Colin Maudry
f81c897342
Changelog 2.7.4
2026-04-22 20:48:27 +02:00
Colin Maudry
3532a9c381
Path de duckdb configurable, correction des tests #72
2026-04-22 20:43:38 +02:00
Colin Maudry
b4956c34d1
Utilisation d'une seule fonction postprocess #72
2026-04-22 18:30:36 +02:00
Colin Maudry
72d4881796
Simplifications du code #72
2026-04-22 17:17:54 +02:00
Colin Maudry
1e67d329d0
perf(tableau): pousser filtre/tri/pagination/comptage dans DuckDB
...
Remplace le chemin lent de prepare_table_data (chargement de toutes les
lignes depuis DuckDB puis filtrage/post-traitement Polars avant slice)
par _fetch_page_sql qui pousse filtre, tri, pagination et comptage dans
DuckDB via filter_query_to_sql / sort_by_to_sql, puis post-traite
uniquement la page de 20 lignes.
Supprime _load_filter_sort_postprocess (plus utilisé). Met à jour les
tests test_table.py en supprimant les tests associés et en ajoutant
des tests dédiés pour _fetch_page_sql. Corrige le fixture flask_app
pour utiliser src.utils.cache (même instance que le module) afin que
@cache.memoize() fonctionne.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 23:53:45 +02:00
Colin Maudry
4e25ff5c85
feat(table): ajouter postprocess_page pour post-traiter une page seule
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 23:42:52 +02:00
Colin Maudry
cdb6a70f7a
feat(db): ajouter count_marches, count_unique_marches et paramètre offset à query_marches
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 23:39:51 +02:00
Colin Maudry
74213d3844
fix(table_sql): gérer *foo* et utiliser isinstance pour les types Polars
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 23:37:03 +02:00
Colin Maudry
95c90e319e
feat: ajouter traducteurs filter_query→SQL et sort_by→SQL
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 23:33:49 +02:00
Colin Maudry
abc6390174
Améliorations CLAUDE.md pour plus utiliser rtk
2026-04-21 21:55:18 +02:00
Colin Maudry
6d22b7298a
Merge tag 'v2.7.3' into dev
...
- Mise en cache des vues tableau par ensemble de filtres et de tris
- Résolution du bug d'écriture du fichier de vérouillage de la base de données
2026-04-20 11:55:55 +02:00
Colin Maudry
e33e5da619
Merge branch 'release/2.7.3'
v2.7.3
2026-04-20 11:42:17 +02:00
Colin Maudry
ffeb708f1d
Changelog 2.7.3
2026-04-20 11:42:04 +02:00
Colin Maudry
aa445b6f01
Plan #72
2026-04-20 11:36:38 +02:00
Colin Maudry
330ed4f0cb
Base de données et .lock à la racine de decp.info
2026-04-20 11:28:00 +02:00
Colin Maudry
da5a99b3af
Merge branch 'main' into dev
2026-04-20 10:49:31 +02:00
Colin Maudry
285ed37d79
Correction de l'import d'utils.cache
2026-04-20 00:06:44 +02:00
Colin Maudry
e44fe452b2
Corrections de typage et d'appels à filter_table_data
2026-04-19 23:55:20 +02:00
Colin Maudry
7aef7acd34
Petits ajustements (cache => utils, noms de variables)
2026-04-19 23:49:02 +02:00
Colin Maudry
3ce6f224ae
rtk, uv, pyproject
2026-04-19 23:39:33 +02:00
Colin Maudry
c7c7c2c62c
Factorisation des opération de postprocess des tables
2026-04-19 23:28:45 +02:00
Colin Maudry
ad58c1152a
Améliorations sur le typage
2026-04-19 23:23:07 +02:00
Colin Maudry
19449969d6
Mention de rtk dans CLAUDE.md
2026-04-19 23:22:48 +02:00
Colin Maudry
b0d2aca4ff
perf(tableau): memoize filter+sort+postprocess pipeline ( #72 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-19 22:50:32 +02:00
Colin Maudry
0abbd982ea
feat: add memoized _load_filter_sort_postprocess helper ( #72 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-19 22:39:13 +02:00
Colin Maudry
18d07b5398
feat: add normalize_sort_by hashable cache-key helper ( #72 )
...
Add normalize_sort_by function to convert Dash DataTable's sort_by list
(unhashable) into a tuple representation (hashable) for use in cache keys.
Includes TDD-driven tests for empty inputs, hashability, and order preservation.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-19 22:36:55 +02:00
Colin Maudry
ff425108b0
fix: restore track_search import in table.py ( #72 )
2026-04-19 22:34:25 +02:00
Colin Maudry
0c7ca04f8e
refactor: move track_search out of filter_table_data into callers ( #72 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-19 22:32:28 +02:00
Colin Maudry
89904a5bad
test: scaffold unit tests for table utilities ( #72 )
2026-04-19 22:30:28 +02:00