Skip to content

Commit

Permalink
Merge pull request #1606 from mdboom/cxx_extension_policy
Browse files Browse the repository at this point in the history
Document the C/C++ code guidelines
  • Loading branch information
mdboom committed Jan 4, 2013
2 parents 1787a1a + 9e7f286 commit 1c3836d
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions doc/devel/coding_guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
===========

Expand Down

0 comments on commit 1c3836d

Please sign in to comment.