Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Browse files

Merge pull request #1606 from mdboom/cxx_extension_policy

Document the C/C++ code guidelines
  • Loading branch information...
commit 1c3836d7768ef637124119fe9dba5779d67dc234 2 parents 1787a1a + 9e7f286
@mdboom mdboom authored
Showing with 19 additions and 0 deletions.
  1. +19 −0 doc/devel/coding_guide.rst
19 doc/devel/coding_guide.rst
@@ -105,6 +105,25 @@ Installation
ones, make sure the new files included in the match patterns in
:file:``, and/or in `package_data` in ``.
+C/C++ extensions
+* Extensions may be written in C or C++.
+* Code style should conform to PEP7 (understanding that PEP7 doesn't
+ address C++, but most of its admonitions still apply).
+* Interfacing with Python may be done either with the raw Python/C API
+ or Cython. Use of PyCXX is discouraged for new code.
+* Python/C interface code should be kept separate from the core C/C++
+ code. The interface code should be named `FOO_wrap.cpp`.
+* Header file documentation (aka docstrings) should be in Numpydoc
+ format. We don't plan on using automated tools for these
+ docstrings, and the Numpydoc format is well understood in the
+ scientific Python community.
Style guide

0 comments on commit 1c3836d

Please sign in to comment.
Something went wrong with that request. Please try again.