Development environment

Installing a development environment for different operating systems.

Ubuntu 24.04

Setup the dependencies:

  • Install necessary dependencies:

    sudo apt-get update && sudo apt-get --no-install-recommends install -y build-essential curl git python3-dev python3-pip python3-venv
    
    # Install Node.js 20 and yarn
    curl -fsSL https://deb.nodesource.com/setup_20.x | sudo bash -
    sudo apt-get install -y nodejs
    sudo npm install --global yarn
    
  • Install your favorite browser.

  • Install VS Code.

  • Install the following VScode extensions:

  • Make sure to use Python 3.12.0 or higher

    python3 --version
    
  • Install GeniFlow on your local host:

    git clone https://github.com/Reveal-AI-DE/GeniFlow
    cd GeniFlow && mkdir logs keys
    python3 -m venv .env
    . .env/bin/activate
    pip install -r GeniFlow/requirements/development.txt -r dev/requirements.txt
    

    Note that the .txt files in the GeniFlow/requirements directory have pinned dependencies intended for the main target OS/Python version (the one used in the main Dockerfile). If you’re unable to install those dependency versions, you can substitute the corresponding .in files instead. That way, you’re more likely to be able to install the dependencies, but their versions might not correspond to those used in production.

  • Install Docker Engine and Docker Compose

  • Apply migrations and create a super user for GeniFlow:

    python manage.py migrate
    python manage.py collectstatic
    python manage.py createsuperuser
    
  • Install npm packages for UI (run the following command from GeniFlow root directory):

    yarn --frozen-lockfile
    

Run GeniFlow

  • Start npm UI debug server (run the following command from GeniFlow root directory):

    • If you want to run GeniFlow in localhost:
      yarn run start:geniflow-ui
      
    • If you want to access GeniFlow from outside of your host:
      GF_UI_HOST='<YOUR_HOST_IP>' GF_UI_PORT='<YOUR_PORT>' yarn run start:geniflow-ui
      
  • Open a new terminal window.

  • Run VScode from the virtual environment (run the following command from GeniFlow root directory):

    source .env/bin/activate && code
    
  • Inside VScode, Open GeniFlow root dir

  • Select server: debug configuration and run it (F5) to run REST server and its workers

  • Make sure that Uncaught Exceptions option under breakpoints section is unchecked

  • Alternative: If you changed GF_UI_HOST just enter <YOUR_HOST_IP>:3000 in your browser.

You have done! Now it is possible to insert breakpoints and debug server and client of the tool.