Skip to content

Conversation

@JoeKarow
Copy link
Collaborator

@JoeKarow JoeKarow commented Aug 1, 2025

No description provided.

KristijanArmeni and others added 26 commits June 17, 2025 14:33
* [ENH] Hashtag update and add tests (#121)

* [ENH] update interface to rely on post column, add users col

* [ENH] update gini() to operate on pl.Series

* [ENH] wrap analysis code into hashtag_analyzer()

* [ENH] check for time column dtype

* [ENH] fix column naming, set defaul window to 12h

* [ENH] add data and tests for hashtag_analyzer

* [ENH] add tests for gini()

* [MAINT] explicitly specify return_dtype

* [MAINT] cleanup

* fix: hide unsupported hashtag analysis export formats

* test tutorial comment cleanup

* fix: Capitalization typo

---------

Co-authored-by: DeanEby <ebyd21@gmail.com>

* feat: analyzer parameterization (#126)

This change introduces analyzer parameterization. Parameters can be defined
using `AnalyzerParam` and queried via the analyzer/web presenter context
objects. The CLI is updated to include a step where parameters are chosen,
and they are reflected back when the analysis is viewed. The test helpers
are also updated to include parameter provision.

The example analyzer, which performs simple character count, is updated
to include a single parameter, namely `fudge_factor` that offsets the
character count.

These parameter types are supported:
- `IntegerParam` (produces `int` value)
- `TimeBinningParam` (produces `TimeBinningValue`, essentially an object
  with attributes `unit` and `amount`.

The `TimeBinningParam` is currently unused, but it is defined in anticipation
that it will be used by the hashtag tests. As such, a convenient method that
produces a polars `truncate` expression is added to `TimeBinningValue` so
it can just be dropped into the analyzer later.

* [FEAT] Add time window parameter selection to hashtags test (#129)

* add time bining parameter to hashtag analyzer
* add default parameter for tester
* de-indent help text, remove reference to polars expr

---------

Co-authored-by: DeanEby <ebyd21@gmail.com>
Co-authored-by: soul-codes <40335030+soul-codes@users.noreply.github.com>
* Implemented middleware needed to support multi tenancy with the waitress server

* Updating waitress to resolve two CVS reports from dependabot. (https://github.com/civictechdc/mango-tango-cli/security/dependabot/1), (https://github.com/civictechdc/mango-tango-cli/security/dependabot/2)

* ran black and isort
* add .env files to ignore

* use VIRTUAL_ENV if set, otherwise fallback to `./venv/`

* update workflow for codesigning

* allow manual run

* cleaup workflows

* update pyinstaller.spec for macOS codesigning and add os import; update requirements-dev.txt to ensure pyinstaller is included

* add mango.entitlements for macOS codesigning requirements

* don't upload artifacts from test builds

* update actions versions and improve dependency caching in test workflow
#157)

* initial commit, hacky factory and interface modules

* initial commit, __init__.py

* initial commit, supporting data science modules for app

* initial commit, shiny app module

* add hashtag dashboard to the suite

* add code to load raw dataset

* [ENH] use group_by_dynamic, add rolling mean computation

* [MAINT] adding 'gini_smooth' output column to output test data

* [MAINT] remove unused import

* [MAINT] add shiny, shinywidgets to requirements.txt

* set launch_browser in run_app to True

* add ShinyServerConfig in factory.py

* [FEAT] add `._start_shiny_server` method to `AnalysisWebServerContext` class

* move shiny app instance declaration from `factory.py` to `app/analysis_webserver_context`
)

* test: initial commit, add test_ngrams.py

* test: initial commit add .csv and .parquet data for testing

* test: add ParquetTestData class

* feat: sort the output of n-gram statistics, change print feedback

* test: add __init__.py

* refactor: move ngram analyzers to a single ngrams folder

* refactor: update import statements

* refactor: move and rename base test

* test: add parquet data for ngram_stats test

* initial commit, __init__.py

* chore: pl.count() deprecated use pl.len()
…cs (#165)

* remove accordion, remove filters from dataframe

* remove vertical line, remove unused dependencies in plots.py

* remove date picker, add code to select date by clicking on line plot

* fix conlflicts, move color declarations to plots.py

* format hover labels

* [MAINT] move code for placeholder figures to plots.py

* [MAINT] move `clicked_data` higher up

* [MAINT]rename bar plot ids to be more specific

* [FEAT] use place holder fig in hashtag_bar_plot()

* add line break in placeholder figure text

* update placeholder text

* [FEAT] update code to work when secondary_analysis() returns None

* improve time window info display

* fix tooltip text

* remove selected point from hover information in line plot

* update text labels in figures

* update analyzer short description, indent long description

* main: shorten the description of temporal analyzer

* use ProgressReporter
* feat: initial commit, app.py

* chore: use ngram_string variable

* feat: update factory.pyand __init__.py for Shiny dashboard

* fix: sort stats df, to correctly show top 100 ngrams, use constants for col names

* refactor: use `np.random.default_rng()` instead of `np.random.seed()`
@JoeKarow JoeKarow merged commit 9727ce7 into main Aug 1, 2025
5 checks passed
@JoeKarow JoeKarow deleted the develop branch August 1, 2025 01:09
@JoeKarow JoeKarow restored the develop branch August 1, 2025 01:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants