Open Adina-Rahim opened 2 years ago
We might not be able to package if it not complete but we can do some documentation as to how far we have got and scope out the changes required to the core to be able to complete the task.
Adina looking at Python installers for the GUI version so it can be a standalone application.
We may need to build the CPF application as a library and then the GUI application as a Qt application that links to CPF. It can then be a standalone binary.
We will also probably need to update setup.py
accordingly.
I've been working on a branch gui_windows_setup
that attempts to take the code from the gui_development
branch and get it to run from the command line (Powershell) without needing to use an IDE like Spyder. It is somewhat a halfway house between using a full-blown packaging tool and having to do a "build from source". I've noticed though that when running, the module relative paths don't work out the box so we may be missing some meta data that sets these up. Not sure if we want to continue to pursue this or whether we should just move to a package tool instead.
@AdinaRahim I'll fix these relative path issues on my branch and then merge into the gui_development
branch with a PR.
I'm wondering whether we should just build a docker contianer for this actually and then we don't have to worrry about affecting people's system python package list. I'll work on this.
I'm working on my Mac at the moment so I'm building a Docker image there, however, I need to solve #31 first so I can get it running locally on my Mac then I can test the container. @AdinaRahim I will continue to work on this on the gui_windows_setup
branch.
I've finished the docker container but it needs an X11 server plist instructions adding. I'm raising a PR so we can work on the path issue on the main dev branch. We can talk next week.
docker run --rm --net=host --env="DISPLAY" --volume="$HOME/.Xauthority:/root/.Xauthority:rw" cpf
We can also add the local machine's home directory as a volume so they can browse files -- Oliver is pretty good with this stuff and has got KiCad's GUI working out of a Docker container so I'm confident we can do this with a bit of help.
As the application can be run from the wrapper scripts at the moment, getting this docker contianer approach finished is not essential so it can sit on the backlog for now. Marking with wontfix for this phase of the work.
Update basic README documentation and prepare the app for distribution and easy running either as a Python package, a standalone executable or a container image.