Add client/ setup and plan
This commit is contained in:
committed by
=Michael Hohn
parent
e3f4d9f012
commit
8d80272922
1
.gitignore
vendored
1
.gitignore
vendored
@@ -43,3 +43,4 @@ go.work.sum
|
|||||||
.env
|
.env
|
||||||
/artifactstore-data/.minio.sys
|
/artifactstore-data/.minio.sys
|
||||||
/qldbminio/qldb
|
/qldbminio/qldb
|
||||||
|
.ipynb_checkpoints/
|
||||||
|
|||||||
34
README.md
34
README.md
@@ -7,6 +7,40 @@ TODO Style notes
|
|||||||
- Dynamic behaviour must be explicit
|
- Dynamic behaviour must be explicit
|
||||||
|
|
||||||
|
|
||||||
|
## Client CodeQL Database Selector
|
||||||
|
Separate from the server's downloading of databases, a client-side interface is needed to generate the `databases.json` file. This
|
||||||
|
|
||||||
|
1. must be usable from the shell
|
||||||
|
2. must be interactive (Python, Jupyter)
|
||||||
|
3. is session based to allow iterations on selection / narrowing
|
||||||
|
4. must be queryable. There is no need to reinvent sql / dataframes
|
||||||
|
|
||||||
|
Python with dataframes is ideal for this.
|
||||||
|
|
||||||
|
- Set up the virtual environment and install tools
|
||||||
|
|
||||||
|
cd ~/work-gh/mrva/mrvacommander/client
|
||||||
|
python3.11 -m venv venv
|
||||||
|
source venv/bin/activate
|
||||||
|
pip install --upgrade pip
|
||||||
|
pip install jupyterlab pandas ipython
|
||||||
|
pip install lckr-jupyterlab-variableinspector
|
||||||
|
|
||||||
|
- Run jupyterlab
|
||||||
|
|
||||||
|
cd ~/work-gh/mrva/mrvacommander/client
|
||||||
|
source venv/bin/activate
|
||||||
|
jupyter lab &
|
||||||
|
|
||||||
|
The variable inspector is a right-click on an open console or notebook.
|
||||||
|
|
||||||
|
The `jupyter` command produces output including
|
||||||
|
|
||||||
|
Jupyter Server 2.14.1 is running at:
|
||||||
|
http://127.0.0.1:8888/lab?token=4c91308819786fe00a33b76e60f3321840283486457516a1
|
||||||
|
|
||||||
|
Use this to connect multiple front ends
|
||||||
|
|
||||||
## Reverse proxy
|
## Reverse proxy
|
||||||
For testing, replay flows using mitmweb. This is faster and simpler than using
|
For testing, replay flows using mitmweb. This is faster and simpler than using
|
||||||
gh-mrva or the VS Code plugin.
|
gh-mrva or the VS Code plugin.
|
||||||
|
|||||||
48
client/Plan.ipynb
Normal file
48
client/Plan.ipynb
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
{
|
||||||
|
"cells": [
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"id": "e1c3b239-d45e-43f6-9d2d-64ee46e75e61",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"1. Find available DBs\n",
|
||||||
|
"2. Save list\n",
|
||||||
|
"3. Refine selection\n",
|
||||||
|
"4. Save selection\n",
|
||||||
|
" 1. Generate `databases.json` for use in vs code extension\n",
|
||||||
|
" 2. Generate `list-databases.json` for use by gh-mrva client\n"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 6,
|
||||||
|
"id": "042947ea-8514-4318-a768-7826e494dd43",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"import pandas as pd, numpy as np"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"metadata": {
|
||||||
|
"kernelspec": {
|
||||||
|
"display_name": "Python 3 (ipykernel)",
|
||||||
|
"language": "python",
|
||||||
|
"name": "python3"
|
||||||
|
},
|
||||||
|
"language_info": {
|
||||||
|
"codemirror_mode": {
|
||||||
|
"name": "ipython",
|
||||||
|
"version": 3
|
||||||
|
},
|
||||||
|
"file_extension": ".py",
|
||||||
|
"mimetype": "text/x-python",
|
||||||
|
"name": "python",
|
||||||
|
"nbconvert_exporter": "python",
|
||||||
|
"pygments_lexer": "ipython3",
|
||||||
|
"version": "3.11.9"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nbformat": 4,
|
||||||
|
"nbformat_minor": 5
|
||||||
|
}
|
||||||
94
client/requirements.txt
Normal file
94
client/requirements.txt
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
anyio==4.4.0
|
||||||
|
appnope==0.1.4
|
||||||
|
argon2-cffi==23.1.0
|
||||||
|
argon2-cffi-bindings==21.2.0
|
||||||
|
arrow==1.3.0
|
||||||
|
asttokens==2.4.1
|
||||||
|
async-lru==2.0.4
|
||||||
|
attrs==23.2.0
|
||||||
|
Babel==2.15.0
|
||||||
|
beautifulsoup4==4.12.3
|
||||||
|
bleach==6.1.0
|
||||||
|
certifi==2024.7.4
|
||||||
|
cffi==1.16.0
|
||||||
|
charset-normalizer==3.3.2
|
||||||
|
comm==0.2.2
|
||||||
|
debugpy==1.8.2
|
||||||
|
decorator==5.1.1
|
||||||
|
defusedxml==0.7.1
|
||||||
|
executing==2.0.1
|
||||||
|
fastjsonschema==2.20.0
|
||||||
|
fqdn==1.5.1
|
||||||
|
h11==0.14.0
|
||||||
|
httpcore==1.0.5
|
||||||
|
httpx==0.27.0
|
||||||
|
idna==3.7
|
||||||
|
ipykernel==6.29.5
|
||||||
|
ipython==8.26.0
|
||||||
|
isoduration==20.11.0
|
||||||
|
jedi==0.19.1
|
||||||
|
Jinja2==3.1.4
|
||||||
|
json5==0.9.25
|
||||||
|
jsonpointer==3.0.0
|
||||||
|
jsonschema==4.23.0
|
||||||
|
jsonschema-specifications==2023.12.1
|
||||||
|
jupyter-events==0.10.0
|
||||||
|
jupyter-lsp==2.2.5
|
||||||
|
jupyter_client==8.6.2
|
||||||
|
jupyter_core==5.7.2
|
||||||
|
jupyter_server==2.14.1
|
||||||
|
jupyter_server_terminals==0.5.3
|
||||||
|
jupyterlab==4.2.3
|
||||||
|
jupyterlab_pygments==0.3.0
|
||||||
|
jupyterlab_server==2.27.2
|
||||||
|
MarkupSafe==2.1.5
|
||||||
|
matplotlib-inline==0.1.7
|
||||||
|
mistune==3.0.2
|
||||||
|
nbclient==0.10.0
|
||||||
|
nbconvert==7.16.4
|
||||||
|
nbformat==5.10.4
|
||||||
|
nest-asyncio==1.6.0
|
||||||
|
notebook_shim==0.2.4
|
||||||
|
numpy==2.0.0
|
||||||
|
overrides==7.7.0
|
||||||
|
packaging==24.1
|
||||||
|
pandas==2.2.2
|
||||||
|
pandocfilters==1.5.1
|
||||||
|
parso==0.8.4
|
||||||
|
pexpect==4.9.0
|
||||||
|
platformdirs==4.2.2
|
||||||
|
prometheus_client==0.20.0
|
||||||
|
prompt_toolkit==3.0.47
|
||||||
|
psutil==6.0.0
|
||||||
|
ptyprocess==0.7.0
|
||||||
|
pure-eval==0.2.2
|
||||||
|
pycparser==2.22
|
||||||
|
Pygments==2.18.0
|
||||||
|
python-dateutil==2.9.0.post0
|
||||||
|
python-json-logger==2.0.7
|
||||||
|
pytz==2024.1
|
||||||
|
PyYAML==6.0.1
|
||||||
|
pyzmq==26.0.3
|
||||||
|
referencing==0.35.1
|
||||||
|
requests==2.32.3
|
||||||
|
rfc3339-validator==0.1.4
|
||||||
|
rfc3986-validator==0.1.1
|
||||||
|
rpds-py==0.19.0
|
||||||
|
Send2Trash==1.8.3
|
||||||
|
six==1.16.0
|
||||||
|
sniffio==1.3.1
|
||||||
|
soupsieve==2.5
|
||||||
|
stack-data==0.6.3
|
||||||
|
terminado==0.18.1
|
||||||
|
tinycss2==1.3.0
|
||||||
|
tornado==6.4.1
|
||||||
|
traitlets==5.14.3
|
||||||
|
types-python-dateutil==2.9.0.20240316
|
||||||
|
typing_extensions==4.12.2
|
||||||
|
tzdata==2024.1
|
||||||
|
uri-template==1.3.0
|
||||||
|
urllib3==2.2.2
|
||||||
|
wcwidth==0.2.13
|
||||||
|
webcolors==24.6.0
|
||||||
|
webencodings==0.5.1
|
||||||
|
websocket-client==1.8.0
|
||||||
Reference in New Issue
Block a user