Skip to main content

paka.cmark is a Python library that wraps subset of cmark C library (that is one of reference implementations of CommonMark).

Features

  • Python 2.7 and 3.6 are supported

  • PyPy (Python 2.7) is supported, as wrapping is made with CFFI

  • no need to install libcmark, it is bundled with paka.cmark (and sources of the former are regularly updated according to upstream)

  • supported output: HTML, XML, CommonMark, man, LaTeX

  • supported options: CMARK_OPT_UNSAFE, CMARK_OPT_NOBREAKS, CMARK_OPT_HARDBREAKS, CMARK_OPT_SOURCEPOS, CMARK_OPT_SMART

  • unlike libcmark—underlying C library—paka.cmark uses CMARK_OPT_NOBREAKS by default (breaks argument allows to control line break rendering)

  • safe HTML output is on by default (like in libcmark)

Examples

>>> from paka import cmark

Render with CMARK_OPT_DEFAULT | CMARK_OPT_NOBREAKS:

>>> print(cmark.to_html(u"<p>nope</p>"))
<!-- raw HTML omitted -->

Render with CMARK_OPT_DEFAULT | CMARK_OPT_NOBREAKS | CMARK_OPT_UNSAFE:

>>> print(cmark.to_html(u"Hello,\n*World*!", safe=False))
<p>Hello, <em>World</em>!</p>

Render with CMARK_OPT_DEFAULT:

>>> print(cmark.to_html(u"Hello,\n*World*!", breaks=True))
<p>Hello,
<em>World</em>!</p>

Render with CMARK_OPT_DEFAULT | CMARK_OPT_HARDBREAKS:

>>> print(cmark.to_html(u"Hello,\n*World*!", breaks="hard"))
<p>Hello,<br />
<em>World</em>!</p>

Render CommonMark with CMARK_OPT_DEFAULT | CMARK_OPT_NOBREAKS:

>>> print(cmark.to_commonmark(u"_Hello_"))
*Hello*

Installation

Library is available on PyPI, you can use pip for installation:

$ pip install paka.cmark

Getting documentation

Build HTML docs:

$ tox -e docs

View built docs:

$ sensible-browser .tox/docs/tmp/docs_html/index.html

Running tests

$ tox

Getting coverage

Collect info:

$ tox -e coverage

View HTML report:

$ sensible-browser .tox/coverage/tmp/cov_html/index.html

Checking code style

Run code checkers:

$ tox -e checks

Release files for paka.cmark 2.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for paka.cmark 2.5.1
File Size Uploaded
paka_cmark-2.5.1.tar.gz 130.0 kB Details

Release files / paka_cmark-2.5.1.tar.gz

Download URL paka_cmark-2.5.1.tar.gz
Size 130.0 kB
Tags Source
SHA-256 checksum
How to use checksums
866ec061affb252d94e9131ad8fc1b63218b019e591adf223d61da5affdb5cbe
BLAKE2b-256 checksum
How to use checksums
8375898868cda971edfc2297c9db1d8a0589d9882663da8dc0465a0f5812b391
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

3.0.0

1 release file

This release

2.5.1 This release

1 release file

2.5

1 release file

2.4.1

1 release file

2.3.0

1 release file

2.2.0

1 release file

2.1.0

1 release file

2.0.0

1 release file

1.46.0

1 release file

1.45.0

1 release file

1.44.0

1 release file

1.43.0

1 release file

1.42.0

1 release file

1.41.0

1 release file

1.40.0

1 release file

1.39.0

1 release file

1.38.0

1 release file

1.37.0

1 release file

1.36.0

1 release file

1.35.0

1 release file

1.34.0

1 release file

1.33.0

1 release file

1.32.0

1 release file

1.31.0

1 release file

1.30.0

1 release file

1.29.0

1 release file

1.28.0

1 release file

1.27.0

1 release file

1.26.0

1 release file

1.25.0

1 release file

1.24.1

1 release file

1.23.0

1 release file

1.22.0

1 release file

1.21.0

1 release file

1.20.0

1 release file

1.19.1

1 release file

1.19.0

1 release file

1.18.2

1 release file

1.18.1

1 release file

1.18.0

1 release file

1.17.2

1 release file

1.17.1

1 release file

1.17.0

1 release file

1.16.0

1 release file

1.15.0

1 release file

1.14.2

1 release file

1.14.1

1 release file

1.14.0

1 release file

1.13.0

1 release file

1.12.0

1 release file

1.11.0

1 release file

1.10.6

1 release file

1.10.5

1 release file

1.10.4

1 release file

1.10.0

1 release file

1.9.2

1 release file

1.9.1

1 release file

1.8.0

1 release file

1.7.1

1 release file

1.7.0

1 release file

1.6.4

1 release file

1.6.3

1 release file

1.6.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page