63 lines
1.8 KiB
Markdown
63 lines
1.8 KiB
Markdown
|
# Testground Composer
|
||
|
|
||
|
This is a work-in-progress UI for configuring and running testground compositions.
|
||
|
|
||
|
The app code lives in [./app](./app), and there's a thin Jupyter notebook shell in [composer.ipynb](./composer.ipynb).
|
||
|
|
||
|
## Running
|
||
|
|
||
|
You can either run the app in docker, or in a local python virtualenv. Docker is recommended unless you're hacking
|
||
|
on the code for Composer itself.
|
||
|
|
||
|
### Running with docker
|
||
|
|
||
|
Run the `./composer.sh` script to build a container with the latest source and run it. The first build
|
||
|
will take a little while since it needs to build testground and fetch a bunch of python dependencies.
|
||
|
|
||
|
You can skip the build if you set `SKIP_BUILD=true` when running `composer.sh`, and you can rebuild
|
||
|
manually with `make docker`.
|
||
|
|
||
|
The contents of `$TESTGROUND_HOME/plans` will be sync'd to a temporary directory and read-only mounted
|
||
|
into the container.
|
||
|
|
||
|
After building and starting the container, the script will open a browser to the composer UI.
|
||
|
|
||
|
You should be able to load an existing composition or create a new one from one of the plans in
|
||
|
`$TESTGROUND_HOME/plans`.
|
||
|
|
||
|
Right now docker only supports the standalone webapp UI; to run the UI in a Jupyter notebook, see below.
|
||
|
|
||
|
### Running with local python
|
||
|
|
||
|
To run without docker, make a python3 virtual environment somewhere and activate it:
|
||
|
|
||
|
```shell
|
||
|
# make a virtualenv called "venv" in the current directory
|
||
|
python3 -m venv ./venv
|
||
|
|
||
|
# activate (bash/zsh):
|
||
|
source ./venv/bin/activate
|
||
|
|
||
|
# activate (fish):
|
||
|
source ./venv/bin/activate.fish
|
||
|
```
|
||
|
|
||
|
Then install the python dependencies:
|
||
|
|
||
|
```shell
|
||
|
pip install -r requirements.txt
|
||
|
```
|
||
|
|
||
|
And start the UI:
|
||
|
|
||
|
```shell
|
||
|
panel serve composer.ipynb
|
||
|
```
|
||
|
|
||
|
That will start the standalone webapp UI. If you want a Jupyter notebook instead, run:
|
||
|
|
||
|
```
|
||
|
jupyter notebook
|
||
|
```
|
||
|
|
||
|
and open `composer.ipynb` in the Jupyter file picker.
|