-
Notifications
You must be signed in to change notification settings - Fork 0
Setting Up the Development Environment
- A Git installation
-
Windows: wsl
-
- A Python distribution with
piptool installed- For example: Anaconda Python Distribution
- Windows: make sure you have enabled
core.autocrlf
git config --global core.autocrlf true- Linux/macOS: set
core.autocrlftoinputso any files with CRLF endings will be committed to the repo with only LF endings.
git config --global core.autocrlf input- Create and configure a public-private key pair
# Use Git Bash in windows
ssh-keygen -t ed25519 -C "your@email.com"- This creates the files
id_ed25519andid_ed25519.pubin~/.ssh. If they are create elsewhere move them to.ssh. - Copy the contents of the file containing the public key:
~/.ssh/id_ed25519.pub - In GitHub, click your icon and go to Settings. There go to the SSH and GPG section and click on New SSH key
- Then copy the contents of your public key in the input text.
Note: If you have problems with a proxy (Connection timeout or Connection refused) configure to connect SSH over HTTPS
- Create an access token
- Click on your icon, then Settings, then Developer Settings, then Personal Access Tokens and finally Fine-grained Tokens
TODO
Open a terminal and execute
git clone git@github.com:KhiopsML/khiops.git
cd khiops# Install the pre-commit Python package
pip install pre-commit
# This installs the hooks on the repo and runs them on all files
# It may take a bit of time the first time
pre-commit install
pre-commit run --all-filesNote for Anaconda + Windows: You must add the Scripts directory of your Anaconda installation to the PATH. That way pre-commit will be available in any shell. With conda you can use conda install -c conda-forge identify pre-commit
Note: To exploit the test suites of LearningTest from the IDE, the following environnement variables must be set:
-
KHIOPS_API_MODE: set totrueto apply API mode during development, with paths relative to the current working directory (otherwise, paths are relative to the data directory, in GUI mode), -
KhiopsFastExitMode: set tofalsein order to use the scenario files and execute all instructions without an exit after the first error.
They are set in the kht_test script of the LearningTestTool.
- Open Visual Studio and select Open Local Folder and select your local
khiopsfolder- This may take a few minutes to finish, you can see the current status by selecting the
CMakeoutput in the output sub-window.
- This may take a few minutes to finish, you can see the current status by selecting the
- At the top bar you can select a debug or release preset (ex: Windows MSVC Release) and select the menu Build -> Build All.
To run the MODL or MODL_Coclustering executable from the IDE, you must have a launch.vs.json parameter file under the .vsdirectory :
launch.vs.json
Note: This parameter file exploits the "currentDir" key to set the current working directory and the "env" key to set the KHIOPS_API_MODE and KhiopsFastExitMode environnement variables.
- Make sure you have installed the extension mentioned above.
- Open VS Code go to the menu File -> Open Folder and select your local
khiopsfolder - At the bottom bar you can select a debug or release preset (ex: Windows MSVC Release) and then click on the "⚙ Build" button nearby.
- Go to the
khiopsfolder - For a given preset (ex:
windows-msvc-release) execute
cmake --preset windows-msvc-release # add --fresh to regenerate
cmake --build --preset windows-msvc-release # add --clean-build to clean