-
Notifications
You must be signed in to change notification settings - Fork 2
Technical Documentation
The build process should be fairly familiar. The instructions provided are for Windows x64. These instructions can also be found at https://github.com/aliaksei135/seedpod_ground_risk/blob/master/BUILD.md
-
Ensure you have the required dependencies:
- Python 3.8 ONLY
- Nvidia CUDA Toolkit
Only Python 3.8 can be used currently, as the local dependencies are built for 3.8 Windows x64. They are provided by Christoph Gohlke here.
-
Create and activate a virtual environment to install into, any should do. Here we use
virtualenv
:
python3 -m venv spgr
.\spgr\Scripts\activate.bat
- Clone the repository
git clone https://github.com/aliaksei135/seedpod_ground_risk.git
- Install requirements
cd seedpod_ground_risk
pip install -r requirements.txt
This is enough to run and develop on.
There are 2 available packaging formats: Installer or wheel. The former is what is distributed, while the latter is required for use of the CLI for instance.
When packaging don't forget to check versions in both setup.py
and make_installer.iss
and ensure they match!
The installer uses PyInstaller
to extract all the dependencies and InnoSetup
to create a Windows installer package
out of them.
-
Ensure you have installed
InnoSetup
here. -
Inside the root repository directory with the virtualenv active:
python -O -m PyInstaller --noconfirm "SEEDPOD Ground Risk.spec"
We run python
with the first level optimise flag -O
to slim down some now unnecessary debug code. Do not use second
level optimisation -OO
, as this removes some docstrings that break dependencies.
- Open
make_installer.iss
in InnoSetup and run the packaging process. This can take a while, but should output an installer in theOutput
folder.
- Inside the root repository directory with the virtualenv active. Ensure you have up to date build tools:
pip install --upgrade build
- Build the wheel as usual:
python -m build
The .whl
file will be built in dist
. You can install this as required:
pip install <.whl file>
then import the module:
import seedpod_ground_risk # Import entire module
import seedpod_ground_risk.cli # Only the CLI