This is the GUI repository for the LEGOLAS IRAD project. The GUI is intended to run on a user's computer to interface with and control the LEGOLAS system running on the NVIDIA Jetson compute module.
If you are trying to set up your laptop to be able to run LEGOLAS, this is the right repository to be in!
TODO
(Ideally we are building an executable and directing users to the releases page to download it).
This repository uses Python 3.12 and pipenv to manage Python versioning and dependencies. Package versions are specified in the Pipfile
and Pipfile.lock
.
-
First, make sure you have Python 3.12 installed.
-
You can download Python 3.12 from the Python.org downloads page
-
Alternatively:
- On Linux/MacOS, you can also use pyenv, which is great for managing multiple Python versions.
- On Windows, I have found that downloading from the Microsoft Store works quite well.
-
-
Next, run
python --version
to verify your version. (You may need to usepython3
orpython312
or some other method to get the right executable).- Your output should look like
you@computer % python --version Python 3.12.7
- Your output should look like
-
Using the same Python executable that got you the version output above, run
python -m pip install setuptools wheel pipenv
-
Now, run
python -m pipenv install --dev python -m pipenv shell
to install all dependencies and activate the environment.
-
Your shell should now look something like
(legolas-gui) sam@Enceladus legolas-gui %
and running
(legolas-gui) sam@Enceladus legolas-gui % which python /Users/sam/.local/share/virtualenvs/legolas-gui-Pu7jE4Of/bin/python
should look something like this.
In the above pipenv
activated environment, run
% python src/main.py
to run the main GUI executable.
To run the test suite, run
% pytest test
To run the formatting, import sorting, linting, etc.
% black src test
% isort src test
% mypy src test
% flake8 src test
I recommend installing the following extensions if you plan to use VSCode https://marketplace.visualstudio.com/items?itemName=ms-python.black-formatter https://marketplace.visualstudio.com/items?itemName=ms-python.isort https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance https://marketplace.visualstudio.com/items?itemName=ms-python.python https://marketplace.visualstudio.com/items?itemName=ms-python.debugpy