RETIRED, further work has moved to Debian project infrastructure
Go to file
2012-08-14 16:33:53 -04:00
steadymark 0.1.4 2012-07-31 07:18:32 -04:00
.gitignore gitignore + correct travis img 2012-07-31 07:20:52 -04:00
.travis.yml no python2.5 2012-07-30 15:59:08 -04:00
COPYING first commit 2012-07-30 12:16:05 -04:00
Makefile first commit 2012-07-30 12:16:05 -04:00
README.md funnier readme 2012-08-14 16:33:53 -04:00
requirements.pip features and fixes 2012-07-31 07:14:43 -04:00
setup.py 0.1.4 2012-07-31 07:18:32 -04:00

Steady Mark

version 0.1.4 Build Status

meme

Turning your github readme files into python test suites since 2012

Steady Mark was created for python developers that love Github and markdown.

How it works:

Write your documentation using github-flavored markdown, surround your snippets with python code blocks and steadymark will automatically find and run them, if there is a header preceeding your python snippet it will be used as title for your test.

Advantages:

  • Add test coverage to your app/library while documenting it
  • Never have old malfunctional examples on your project's main page in github
  • It uses misaka which is a python-binding of sundown, the markdown engine that github uses in itself

Example

unicode.lower transforms string into lowercase

from sure import that
assert that(u"Gabriel Falcao".lower()).equals(u"gabriel falcao")

python can add numbers

assert (2 + 2) == 4, 'oops baby'

Start using steady mark now!

This is the code for the example above, copy and paste in you python project right now and start keeping your documentation up-to-date with the code.

# My project name
`version 0.1`

## unicode.lower transforms string into lowercase

```python
assert "LOWERCaSe".lower() == "lowercase"
```

## python can add numbers

```python
assert (2 + 2) == 5, 'oops baby'
```

Just run with:

$ steadymark README.md

Steadymark is on version 0.1.4

from steadymark import version
assert version == '0.1.4'

Steadymark strips headers

from sure import that
from steadymark import Runner

tests = Runner(text='## test\n```python\nassert True\n```').run().tests
assert that(tests).equals([{
    u'code': u'assert True', u'title': u'test'
}])