The NL2BR extension will cause newlines to be treated as hard breaks; like StackOverflow and GitHub flavored Markdown do.
>>> import markdown
>>> text = """
... Line 1
... Line 2
... """
>>> html = markdown.markdown(text, extensions=['nl2br'])
>>> print html
<p>Line 1<br />
Line 2</p>
See Extensions for general extension usage, specify nl2br
as the name of the extension.
This extension does not accept any special configuration options.