pulldown-cmark


Namepulldown-cmark JSON
Version 0.1.1 PyPI version JSON
download
home_pagehttps://git.sr.ht/~orchid/pulldown-cmark-py
SummaryA Python interface to pulldown-cmark.
upload_time2025-07-25 03:21:19
maintainerNone
docs_urlNone
authorMohamad Makki <moe.m.makki@gmail.com>
requires_python>=3.13
license0BSD
keywords markdown
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # pulldown-cmark-py

An easy-to-use, configurable Python wrapper around
[pulldown-cmark](https://github.com/pulldown-cmark/pulldown-cmark).

## Installation

```bash
uv add pulldown-cmark
```

## Usage

`pulldown-cmark-py` provides just one function.

```python
def render(markdown: list[str], options: Options | None = None) -> list[str]: ...
```

The `Options` class configures callbacks and CommonMark extensions; see
`help(Options)` for details.

```python
class Options:
    tables: bool
    footnotes: bool
    strikethrough: bool
    tasklists: bool
    smart_punctuation: bool
    heading_attributes: bool
    yaml_style_metadata_blocks: bool
    pluses_delimited_metadata_blocks: bool
    old_footnotes: bool
    gfm: bool
    definition_list: bool
    superscript: bool
    subscript: bool
    wikilinks: bool
    math: Callable[[str, bool], str] | None
    code: Callable[[str, str | None], str] | None
```

Simple callback examples are given below.

```python
from latex2mathml.converter import convert
from pygments import highlight
from pygments.formatters import HtmlFormatter
from pygments.lexers import get_lexer_by_name, guess_lexer

def math_callback(buffer: str, display: bool) -> str:
    return convert(buffer, "display" if display else "inline")

def code_callback(buffer: str, language: str | None) -> str:
    lexer = get_lexer_by_name(language) if language else guess_lexer(buffer)
    return highlight(buffer, lexer, HtmlFormatter())
```


            

Raw data

            {
    "_id": null,
    "home_page": "https://git.sr.ht/~orchid/pulldown-cmark-py",
    "name": "pulldown-cmark",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.13",
    "maintainer_email": null,
    "keywords": "markdown",
    "author": "Mohamad Makki <moe.m.makki@gmail.com>",
    "author_email": "Mohamad Makki <moe.m.makki@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/fb/53/c7b626e4cdad8f0416b2ff82325a1c7a9f60d390992aa1956a5f87f20ed1/pulldown_cmark-0.1.1.tar.gz",
    "platform": null,
    "description": "# pulldown-cmark-py\n\nAn easy-to-use, configurable Python wrapper around\n[pulldown-cmark](https://github.com/pulldown-cmark/pulldown-cmark).\n\n## Installation\n\n```bash\nuv add pulldown-cmark\n```\n\n## Usage\n\n`pulldown-cmark-py` provides just one function.\n\n```python\ndef render(markdown: list[str], options: Options | None = None) -> list[str]: ...\n```\n\nThe `Options` class configures callbacks and CommonMark extensions; see\n`help(Options)` for details.\n\n```python\nclass Options:\n    tables: bool\n    footnotes: bool\n    strikethrough: bool\n    tasklists: bool\n    smart_punctuation: bool\n    heading_attributes: bool\n    yaml_style_metadata_blocks: bool\n    pluses_delimited_metadata_blocks: bool\n    old_footnotes: bool\n    gfm: bool\n    definition_list: bool\n    superscript: bool\n    subscript: bool\n    wikilinks: bool\n    math: Callable[[str, bool], str] | None\n    code: Callable[[str, str | None], str] | None\n```\n\nSimple callback examples are given below.\n\n```python\nfrom latex2mathml.converter import convert\nfrom pygments import highlight\nfrom pygments.formatters import HtmlFormatter\nfrom pygments.lexers import get_lexer_by_name, guess_lexer\n\ndef math_callback(buffer: str, display: bool) -> str:\n    return convert(buffer, \"display\" if display else \"inline\")\n\ndef code_callback(buffer: str, language: str | None) -> str:\n    lexer = get_lexer_by_name(language) if language else guess_lexer(buffer)\n    return highlight(buffer, lexer, HtmlFormatter())\n```\n\n",
    "bugtrack_url": null,
    "license": "0BSD",
    "summary": "A Python interface to pulldown-cmark.",
    "version": "0.1.1",
    "project_urls": {
        "Homepage": "https://git.sr.ht/~orchid/pulldown-cmark-py",
        "Source Code": "https://git.sr.ht/~orchid/pulldown-cmark-py"
    },
    "split_keywords": [
        "markdown"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c6f8d5230773ada0687ac7266555749043388c4658dc44e384931c99c5edb77f",
                "md5": "947640b4b66c4b67a5b8cdc4e5d54198",
                "sha256": "de4b77bd84483bc1a27e3f77fc7a9eae94af2d65521ffb9a6b00fa76f6dfc150"
            },
            "downloads": -1,
            "filename": "pulldown_cmark-0.1.1-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "947640b4b66c4b67a5b8cdc4e5d54198",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.13",
            "size": 413227,
            "upload_time": "2025-07-25T03:21:16",
            "upload_time_iso_8601": "2025-07-25T03:21:16.804825Z",
            "url": "https://files.pythonhosted.org/packages/c6/f8/d5230773ada0687ac7266555749043388c4658dc44e384931c99c5edb77f/pulldown_cmark-0.1.1-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fb53c7b626e4cdad8f0416b2ff82325a1c7a9f60d390992aa1956a5f87f20ed1",
                "md5": "d8ec844da790048be630280e9a70a6df",
                "sha256": "98c93af9bc995baae5f05bcdfb1c669ec1ae30938cbaca450b9969e5bfbcc4ac"
            },
            "downloads": -1,
            "filename": "pulldown_cmark-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "d8ec844da790048be630280e9a70a6df",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.13",
            "size": 16502,
            "upload_time": "2025-07-25T03:21:19",
            "upload_time_iso_8601": "2025-07-25T03:21:19.230783Z",
            "url": "https://files.pythonhosted.org/packages/fb/53/c7b626e4cdad8f0416b2ff82325a1c7a9f60d390992aa1956a5f87f20ed1/pulldown_cmark-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-25 03:21:19",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "pulldown-cmark"
}
        
Elapsed time: 0.84866s