[GSoC 2023] Improved Installation Tools #374
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
[GSoC 2023] Improved Installation Tools
Description:
The aim of this project is to create a simplified and more user-friendly installation workflow for the gprMax is predominantly written in Python, but some of the performance-critical parts of the code are written in Cython, which must be built and compiled.The current installation involves building a Python environment, installing a C compiler with OpenMP support, and building and installing the gprMax package. This can be a lengthy and complex procedure, depending on your operating system, especially for first-time or inexperienced users.
Deliverables
Deliverable 1:
Automated Installation Script: First way to simplify the installation process is to create an automated installation script that can take care of all the necessary steps required to set up gprMax on a user’s machine. This script is written in Python and should be able to detect the user’s operating system and any missing dependencies that need to be installed. The script could then download and install the necessary software and libraries, set up the environment variables, and compile the Cython modules. By providing a single script it can handle all of the necessary steps, users would no longer need to manually install all the dependencies and compile the code and additionally it also helps in updating the already existed gprMax environement .
Deliverable 2:
Docker Image: A second option is to create a Docker image that includes gprMax and all the necessary dependencies. This would allow users to run gprMax in a containerized environment, without needing to worry about installing the dependencies on their own machine. By providing a pre-configured Docker image, users would only need to download and run the image using Docker, and gprMax would be ready to use. This approach would also make it easy to distribute and manage multiple versions of gprMax, and could be useful for users who need to run gprMax on a variety of different machines or operating systems.