Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 82 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
env/
venv/
ENV/
env.bak/
venv.bak/
*.egg-info/
.installed.cfg
*.egg
dist/
build/
*.whl
.venv

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/

# Translations
*.mo
*.pot

# Flask stuff:
instance/
.webassets-cache

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# Environments
.env
.envrc
*.env

# VS Code
.vscode/

# Pycharm
.idea/

# Docker
Dockerfile
docker-compose.yml
.dockerignore
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ celerybeat-schedule
# virtualenv
venv/
ENV/
.venv/

# Spyder project settings
.spyderproject
Expand Down
17 changes: 17 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
FROM python:3.11

RUN addgroup --system app && adduser --system --ingroup app app
WORKDIR /home/app
RUN chown app:app -R /home/app

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY data data
COPY gnomad_sumstats_explorer gnomad_sumstats_explorer

EXPOSE 8000

USER app
ENV PYTHONPATH="."
CMD [ "shiny", "run", "--host", "0.0.0.0", "--port", "8000", "gnomad_sumstats_explorer/app.py" ]
12 changes: 12 additions & 0 deletions cloudbuild.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
steps:
- name: 'gcr.io/cloud-builders/docker'
args:
[
'build',
'-t',
'us-docker.pkg.dev/$PROJECT_ID/gnomad/gnomad-sumstats-explorer:$SHORT_SHA',
'.',
]

images:
- 'us-docker.pkg.dev/$PROJECT_ID/gnomad/gnomad-sumstats-explorer:$SHORT_SHA'
4 changes: 4 additions & 0 deletions requirements-dev.in
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# Used to create the requirements-dev.txt file
# Note: `pip-compile requirements-dev.in` needs to be run before changes in requirements-dev.in are reflected in
# requirements-dev.txt, which is used for GitHub Actions

# Constrain to the requirements.txt file to reduce conflicts. When updating, first compile requirements.txt, then
# requirements-dev.txt
-c requirements.txt
black==24.4.2 # This should be kept in sync with the version in .pre-commit-config.yaml
isort==5.12.0 # This should be kept in sync with the version in .pre-commit-config.yaml
autopep8==2.0.2 # This should be kept in sync with the version in .pre-commit-config.yaml
Expand Down
13 changes: 9 additions & 4 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ black==24.4.2
cfgv==3.4.0
# via pre-commit
click==8.1.7
# via black
# via
# -c requirements.txt
# black
dill==0.3.8
# via pylint
distlib==0.3.8
Expand All @@ -32,12 +34,15 @@ mypy-extensions==1.0.0
# via black
nodeenv==1.9.1
# via pre-commit
packaging==24.1
# via black
packaging==24.2
# via
# -c requirements.txt
# black
pathspec==0.12.1
# via black
platformdirs==4.2.2
platformdirs==4.3.6
# via
# -c requirements.txt
# black
# pylint
# virtualenv
Expand Down
6 changes: 6 additions & 0 deletions requirements.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
faicons
shiny
shinywidgets
seaborn
pandas
plotly
173 changes: 167 additions & 6 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,167 @@
faicons
shiny
shinywidgets
seaborn
pandas
plotly
#
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
# pip-compile requirements.in
#
anyio==4.6.2.post1
# via
# starlette
# watchfiles
appdirs==1.4.4
# via shiny
asgiref==3.8.1
# via shiny
asttokens==2.4.1
# via stack-data
click==8.1.7
# via
# shiny
# uvicorn
comm==0.2.2
# via ipywidgets
contourpy==1.3.0
# via matplotlib
cycler==0.12.1
# via matplotlib
decorator==5.1.1
# via ipython
executing==2.1.0
# via stack-data
faicons==0.2.2
# via -r requirements.in
fonttools==4.54.1
# via matplotlib
h11==0.14.0
# via uvicorn
htmltools==0.6.0
# via
# faicons
# shiny
idna==3.10
# via anyio
ipython==8.18.0
# via ipywidgets
ipywidgets==8.1.5
# via shinywidgets
jedi==0.19.1
# via ipython
jupyter-core==5.7.2
# via shinywidgets
jupyterlab-widgets==3.0.13
# via ipywidgets
kiwisolver==1.4.7
# via matplotlib
linkify-it-py==2.0.3
# via shiny
markdown-it-py==3.0.0
# via
# mdit-py-plugins
# shiny
matplotlib==3.9.2
# via seaborn
matplotlib-inline==0.1.7
# via ipython
mdit-py-plugins==0.4.2
# via shiny
mdurl==0.1.2
# via markdown-it-py
narwhals==1.13.3
# via shiny
numpy==2.1.3
# via
# contourpy
# matplotlib
# pandas
# seaborn
orjson==3.10.11
# via shiny
packaging==24.2
# via
# htmltools
# matplotlib
# plotly
# shiny
pandas==2.2.3
# via
# -r requirements.in
# seaborn
parso==0.8.4
# via jedi
pexpect==4.9.0
# via ipython
pillow==11.0.0
# via matplotlib
platformdirs==4.3.6
# via jupyter-core
plotly==5.24.1
# via -r requirements.in
prompt-toolkit==3.0.36
# via
# ipython
# questionary
# shiny
ptyprocess==0.7.0
# via pexpect
pure-eval==0.2.3
# via stack-data
pygments==2.18.0
# via ipython
pyparsing==3.2.0
# via matplotlib
python-dateutil==2.9.0.post0
# via
# matplotlib
# pandas
# shinywidgets
python-multipart==0.0.17
# via shiny
pytz==2024.2
# via pandas
questionary==2.0.1
# via shiny
seaborn==0.13.2
# via -r requirements.in
shiny==1.2.0
# via
# -r requirements.in
# shinywidgets
shinywidgets==0.3.4
# via -r requirements.in
six==1.16.0
# via
# asttokens
# python-dateutil
sniffio==1.3.1
# via anyio
stack-data==0.6.3
# via ipython
starlette==0.41.2
# via shiny
tenacity==9.0.0
# via plotly
traitlets==5.14.3
# via
# comm
# ipython
# ipywidgets
# jupyter-core
# matplotlib-inline
typing-extensions==4.12.2
# via
# htmltools
# shiny
tzdata==2024.2
# via pandas
uc-micro-py==1.0.3
# via linkify-it-py
uvicorn==0.32.0
# via shiny
watchfiles==0.24.0
# via shiny
wcwidth==0.2.13
# via prompt-toolkit
websockets==13.1
# via shiny
widgetsnbextension==4.0.13
# via ipywidgets
Loading