Sybil 1.0.0 Released!
Chris Withers
chris at simplistix.co.uk
Fri May 26 03:34:01 EDT 2017
Hi All,
I'm pleased to announce the first release of Sybil, a library to help
you test the examples in your documents.
For example, given the following Sphinx source file:
Sample Documentation
====================
Let's put something in the Sybil document's namespace:
.. invisible-code-block: python
remember_me = b'see how namespaces work?'
Suppose we define a function, convoluted and pointless but shows
stuff nicely:
.. code-block:: python
import sys
def prefix_and_print(message):
print('prefix:', message.decode('ascii'))
Now we can use a doctest REPL to show it in action:
>>> prefix_and_print(remember_me)
prefix: see how namespaces work?
The namespace carries across from example to example, no matter
what parser:
>>> remember_me
b'see how namespaces work?'
All the examples can be tested when using pytest by putting the
following in a conftest.py in your Sphinx source directory:
from doctest import ELLIPSIS
from sybil import Sybil
from sybil.parsers.codeblock import CodeBlockParser
from sybil.parsers.doctest import DocTestParser, FIX_BYTE_UNICODE_REPR
pytest_collect_file = Sybil(
parsers=[
DocTestParser(optionflags=ELLIPSIS|FIX_BYTE_UNICODE_REPR),
CodeBlockParser(future_imports=['print_function']),
],
pattern='*.rst',
).pytest()
The package is on PyPI and a full list of all the links to docs, issue
trackers and the like can be found here:
https://github.com/cjw96/sybil
Any questions, please do ask on the Testing in Python list or on the
Simplistix open source mailing list...
cheers,
Chris
PS: The name comes from Fawlty Towers, as this package is heavily
inspired by Benji York's fantastic Manuel package, which also took it's
name from the series!
More information about the Python-list
mailing list