Doesn't render in GitHub, and setup.py whinges about it. Also about the
duplicate "Development" anchor (due to the Development heading). All
warnings now gone from setup.py, but we may need to find another means
of excluding the badges from offline docs ...
Move the API to the end, recipes all grouped together up-front (with
remote GPIO setup just before the remote GPIO recipes). Tweak some
headings so everything looks a little more consistent in the (now
shorter) ToC.
Also added module index tags.
Apparently :doc: is a Sphinx extension and when setup.py checks for
strict ReST adherence, this fails the test. May need a work-around for
..only in the header yet.
Add epub output, fix PDF output to include page-numbers in links (for
printed output), reduce the (now ridiculous) length of the ToC by
dropping it to one level, add numbering to chapters
Also tell a whole load of lies about what's a keyword-only arg. In the
vast majority of cases, pin_factory (and other args) *aren't*
keyword-only ... but we'd really like them to be, it's just difficult
while maintaining py2 compatibility.
This implements the proposal discussed in the re-opened #279 to add a
pin_factory argument at the device level and remove the ability to
specify a pin instance to device constructors (they now only accept a
pin specification).
Note: there's still a couple of bits to tidy up (tests on "real" Pis,
and pin_factory.release_all needs refinement) but the test suite is now
at least capable of passing on a PC.
This is a minimal change which re-orders some bits of CompositeDevice's
constructor to ensure that all exceptions get raised *before* we store a
reference to the contained devices. Hopefully this'll be enough to sort
out 2.x but I'm not sure it will be for pypy (might still require an
explicit close there).
Also updated StatusBoard and StatusZero to reject duplicate identifiers
(namedtuple doesn't pick 'em up because they're passed in a dict and
thus the dups are squashed prior to the call). Added tests for all the
relevant stuff.