Commit efa99ca5 authored by Gordon Ball's avatar Gordon Ball

New upstream version 0.1.3

parents
build: false
platform:
- x64
image:
- Visual Studio 2017
- Visual Studio 2015
environment:
matrix:
- MINICONDA: C:\xwidgets-conda
init:
- "ECHO %MINICONDA%"
- if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2015" set VCVARPATH="C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
- if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2015" set VCARGUMENT=%PLATFORM%
- if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2017" if "%PLATFORM%" == "x64" set VCVARPATH="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
- if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2017" if "%PLATFORM%" == "x86" set VCVARPATH="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat"
- echo "%VCVARPATH% %VCARGUMENT%"
- "%VCVARPATH% %VCARGUMENT%"
- ps: if($env:Platform -eq "x64"){Start-FileDownload 'http://repo.continuum.io/miniconda/Miniconda3-latest-Windows-x86_64.exe' C:\Miniconda.exe; echo "Done"}
- ps: if($env:Platform -eq "x86"){Start-FileDownload 'http://repo.continuum.io/miniconda/Miniconda3-latest-Windows-x86.exe' C:\Miniconda.exe; echo "Done"}
- cmd: C:\Miniconda.exe /S /D=C:\xwidgets-conda
- "set PATH=%MINICONDA%;%MINICONDA%\\Scripts;%MINICONDA%\\Library\\bin;%PATH%"
install:
- conda config --set always_yes yes --set changeps1 no
- conda update -q conda
- conda info -a
# Install dependencies
- conda install cmake xeus=0.18.1 nlohmann_json=3.3.0 cppzmq=4.3.0 xtl=0.5.2 pybind11=2.2.4 jedi=0.13.1 pygments=2.3.1 gtest=1.8.0 -c QuantStack -c conda-forge
# Build and install xeus-python
- mkdir build
- cd build
- cmake -G "NMake Makefiles" -D CMAKE_INSTALL_PREFIX=%MINICONDA%\\Library -D XEXTRA_JUPYTER_DATA_DIR=%MINICONDA%\\share\\jupyter -D BUILD_TESTS=ON ..
- nmake
- nmake install
# Install test dependencies
- conda install pytest jupyter_kernel_test -c conda-forge
build_script:
- .\test\test_xeus_python
- cd.. && cd test && py.test .
# Prerequisites
*.d
# Compiled Object files
*.slo
*.lo
*.o
*.obj
# Precompiled Headers
*.gch
*.pch
# Compiled Dynamic libraries
*.so
*.dylib
*.dll
# Compiled Static libraries
*.lai
*.la
*.a
*.lib
# Executables
*.exe
*.out
*.app
# Vim tmp files
*.swp
# Test build artefacts
test/CMakeCache.txt
test/Makefile
test/CMakeFiles/
test/cmake_install.cmake
# Documentation build artefacts
docs/CMakeCache.txt
docs/xml/
docs/build/
# Build directory
build/
# generated kernel specs
/share/jupyter/kernels/xpython/kernel.json
# Jupyter artefacts
.ipynb_checkpoints/
language: cpp
env:
global:
- MINCONDA_VERSION="latest"
- MINCONDA_LINUX="Linux-x86_64"
- MINCONDA_OSX="MacOSX-x86_64"
matrix:
fast_finish: true
include:
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
env: PY=3
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
env: PY=2
- os: osx
osx_image: xcode8
compiler: clang
env: PY=3
install:
# Define the version of miniconda to download
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
MINCONDA_OS=$MINCONDA_LINUX;
elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
MINCONDA_OS=$MINCONDA_OSX;
fi
- if [[ "$PY" == "3" ]]; then
wget "http://repo.continuum.io/miniconda/Miniconda3-$MINCONDA_VERSION-$MINCONDA_OS.sh" -O miniconda.sh;
else
wget "http://repo.continuum.io/miniconda/Miniconda2-$MINCONDA_VERSION-$MINCONDA_OS.sh" -O miniconda.sh;
fi
- bash miniconda.sh -b -p $HOME/miniconda
- export PATH="$HOME/miniconda/bin:$PATH"
- hash -r
- conda config --set always_yes yes --set changeps1 no
- conda update -q conda
# Install dependencies
- conda install cmake xeus=0.18.1 nlohmann_json=3.3.0 cppzmq=4.3.0 xtl=0.5.2 pybind11=2.2.4 jedi=0.13.1 pygments=2.3.1 -c QuantStack -c conda-forge
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
conda install gcc-7 -c QuantStack -c conda-forge;
elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
conda install clangdev -c QuantStack -c conda-forge;
fi
# For debugging
- which python
- python --version
# Build and install xeus-python
- mkdir build
- cd build
- cmake -D CMAKE_INSTALL_PREFIX=$HOME/miniconda/ -D DOWNLOAD_GTEST=ON -D PYTHON_EXECUTABLE=`which python` ..
- make -j2 install
# Install jupyter_kernel_test and pytest.
# If Python2, we first create a Python3 environment because jupyter_kernel_test has not Python2 support
- if [[ "$PY" == "3" ]]; then
conda install pytest jupyter_kernel_test -c conda-forge;
else
conda create --name=tests python=3;
echo ". $HOME/miniconda/etc/profile.d/conda.sh" >> ~/.bashrc;
source ~/.bashrc;
conda activate tests;
conda install pytest jupyter_kernel_test -c conda-forge;
jupyter kernelspec install --sys-prefix ../share/jupyter/kernels/xpython;
fi
script:
- ./test/test_xeus_python
- cd ../test && py.test .
############################################################################
# Copyright (c) 2016, Martin Renou, Johan Mabille, Sylvain Corlay and #
# Wolf Vollprecht #
# #
# Distributed under the terms of the BSD 3-Clause License. #
# #
# The full license is in the file LICENSE, distributed with this software. #
############################################################################
cmake_minimum_required(VERSION 3.4.3)
project(xeus-python)
set(XEUSPYTHON_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
set(XEUSPYTHON_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include)
# Versionning
# ===========
file(STRINGS "${XEUSPYTHON_INCLUDE_DIR}/xeus-python/xeus_python_config.hpp" xpyt_version_defines
REGEX "#define XPYT_VERSION_(MAJOR|MINOR|PATCH)")
foreach(ver ${xpyt_version_defines})
if(ver MATCHES "#define XPYT_VERSION_(MAJOR|MINOR|PATCH) +([^ ]+)$")
set(XPYT_VERSION_${CMAKE_MATCH_1} "${CMAKE_MATCH_2}" CACHE INTERNAL "")
endif()
endforeach()
set(${PROJECT_NAME}_VERSION
${XPYT_VERSION_MAJOR}.${XPYT_VERSION_MINOR}.${XPYT_VERSION_PATCH})
message(STATUS "Building xeus-python v${${PROJECT_NAME}_VERSION}")
# Configuration
# =============
include(GNUInstallDirs)
configure_file (
"${CMAKE_CURRENT_SOURCE_DIR}/share/jupyter/kernels/xpython/kernel.json.in"
"${CMAKE_CURRENT_SOURCE_DIR}/share/jupyter/kernels/xpython/kernel.json"
)
################
# Dependencies #
################
set(xeus_REQUIRED_VERSION 0.18.1)
set(cppzmq_REQUIRED_VERSION 4.3.0)
set(pybind11_REQUIRED_VERSION 2.2.4)
find_package(xeus ${xeus_REQUIRED_VERSION} REQUIRED)
find_package(cppzmq ${cppzmq_REQUIRED_VERSION} REQUIRED)
find_package(pybind11 ${pybind11_REQUIRED_VERSION} REQUIRED)
#########
# flags #
#########
include(CheckCXXCompilerFlag)
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE)
if(MSVC)
add_definitions(/DNOMINMAX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4251 /wd4141")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4018 /wd4267 /wd4715 /wd4146 /wd4129")
endif()
OPTION(DISABLE_ARCH_NATIVE "disable -march=native flag" OFF)
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Intel")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wunused-parameter -Wextra -Wreorder")
if (DISABLE_ARCH_NATIVE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mtune=generic")
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
endif()
CHECK_CXX_COMPILER_FLAG("-std=c++14" HAS_CPP14_FLAG)
if (HAS_CPP14_FLAG)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
else()
message(FATAL_ERROR "Unsupported compiler -- xeus requires C++14 support!")
endif()
endif()
###################
# Target and link #
###################
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib; ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
set(XEUSPYTHON_SRC
src/xcomm.cpp
src/xcomm.hpp
src/xinput.cpp
src/xinput.hpp
src/xinspect.cpp
src/xinspect.hpp
src/xinterpreter.cpp
src/xis_complete.cpp
src/xis_complete.hpp
src/xstream.cpp
src/xstream.hpp
src/xdisplay.cpp
src/xdisplay.hpp
src/xtraceback.cpp
src/xtraceback.hpp
src/xutils.cpp
src/xutils.hpp
)
set(XEUSPYTHON_HEADERS
include/xeus-python/xinterpreter.hpp
include/xeus-python/xeus_python_config.hpp
)
# xeus-python is the target for the library
add_library(xeus-python SHARED ${XEUSPYTHON_SRC} ${XEUSPYTHON_HEADERS})
# xpython is the target for the kernel executable
add_executable(xpython src/main.cpp)
set_target_properties(xpython PROPERTIES ENABLE_EXPORTS 1)
target_link_libraries(xpython PRIVATE xeus-python)
if (APPLE)
set_target_properties(xpython xeus-python PROPERTIES
MACOSX_RPATH ON
)
else()
set_target_properties(xpython xeus-python PROPERTIES
BUILD_WITH_INSTALL_RPATH 1
SKIP_BUILD_RPATH FALSE
)
endif()
set_target_properties(xpython xeus-python PROPERTIES
INSTALL_RPATH_USE_LINK_PATH TRUE
)
target_include_directories(xeus-python
PUBLIC
${PYTHON_INCLUDE_DIRS}
$<BUILD_INTERFACE:${XEUSPYTHON_INCLUDE_DIR}>
$<INSTALL_INTERFACE:include>)
target_link_libraries(xeus-python PUBLIC pybind11::embed xeus)
set_target_properties(xeus-python PROPERTIES
PUBLIC_HEADER "${XEUSPYTHON_HEADERS}"
COMPILE_DEFINITIONS "XEUS_PYTHON_EXPORTS"
PREFIX ""
VERSION ${${PROJECT_NAME}_VERSION}
SOVERSION ${XPYT_VERSION_MAJOR}
OUTPUT_NAME "libxeus-python")
#########
# Tests #
#########
OPTION(BUILD_TESTS "xeus-python test suite" OFF)
OPTION(DOWNLOAD_GTEST "build gtest from downloaded sources" OFF)
if(DOWNLOAD_GTEST OR GTEST_SRC_DIR)
set(BUILD_TESTS ON)
endif()
if(BUILD_TESTS)
add_subdirectory(test)
endif()
################
# Installation #
################
include(CMakePackageConfigHelpers)
set(XEUSPYTHON_CMAKECONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" CACHE STRING "install path for xeus-pythonConfig.cmake")
# Install xeus-python and xpython
install(TARGETS xeus-python
EXPORT ${PROJECT_NAME}-targets
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/xeus-python)
install(TARGETS xpython
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
# Configuration and data directories for jupyter and xeus-python
set(XJUPYTER_DATA_DIR "share/jupyter" CACHE STRING "Jupyter data directory")
# Install Jupyter kernelspecs
set(XPYT_KERNELSPEC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/share/jupyter/kernels)
install(DIRECTORY ${XPYT_KERNELSPEC_DIR}
DESTINATION ${XJUPYTER_DATA_DIR}
PATTERN "*.in" EXCLUDE)
# Extra path for installing Jupyter kernelspec
if (XEXTRA_JUPYTER_DATA_DIR)
install(DIRECTORY ${XPYT_KERNELSPEC_DIR}
DESTINATION ${XEXTRA_JUPYTER_DATA_DIR}
PATTERN "*.in" EXCLUDE)
endif(XEXTRA_JUPYTER_DATA_DIR)
# Makes the project importable from the build directory
export(EXPORT ${PROJECT_NAME}-targets
FILE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Targets.cmake")
# Configure 'xeus-pythonConfig.cmake' for a build tree
set(XEUSPYTHON_CONFIG_CODE "####### Expanded from \@XEUSPYTHON_CONFIG_CODE\@ #######\n")
set(XEUSPYTHON_CONFIG_CODE "${XEUSPYTHON_CONFIG_CODE}set(CMAKE_MODULE_PATH \"${CMAKE_CURRENT_SOURCE_DIR}/cmake;\${CMAKE_MODULE_PATH}\")\n")
set(XEUSPYTHON_CONFIG_CODE "${XEUSPYTHON_CONFIG_CODE}##################################################")
configure_package_config_file(${PROJECT_NAME}Config.cmake.in
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
INSTALL_DESTINATION ${PROJECT_BINARY_DIR})
# Configure 'xeus-pythonConfig.cmake' for an install tree
set(XEUSPYTHON_CONFIG_CODE "")
configure_package_config_file(${PROJECT_NAME}Config.cmake.in
"${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${PROJECT_NAME}Config.cmake"
INSTALL_DESTINATION ${XEUSPYTHON_CMAKECONFIG_INSTALL_DIR})
write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
VERSION ${${PROJECT_NAME}_VERSION}
COMPATIBILITY AnyNewerVersion)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${PROJECT_NAME}Config.cmake
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
DESTINATION ${XEUSPYTHON_CMAKECONFIG_INSTALL_DIR})
install(EXPORT ${PROJECT_NAME}-targets
FILE ${PROJECT_NAME}Targets.cmake
DESTINATION ${XEUSPYTHON_CMAKECONFIG_INSTALL_DIR})
BSD 3-Clause License
Copyright (c) 2018,
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# ![xeus-python](docs/source/xeus-python.svg)
[![Travis](https://travis-ci.org/QuantStack/xeus-python.svg?branch=master)](https://travis-ci.org/QuantStack/xeus-python)
[![Appveyor](https://ci.appveyor.com/api/projects/status/jh45g5pj44jqj8vw?svg=true)](https://ci.appveyor.com/project/QuantStack/xeus-python)
[![Documentation Status](http://readthedocs.org/projects/xeus-python/badge/?version=latest)](https://xeus-python.readthedocs.io/en/latest/?badge=latest)
[![Binder](https://img.shields.io/badge/launch-binder-brightgreen.svg)](https://mybinder.org/v2/gh/QuantStack/xeus-python/stable?filepath=notebooks/xeus-python.ipynb)
[![Join the Gitter Chat](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/QuantStack/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
`xeus-python` is a Jupyter kernel for Python based on the native implementation of the Jupyter protocol [xeus](https://github.com/QuantStack/xeus).
## Usage
Launch the Jupyter notebook with `jupyter notebook` or Jupyter lab with `jupyter lab` and launch a new Python notebook by selecting the **xpython** kernel.
**Code execution and variable display**:
![Basic code execution](code_exec.gif)
**Output streams**:
![Streams](streams.gif)
**Input streams**:
![Input](input.gif)
**Error handling**:
![Erro handling](error.gif)
**Inspect**:
![Inspect](inspect.gif)
**Code completion**:
![Completion](code_completion.gif)
**Rich display**:
![Rich display](rich_disp.gif)
**And of course widgets**:
![Widgets](widgets.gif)
![Widgets binary](binary.gif)
## Installation
xeus-python has been packaged for the conda package manager.
To ensure that the installation works, it is preferable to install `xeus-python` in a fresh conda environment. It is also needed to use a [miniconda](https://conda.io/miniconda.html) installation because with the full [anaconda](https://www.anaconda.com/) you may have a conflict with the `zeromq` library which is already installed in the anaconda distribution.
The safest usage is to create an environment named `xeus-python` with your miniconda installation
```bash
conda create -n xeus-python
source activate xeus-python
```
### Installation directly from conda
Then you can install in this environment `xeus-python` and its dependencies
```bash
conda install xeus-python notebook -c QuantStack -c conda-forge
```
### Installation from source
Or you can install it from the sources, you will first need to install dependencies
```bash
conda install cmake xeus nlohmann_json cppzmq xtl pybind11 jedi pygments six notebook -c QuantStack -c conda-forge
```
Then you can compile the sources
```bash
cmake -D CMAKE_INSTALL_PREFIX=your_conda_path -D PYTHON_EXECUTABLE=`which python`
make && make install
```
## Trying it online
To try out xeus-python interactively in your web browser, just click on the binder
link:
[![Binder](binder-logo.svg)](https://mybinder.org/v2/gh/QuantStack/xeus-python/stable?filepath=notebooks/xeus-python.ipynb)
## Documentation
To get started with using `xeus-python`, check out the full documentation
http://xeus-python.readthedocs.io/
## Dependencies
``xeus-python`` depends on
- [xeus](https://github.com/QuantStack/xeus)
- [xtl](https://github.com/QuantStack/xtl)
- [pybind11](https://github.com/pybind/pybind11)
- [nlohmann_json](https://github.com/nlohmann/json)
| `xeus-python`| `xeus` | `xtl` | `cppzmq` | `nlohmann_json` | `pybind11` | `jedi` | `pygments` | `six` |
|--------------|-----------------|-----------------|----------|-----------------|-----------------|-------------------|-------------------|-------------------|
| master | >=0.18.1,<0.19 | >=0.5.2,<0.6 | ~4.3.0 | >=3.3.0,<4.0 | >=2.2.4,<3.0 | >=0.13.1,<0.14.0 | >=2.3.1,<3.0.0 | |
| 0.1.3 | >=0.18.1,<0.19 | >=0.5.2,<0.6 | ~4.3.0 | >=3.3.0,<4.0 | >=2.2.4,<3.0 | >=0.13.1,<0.14.0 | >=2.3.1,<3.0.0 | |
| 0.1.2 | >=0.18.1,<0.19 | >=0.5.2,<0.6 | ~4.3.0 | >=3.3.0,<4.0 | >=2.2.4,<3.0 | >=0.13.1,<0.14.0 | >=2.3.1,<3.0.0 | >=1.12.0,<2.0.0 |
| 0.1.1 | >=0.18.1,<0.19 | >=0.5.2,<0.6 | ~4.3.0 | >=3.3.0,<4.0 | >=2.2.4,<3.0 | >=0.13.1,<0.14.0 | >=2.3.1,<3.0.0 | |
| 0.1.0 | >=0.18.1,<0.19 | >=0.5.2,<0.6 | ~4.3.0 | >=3.3.0,<4.0 | >=2.2.4,<3.0 | >=0.13.1,<0.14.0 | >=2.3.1,<3.0.0 | |
| 0.0.4 | >=0.18.1,<0.19 | >=0.5.2,<0.6 | ~4.3.0 | >=3.3.0,<4.0 | >=2.2.4,<3.0 | >=0.13.1,<0.14.0 | | |
| 0.0.3 | >=0.17.0,<0.18 | >=0.5.0,<0.6 | ~4.3.0 | >=3.3.0,<4.0 | >=2.2.4,<3.0 | >=0.13.1,<0.14.0 | | |
| 0.0.2 | >=0.16.0,<0.17 | >=0.4.0,<0.5 | ~4.3.0 | >=3.3.0,<4.0 | >=2.2.4,<3.0 | | | |
| 0.0.1 | >=0.15.0,<0.16 | >=0.4.0,<0.5 | ~4.3.0 | >=3.3.0,<4.0 | >=2.2.4,<3.0 | | | |
The `QuantStack` channel provides `xeus` dependencies built with gcc-7. We highly recommend installing
these dependencies from QuantStack in a clean conda installation or environment.
## License
We use a shared copyright model that enables all contributors to maintain the
copyright on their contributions.
This software is licensed under the BSD-3-Clause license. See the [LICENSE](LICENSE) file for details.
This diff is collapsed.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="424.236px"
height="131.176px" viewBox="0 0 212.118 65.883" enable-background="new 0 0 212.118 65.883" xml:space="preserve">
<switch>
<g>
<g>
<path fill="#545454" d="M50.751,48.727V12.472h7.251v17.547c1.885-2.32,4.544-3.094,7.299-3.094
c6.042,0,10.586,5.269,10.586,11.167S71.344,49.21,65.302,49.21c-2.755,0-5.849-0.87-7.299-3.046v2.562H50.751z M63.078,43.409
c2.9,0,5.076-2.514,5.076-5.317s-2.175-5.317-5.076-5.317s-5.076,2.514-5.076,5.317S60.178,43.409,63.078,43.409z"/>
<path fill="#545454" d="M84.35,15.855c2.32,0,4.254,1.885,4.254,4.254c0,2.32-1.934,4.254-4.254,4.254
c-2.369,0-4.254-1.934-4.254-4.254C80.096,17.741,81.981,15.855,84.35,15.855z M80.724,48.727V27.409h7.251v21.318H80.724z"/>
<path fill="#545454" d="M115.819,48.727h-7.25V36.642c0-2.514-0.967-3.867-3.239-3.867s-4.061,2.417-4.061,5.317v10.635h-7.251
V27.409h7.251v2.61c1.45-1.837,3.722-3.094,6.526-3.094c5.704,0,8.024,3.916,8.024,9.716V48.727z"/>
<path fill="#545454" d="M144.826,48.727h-7.251v-2.562c-1.45,2.176-4.592,3.046-7.299,3.046c-6.043,0-10.587-5.221-10.587-11.118
s4.544-11.167,10.587-11.167c2.707,0,5.414,0.773,7.299,3.094V12.472h7.251V48.727z M132.499,32.774
c-2.9,0-5.075,2.514-5.075,5.317s2.175,5.317,5.075,5.317s5.076-2.514,5.076-5.317S135.399,32.774,132.499,32.774z"/>
<path fill="#545454" d="M173.639,38.962h-16.532c0,2.466,1.74,5.075,4.592,5.075c2.562,0,4.158-1.691,4.206-3.238h7.396
c-1.256,5.607-5.801,8.411-11.456,8.411c-7.348,0-12.423-4.351-12.423-11.118c0-6.671,5.269-11.167,12.423-11.167
c6.478,0,11.843,3.867,11.843,10.683C173.687,38.043,173.639,38.527,173.639,38.962z M166.726,35.53c0,0-0.338-3.964-4.736-3.964
c-4.545,0-4.786,3.964-4.786,3.964H166.726z"/>
<path fill="#545454" d="M185.532,38.092v10.635h-7.251V27.409h7.251v2.61c1.111-1.595,2.949-3.094,5.607-3.094
c0.629,0,1.596,0.193,2.176,0.483v6.574h-0.098c-0.725-0.87-1.788-1.208-2.9-1.208C187.61,32.774,185.532,35.53,185.532,38.092z"
/>
</g>
<circle fill="none" stroke="#F5A252" stroke-width="4.8342" stroke-miterlimit="10" cx="27.879" cy="23.939" r="9.542"/>
<circle fill="none" stroke="#579ACA" stroke-width="4.8342" stroke-miterlimit="10" cx="27.879" cy="42.499" r="9.543"/>
<circle fill="none" stroke="#E66581" stroke-width="4.8342" stroke-miterlimit="10" cx="18.551" cy="33.289" r="9.543"/>
<path fill="none" stroke="#579ACA" stroke-width="4.8342" stroke-miterlimit="10" d="M20.196,36.836
c0.759-1.031,1.74-1.927,2.921-2.607c4.566-2.63,10.401-1.06,13.031,3.507"/>
<path fill="none" stroke="#F5A252" stroke-width="4.8342" stroke-miterlimit="10" d="M19.61,28.701
c-2.63-4.566-1.061-10.401,3.507-13.032c4.567-2.63,10.401-1.059,13.031,3.508"/>
</g>
</switch>
</svg>
PROJECT_NAME = "xeus-python"
XML_OUTPUT = xml
INPUT = ../include
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
CASE_SENSE_NAMES = NO
GENERATE_HTML = NO
GENERATE_XML = YES
RECURSIVE = YES
QUIET = YES
JAVADOC_AUTOBRIEF = YES
WARN_IF_UNDOCUMENTED = NO
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = build
# User-friendly check for sphinx-build
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
endif
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext api
default: html
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " applehelp to make an Apple Help Book"
@echo " devhelp to make HTML files and a Devhelp project"
@echo " epub to make an epub"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
@echo " text to make text files"
@echo " man to make manual pages"
@echo " texinfo to make Texinfo files"
@echo " info to make Texinfo files and run them through makeinfo"
@echo " gettext to make PO message catalogs"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " xml to make Docutils-native XML files"
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
@echo " coverage to run coverage check of the documentation (if enabled)"
clean:
rm -rf $(BUILDDIR)/*
html:
doxygen
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
dirhtml:
doxygen
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
singlehtml:
doxygen
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
pickle:
doxygen
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."
json:
doxygen
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."
htmlhelp:
doxygen
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."
epub:
doxygen
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
latex:
doxygen
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
@echo "Run \`make' in that directory to run these through (pdf)latex" \
"(use \`make latexpdf' here to do that automatically)."
latexpdf:
doxygen
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
latexpdfja:
doxygen
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through platex and dvipdfmx..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
text:
doxygen
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
@echo
@echo "Build finished. The text files are in $(BUILDDIR)/text."
man:
doxygen
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
@echo
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
texinfo: