<commit_before># TODO
List of TODO items for Panoramix

## Improvments
* [druid] Allow for post aggregations (ratios!)
* [sql] find a way to manage time granularity
* [sql] support arbitrary expression as column
* [sql] define column based grouping
* [sql] make "Test Connection" test further
* csv export out of table view
* in/notin filters autocomplete

## Better Javascript enables
* Async on Druidify! in exploration page
* Async form reload onchange of viz_type dropdown
* Reintroduce query and stopwatch
* Fix resize / refresh

## New Features
* Annotations layers
* Add a per-datasource permission<commit_msg>Removing done items from TODO<commit_after># TODO
List of TODO items for Panoramix

## Improvments
* [druid] Allow for post aggregations (ratios!)
* [sql] define column based grouping
* [sql] make "Test Connection" test further
* csv export out of table view
* in/notin filters autocomplete

## Better Javascript enables
* Async on Druidify! in exploration page
* Async form reload onchange of viz_type dropdown
* Reintroduce query and stopwatch
* Fix resize / refresh

## New Features
* Annotations layers
* Add a per-datasource permission
{'fraction_non_alphanumeric': 0.06741573033707865, 'fraction_numerical': 0.0, 'mean_word_length': 5.0, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '267030', 'n_tokens_mistral': 336, 'n_tokens_neox': 312, 'n_words': 149}