byexample

Write snippets of code in your documentation and execute them as regression tests.

View project on GitHub
Sorry, it seems that you cannot see the demo. Another excuse to install byexample and test it by yourself ;)

byexample is…

…a literate programming engine where you mix ordinary text and snippets of code in the same file and then you execute them as regression tests.

You can always be sure that the examples are correct and your documentation is up to date!

It lets you to execute the examples written in Python, Ruby or whatever in your documentation and validate them.

Currently byexample supports the following languages:

How do I get started?

First, you need to install it:

$ pip install byexample                # install it # byexample: +skip

Or if you prefer, you can install it inside a virtual env.

If you don’t have pip or python installed, check the download page.

That’s it! Now, write a tutorial, a blog or a how-to and put some examples in between (like this web page that you are reading); All the snippets and examples will be collected, executed and checked.

$ byexample -l python,ruby,shell README.md      # run it    # byexample: +skip
[PASS] Pass: <...> Fail: <...> Skip: <...>

License

This project is licensed under GPLv3

$ head -n 2 LICENSE     # byexample: +norm-ws
          GNU GENERAL PUBLIC LICENSE
           Version 3, 29 June 2007

See LICENSE for more details.

Versioning

We use semantic version for the core or engine.

For each module we have the following categorization:

  • experimental: non backward compatibility changes are possible or even removal between versions (even patch versions).
  • provisional: low impact non backward compatibility changes may occur between versions; but in general a change like that will happen only between major versions.
  • stable: non backward compatibility changes, if happen, they will between major versions.
  • deprecated: it will disappear in a future version.

See the latest releases and tags

Current version:

$ byexample -V
byexample 8.0.1 (Python <...>) - GNU GPLv3
<...>
Copyright (C) Di Paola Martin - https://github.com/byexamples/byexample
<...>