Developer information¶
Setting up a testing environment¶
For development it is recommended to set up a virtual environment inside the source folder:
$ python3 -m venv venv
$ source venv/bin/activate
The last command will active the virtual environment, and will replace the python3 and pip commands in your shell. Now make sure you have the latest pip installed:
$ pip install --upgrade pip
Now install the MonetDBe-Python project in developing mode (hence the -e):
$ CFLAGS="-I<monetdb_prefix>/include/ -L<monetdb_prefix>/lib64/" pip install -e ".[test,doc]"
The CFLAGS above are required to make sure pip can find MonetDB. Using developer mode, any changes to the Python code will be directly reflected without re-installation. The only exception is code related to the low-level interface, which does require a reinstall (just run the above command again).
Running the test suite¶
After setting up te testing environment, run from the source folder:
LD_LIBRARY_PATH=<monetdb_prefix>/lib pytest
Making binary wheel for Linux¶
- requirements:
Docker
make
Then run
$ make docker-wheels
$ venv/bin/pip install twine
$ venv/bin/twine upload dist/*.whl dist/*.tar.gz
Making binary wheel for OSX¶
get a High Sierra machine (10.13)
install homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Run the OSX wheel script
scripts/osx_wheel.sh
10 upload the wheels
pip install twine
twine upload dist/*.whl
Making binary wheel for Windows¶
Compile MonetDB on Windows¶
install microsoft visual studio community edition:
https://visualstudio.microsoft.com/vs/community/
Refer to the Github Actions Windows build script .github/workflows/windows.yml for further actions.