(installation)= # Installation ```{warning} This page has been automatically generated as has not yet been reviewed by the authors of dasf-exb-reference! ``` To install the _dasf-exb-reference_ package, we recommend that you install it from PyPi via ```bash pip install dasf-exb-reference ``` Or install it directly from [the source code repository on Gitlab][source code repository] via: ```bash pip install git+https://codebase.helmholtz.cloud/dasf/demos/dasf-exb-reference.git ``` The latter should however only be done if you want to access the development versions. [source code repository]: https://codebase.helmholtz.cloud/dasf/demos/dasf-exb-reference (install-develop)= ## Installation for development Please head over to our `contributing guide `{.interpreted-text role="ref"} for installation instruction for development in case you want to contribute back to this repository. To setup and test the DASF functionality of this package locally, you need to run a DASF message broker. Everything for this is contained in the `django` folder of the source code. ### Manual DASF setup #### Setup the message broker To manually setup a message broker and connect a backend module, run: ```bash # create a virtual environment for development (note, on windows, you need # to run these venv-install commands from the Makefile manually, or use the WSL) make venv-install source venv/bin/activate # setup and run the django message broker cd django python manage.py migrate python manage.py dasf_topic -n experience-builder-demo --anonymous python manage.py runserver ``` This will create a local file at `django/db.sqlite3` with the database and spawn a server that listens to [http://localhost:8000](http://localhost:8000). #### Connect a backend module To connect a backend module to the message broker, run ``` python -m dasf_exb.backend --websocket-url ws://localhost:8000/ws --topic experience-builder-demo listen ``` ### DASF setup via docker compose If you have `docker` or `podman` available, you can also setup a development environment via the `docker-compose.dev.yml` file in the source code repository. 1. Build the images ```bash docker compose -f docker-compose.dev.yml build ``` 2. start the message broker and the backend module ```bash docker compose -f docker-compose.dev.yml up ```