Contributing to Xeus-python
September 7, 2021 ยท View on GitHub
Xeus and xeus-python are subprojects of Project Jupyter and subject to the Jupyter governance and Code of conduct.
General Guidelines
For general documentation about contributing to Jupyter projects, see the Project Jupyter Contributor Documentation.
Community
The Xeus team organizes public video meetings. The schedule for future meetings and minutes of past meetings can be found on our team compass.
Setting up a development environment
First, you need to fork the project. Then setup your environment:
# create a new conda environment
conda create -f environment-dev.yml
conda activate xeus-python
# download xeus-python from your GitHub fork
git clone https://github.com/<your-github-username>/xeus-python.git
You may also want to install a C++ compiler, and cmake from conda if they are not available on your system.
Building and installing xeus-python
# Create a directory for building
mkdir build && cd build
# Generate the makefile with cmake
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_PREFIX_PATH=$CONDA_PREFIX -D CMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DXPYT_DOWNLOAD_GTEST=ON -DPYTHON_EXECUTABLE=`which python` -DCMAKE_INSTALL_LIBDIR=lib ..
# Build and install
make install -j2
Running the tests
To run the C++ test suite, from the build directory, type
./test/test_xeus-python
To run Python tests, from the build directory, type
cd ../test
pytest . -vvv
Debugging the debugger
You can redirect all debugpy logs to a logs directory with:
export DEBUGPY_LOG_DIR=/home/path/to/logs
You can also enable xeus logging with:
export XEUS_LOG=1