Permalink
Browse files

Merge pull request #1606 from mdboom/cxx_extension_policy

Document the C/C++ code guidelines
  • Loading branch information...
2 parents 1787a1a + 9e7f286 commit 1c3836d7768ef637124119fe9dba5779d67dc234 @mdboom mdboom committed Jan 4, 2013
Showing with 19 additions and 0 deletions.
  1. +19 −0 doc/devel/coding_guide.rst
@@ -105,6 +105,25 @@ Installation
ones, make sure the new files included in the match patterns in
:file:`MANIFEST.in`, and/or in `package_data` in `setup.py`.
+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.