Getting started with xtensor-python-cookiecutter

xtensor-python-cookiecutter helps extension authors create Python extension modules making use of xtensor.

It takes care of the initial work of generating a project skeleton with

  • A complete setup.py compiling the extension module

  • A few examples included in the resulting project including

    • A universal function defined from C++

    • A function making use of an algorithm from the STL on a numpy array

    • Unit tests

    • The generation of the HTML documentation with sphinx

Usage

Install cookiecutter

pip install cookiecutter

After installing cookiecutter, use the xtensor-python-cookiecutter:

cookiecutter https://github.com/xtensor-stack/xtensor-python-cookiecutter.git

As xtensor-python-cookiecutter runs, you will be asked for basic information about your custom extension project. You will be prompted for the following information:

  • author_name: your name or the name of your organization,

  • author_email : your project’s contact email,

  • github_project_name: name of the GitHub repository for your project,

  • github_organization_name: name of the GithHub organization for your project,

  • python_package_name: name of the Python package created by your extension,

  • cpp_namespace: name for the cpp namespace holding the implementation of your extension,

  • project_short_description: a short description for your project.

This will produce a directory containing all the required content for a minimal extension project making use of xtensor with all the required boilerplate for package management, together with a few basic examples.