https://github.com/bidmcdigitalpsychiatry/lamp-data-reports

https://github.com/bidmcdigitalpsychiatry/lamp-data-reports

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.5%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: BIDMCDigitalPsychiatry
  • Language: Python
  • Default Branch: master
  • Size: 163 KB
Statistics
  • Stars: 0
  • Watchers: 3
  • Forks: 0
  • Open Issues: 1
  • Releases: 0
Created over 1 year ago · Last pushed 10 months ago
Metadata Files
Readme

README.md

LAMP Reports

Host: https://visual.lamp.digital

A lightweight Flask app that lets users, analysts, and admins run site‑specific Python report scripts and download the results as PDF or HTML.
Generated files live in outputs/, while the source scripts stay in reports/<site>/.

Authentication: Uses AWS DynamoDB for user management with support for IAM roles on ECS.


Project structure

text . ├── app.py # Flask logic, auth, endpoints, CLI helpers ├── user_repository.py # DynamoDB user management ├── dynamo_config.py # DynamoDB configuration ├── pyproject.toml # Project dependencies ├── uv.lock # Locked dependency versions ├── templates/ # Jinja2 HTML (Bootstrap 5 UI) │ ├── base.html │ ├── index.html │ └── login.html ├── static/ # CSS / JS │ └── style.css ├── reports/ # 1 folder per site, 1 + *.py per report │ ├── bidmc/ │ │ ├── demographics.py │ │ └── adherence.py │ └── butler/ │ └── overview.py └── outputs/ # auto‑created; finished PDFs/HTML + progress *.json


Quick‑start (local dev)

```bash

clone & install uv

git clone https://github.com/your‑org/LAMP-cortex-cnl.git cd LAMP-data-reports curl -LsSf https://astral.sh/uv/install.sh | sh

install dependencies

uv sync

configure AWS credentials (see LOCALTESTINGGUIDE.md for details)

export AWSACCESSKEYID=yourkey export AWSSECRETACCESSKEY=yoursecret export AWSREGION=us-east-1 export DYNAMODBTABLE_NAME=dev-data-reports-users

create the first admin account

uv run flask create-admin # prompts for username + password

run the dev server

uv run python app.py # http://localhost:5000 ```


User management commands

| Action | Command | | ------ | ------- | | List accounts | uv run flask users list | | Add user John to bidmc | uv run flask users add John --role user --site bidmc | | Add analyst | uv run flask users add <name> --role analyst --site <site> | | Add admin | uv run flask users add <name> --role admin | | Reset password | uv run flask users passwd <username> | | Delete account | uv run flask users delete <username> |


Adding a new report script

bash mkdir -p reports/<site> cp template_report.py reports/<site>/my_new_report.py

Each script must accept the CLI flags specified in app.py.
Flask’s auto‑reload makes the new report appear instantly in the dropdown for users allowed to see that site.


Debugging cheatsheet

| Issue | Checklist | | ----- | --------- | | “Report not found” | 1 ) File exists in outputs/?
2 ) Filename contains the task‑ID? | | Progress stuck at 0 % | Open <task>_progress.json in outputs/ for the error message. | | Script crashes | Run it manually: python reports/<site>/<file>.py --help | | DB quirks | Open database.db with DB Browser for SQLite or TablePlus. |

Set FLASK_DEBUG=1 for verbose tracebacks.


Happy reporting!
© 2025 BIDMC Division of Digital Psychiatry

Owner

  • Name: BIDMC Division of Digital Psychiatry
  • Login: BIDMCDigitalPsychiatry
  • Kind: organization
  • Email: team@digitalpsych.org
  • Location: Longwood Medical Area, Boston, MA, US

GitHub Events

Total
  • Delete event: 2
  • Push event: 1
  • Pull request event: 5
Last Year
  • Delete event: 2
  • Push event: 1
  • Pull request event: 5

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 1
  • Total pull requests: 3
  • Average time to close issues: 4 months
  • Average time to close pull requests: 15 minutes
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 3
  • Average time to close issues: 4 months
  • Average time to close pull requests: 15 minutes
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • willscripted (1)
Pull Request Authors
  • MattMatt27 (2)
  • willscripted (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/callable-build-docker.yml actions
  • actions/attest-build-provenance v2 composite
  • actions/checkout v4 composite
  • docker/build-push-action v6 composite
  • docker/login-action v3 composite
  • docker/metadata-action v5 composite
  • docker/setup-buildx-action v3 composite
.github/workflows/callable-deploy-ecs.yml actions
  • actions/checkout v4 composite
  • aws-actions/amazon-ecs-deploy-task-definition v2 composite
  • aws-actions/configure-aws-credentials v4 composite
.github/workflows/manual-deploy-sha.yml actions
  • actions/checkout v4 composite
.github/workflows/manual-deploy-tag.yml actions
  • actions/checkout v4 composite
  • docker/login-action v3 composite
  • docker/setup-buildx-action v3 composite
.github/workflows/on-merge-to-master.yml actions
.github/workflows/on-pr-update.yml actions
.github/workflows/on-tag.yml actions
Dockerfile docker
  • debian bookworm-slim build
  • ghcr.io/astral-sh/uv bookworm-slim build
pyproject.toml pypi
  • altair >=4.2.2
  • boto3 >=1.34.0
  • calplot >=0.1.7.5
  • docker >=6.0.0
  • flask >=3.0
  • flask-login >=0.6
  • flask-wtf >=1.2.2
  • gunicorn ==21.2.0
  • ipython >=9.1.0
  • lamp-core >=2021.10.4
  • lamp-cortex *
  • matplotlib >=3.10.1
  • numpy >=1.26.4
  • pandas >=1.5.3
  • pdfkit >=1.0.0
  • plotly ==5.15.0
  • python-dotenv >=1.1.0
  • pytz >=2021.3
  • requests >=2.32.3
  • scipy >=1.15.2
  • seaborn >=0.12.2
  • werkzeug >=3.0
requirements.txt pypi
  • Flask-WTF *
  • IPython *
  • LAMP-core *
  • altair *
  • boto3 >=1.34.0
  • calplot *
  • flask >=3.0
  • flask-Login >=0.6
  • gunicorn ==21.2.0
  • matplotlib *
  • numpy *
  • pandas *
  • pdfkit *
  • plotly ==5.15.0
  • python-dotenv *
  • pytz *
  • requests *
  • scipy *
  • seaborn *
  • werkzeug >=3.0
uv.lock pypi
  • altair 4.2.2
  • asttokens 3.0.0
  • attrs 25.3.0
  • blinker 1.9.0
  • boto3 1.38.42
  • botocore 1.38.42
  • calplot 0.1.7.5
  • certifi 2025.6.15
  • charset-normalizer 3.4.2
  • click 8.2.1
  • colorama 0.4.6
  • compress-pickle 2.1.0
  • contourpy 1.3.2
  • cycler 0.12.1
  • datetime 4.9
  • decorator 5.2.1
  • dnspython 2.7.0
  • entrypoints 0.4
  • executing 2.2.0
  • fastdtw 0.3.4
  • flask 3.1.1
  • flask-login 0.6.3
  • flask-wtf 1.2.2
  • fonttools 4.58.4
  • geographiclib 2.0
  • geopy 2.4.1
  • gunicorn 21.2.0
  • idna 3.10
  • ipython 9.3.0
  • ipython-pygments-lexers 1.1.1
  • itsdangerous 2.2.0
  • jedi 0.19.2
  • jinja2 3.1.6
  • jmespath 1.0.1
  • joblib 1.5.1
  • jsonschema 4.24.0
  • jsonschema-specifications 2025.4.1
  • kiwisolver 1.4.8
  • lamp-core 2021.10.4
  • lamp-cortex 2025.4.18
  • lamp-data-reports 0.1.0
  • markupsafe 3.0.2
  • matplotlib 3.10.3
  • matplotlib-inline 0.1.7
  • nulltype 2.3.1
  • numpy 1.26.4
  • packaging 25.0
  • pandas 1.5.3
  • parso 0.8.4
  • patsy 1.0.1
  • pdfkit 1.0.0
  • pexpect 4.9.0
  • pillow 11.2.1
  • plotly 5.15.0
  • prompt-toolkit 3.0.51
  • ptyprocess 0.7.0
  • pure-eval 0.2.3
  • pygments 2.19.2
  • pymongo 4.13.2
  • pyparsing 3.2.3
  • python-dateutil 2.9.0.post0
  • python-dotenv 1.1.1
  • pytz 2021.3
  • pyyaml 6.0.2
  • referencing 0.36.2
  • requests 2.32.4
  • rpds-py 0.25.1
  • s3transfer 0.13.0
  • scikit-learn 1.7.0
  • scipy 1.16.0
  • seaborn 0.12.2
  • setuptools 80.9.0
  • shapely 2.1.1
  • six 1.17.0
  • stack-data 0.6.3
  • statsmodels 0.14.4
  • tenacity 9.1.2
  • threadpoolctl 3.6.0
  • toolz 1.0.0
  • traitlets 5.14.3
  • typing-extensions 4.14.0
  • tzwhere 3.0.3
  • urllib3 2.5.0
  • wcwidth 0.2.13
  • werkzeug 3.1.3
  • wtforms 3.2.1
  • zope-interface 7.2