Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog (with possible titles of ‘added’, ‘changed’, ‘deprecated’, ‘removed’, ‘fixed’, or ‘security’), and this project adheres to Semantic Versioning.
This should align with:
Releases on PyPI
Releases on GitHub (which are like a non-portable changelog only displayed to users within GitHub)
0.3.0
Release date: 9th April 2024
Contributors: Amy Heather
Modified package so it can be used to produce the synthetic public #BeeWell survey dashboard, as well as the standard and symbol survey dashboards.
Added
An introduction to and glossary for CSS to the package documentation
Step-by-step on dashboard maintenace (updating to use new package version) in package documentation
CSS stylesheets and image files
about_page.py- to produce the About pages for each dashboard - with loads more text used in this added to toreuse_text.pyAdd
choose_topic()toexplore_results.py(although produced errors when used on public dashboard as the selectbox wouldn’t update correctly between two pages that both used this function, so ended up producing those manually in script rather than using this function, which is now just used in processing)map.py- to produce map for public dashboard with results for standard survey by MSOAAdd function for
get_image_path()topic_labels.py- names and descriptions used for the standard survey topics
Changed
Modified and added to some of the documentation pages (package maintenance, streamlit community cloud)
Use CSS and image files stored within package rather than within dashboard directory (modifications throughout package), and import them with package in
setup.pyRenamed
convert_image.pytoimages.pySeperated
create_and_aggregate_data.pyinto four seperate scripts, with modifications and additions throughout that enable it to be used for creation and processing of data for the public dashboard -synthesise_aggregate.pysynthesise_demographic.pysynthesise_responses.pysynthesise_scores.py
Modified text of
write_response_section_intro()andcaution_comparing()so can be used for public dashboardStandard survey school dashboard no longer imports standard_school_aggregate_scores (and just the version with RAG added)
In
extract_nested_results(), made addition of group optionalChanged how the RAG boxes are created in
summary_rag.pyAdapted
who_took_part.pyto work with public dashboardModified environment in
requirements.txt
0.2.0
Release date: 1st March 2024
Contributors: Amy Heather
Modified package so it can be used to produce the synthetic symbol #BeeWell survey dashboard, as well as the standard survey dashboard.
Added
Created
CHANGELOG.md(with backdated entry for 0.1.0)Created
CITATION.cffCreated package documentation using Sphinx and readthedocs -
docs/and.readthedocs.yamlcreate_group_list()inbar_charts.pywhich creates a correctly formatted list of strings depending on number of inputs (e.g. ‘a’, ‘a and b’, ‘a, b and c’)grammar.py- containslower_first()which converts first letter of string to lower case, unless all other letters are upper caseAdd
aggregate_demographic()tocreate_and_aggregate_data.pyAdd new alternative inputs, outputs and process to existing functions that were developed for standard survey, so they can be used to output equivalent content for symbol survey. This includes
authentication.py- custom login screen textcreate_and_aggregate_data.py- two possible sets of groups to aggregate byexplore_results.py- custom page text, and providing survey type to functions likefilter_by_group()import_data.py- add names of data for symbol survey as for session_state and as in TiDB Cloud, and simplified import functionpage_setup.py- to use name ‘symbol’ survey in the page menureshape_data.py- for differences with symbol (e.g. exc SEN)response_labels.py- new functioncreate_symbol_response_label_dict()static_report.py- converting some of the processes into standalone functions, so they can be imported to old function making static standard report and new function making static symbol reportwho_took_part.py- modifications for symbol like different headers and no descriptive text
Changed
Moved all About page text to
reuse_text.pyIn
requirements.txt, upgraded pip to 24.0 and streamlit to 1.31.1, and add packages used to produce documentation (sphinx, sphinx-rtd-theme, myst-parser, sphinx-autoapi)
Removed
Removed option to compare data import from TiDB to imported CSVs from the project directory (as function wasn’t being used) in
import_data.py
Fixed
Hide responses (and non-response) on ‘who took part’ if n<10 for a given response option (more strict than elsewhere on dashboard, which just requires n>=10 for the entire question). For this, modified
survey_responses()inbar_charts.py
0.1.0
Release date: 21st February 2024
Contributors: Amy Heather
First release of kailo-beewell-dashboard package on PyPi. Contains functions for production of synthetic standard #BeeWell survey dashboard (including static PDF version, which can be produced using the dashboard).
Added
Functions used to generate and process data, and to produce the dashboard:
authentication.py- for user authentication using Djangobar_charts.py- to create bar charts of proportions of each survey responses, or ordered bar charts comparing scoresbar_charts_text.py- dictionary with descriptions to go above bar charts on the ‘explore results’ pageconvert_image.py- converts a plotly figure to HTML stringcreate_and_aggregate_data.py- functions used to create and process the pupil-level dataexplore_results.py- functions used for the ‘explore results’ pageimport_data.py- connects to TiDB Cloud and imports data to session statepage_setup.py- page configuration, styling, formattingreshape_data.py- to reshape data or extract a certain element, with functions often used across multiple different pagesresponse_labels.py- dictionary of labels to each of the question response optionsreuse_text.py- two sections of text that were reused on different pages of the dashboard vs PDF reportscore_descriptions.py- simple descriptions used on the ‘explore results’ page to support score interpretationstatic_report.py- uses same functions as on the dashboard, to produce a static HTML report (containing same information as in dashboard)stylable_container.py- produces stylised containers for streamlitsummary_rag.py- produces the red-amber-green boxes and ‘summary’ page introduction and tableswitch_page.py- function to switch page programmaticallywho_took_part.py- functions used for the ‘who took part’ page