cmarkgfm


Namecmarkgfm JSON
Version 2024.1.14 PyPI version JSON
download
home_pagehttps://github.com/theacodes/cmarkgfm
SummaryMinimal bindings to GitHub's fork of cmark
upload_time2024-01-14 15:17:27
maintainer
docs_urlNone
authorThe Python Packaging Authority
requires_python
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            cmarkgfm - Python bindings to GitHub's cmark
============================================

Minimalist Python bindings to GitHub's fork of cmark.

Installation
------------

This package is published on PyPI as `cmarkgfm <https://pypi.org/project/cmarkgfm/>`__
and can be installed with `pip` or `pipenv`::

    pip install --user cmarkgfm
    pipenv install cmarkgfm

Wheels are provided for macOS, Linux, and Windows for Python 3.6, 3.7, 3.8, 3.9, 3.10 and 3.11.


Usage
-----

High-level usage is really straightforward. To render normal CommonMark
markdown:

.. code-block:: python

    import cmarkgfm

    html = cmarkgfm.markdown_to_html(markdown_text)


To render GitHub-flavored markdown:

.. code-block:: python

    import cmarkgfm

    html = cmarkgfm.github_flavored_markdown_to_html(markdown_text)


Advanced Usage
--------------

**Options**

Both rendering methods ``markdown_to_html`` and ``github_flavored_markdown_to_html`` have
an optional ``options`` argument that can be used to activate `options of cmark <https://manpages.debian.org/stretch/cmark/cmark.1.en.html>`_.
For example:

.. code-block:: python

    import cmarkgfm
    from cmarkgfm.cmark import Options as cmarkgfmOptions

    options = (
        cmarkgfmOptions.CMARK_OPT_GITHUB_PRE_LANG
        | cmarkgfmOptions.CMARK_OPT_SMART
    )
    html = cmarkgfm.markdown_to_html(markdown_text, options)

The options are:

+-----------------------------------------+----------------------------------------------------+
|                  Option                 |                       Effect                       |
+=========================================+====================================================+
| CMARK_OPT_UNSAFE (>=0.5.0)              | Allows rendering unsafe HTML and links.            |
+-----------------------------------------+----------------------------------------------------+
| CMARK_OPT_SAFE (<0.5.0)                 | Prevents rendering unsafe HTML and links.          |
+-----------------------------------------+----------------------------------------------------+
| CMARK_OPT_SMART                         | Render curly quotes, en/em-dashes, ellipses        |
+-----------------------------------------+----------------------------------------------------+
| CMARK_OPT_NORMALIZE                     | Consolidate adjacent text nodes.                   |
+-----------------------------------------+----------------------------------------------------+
| CMARK_OPT_HARDBREAKS                    | Renders line breaks within paragraphs as ``<br>``  |
+-----------------------------------------+----------------------------------------------------+
| CMARK_OPT_NOBREAKS                      | Render soft line breaks as spaces.                 |
+-----------------------------------------+----------------------------------------------------+
| CMARK_OPT_SOURCEPOS                     | Adds ``data-sourcepos`` to HTML tags indicating    |
|                                         | the corresponding line/col ranges in the input     |
+-----------------------------------------+----------------------------------------------------+
| CMARK_OPT_FOOTNOTES                     | Parse footnotes.                                   |
+-----------------------------------------+----------------------------------------------------+
| CMARK_OPT_VALIDATE_UTF8                 | Validate UTF\-8 in the input before parsing,       |
|                                         | replacing illegal sequenceswith the replacement    |
|                                         | character U+FFFD.                                  |
+-----------------------------------------+----------------------------------------------------+
| CMARK_OPT_GITHUB_PRE_LANG               | Use GitHub\-style  tags for code blocks.           |
+-----------------------------------------+----------------------------------------------------+
| CMARK_OPT_LIBERAL_HTML_TAG              | Be liberal in interpreting inline HTML tags.       |
+-----------------------------------------+----------------------------------------------------+
| CMARK_OPT_STRIKETHROUGH_DOUBLE_TILDE    | Only parse strikethroughs if surrounded by exactly |
|                                         | 2 tildes. Gives some compatibility with redcarpet. |
+-----------------------------------------+----------------------------------------------------+
| CMARK_OPT_TABLE_PREFER_STYLE_ATTRIBUTES | Use style attributes to align table cells instead  |
|                                         | of align attributes.                               |
+-----------------------------------------+----------------------------------------------------+


**Unsafe rendering**

Since version 0.5.0, the default behavior is safe. In earlier versions, the default behavior is unsafe, as described below. To render potentially unsafe HTML since 0.5.0 pass the ``CMARK_OPT_UNSAFE`` option.

CommonMark can render potentially unsafe HTML, including raw HTML, raw Javascript, and potentially unsafe links (including links that run scripts). Although ``github_flavored_markdown_to_html`` prevents some raw HTML tags (including ``script``) from being rendered, it does not block unsafe URLs in links.

Therefore it is recommend to call the rendering method with the SAFE option turned on. The safe option does not render raw HTML or potentially dangerous URLs. (Raw HTML is replaced by a placeholder comment; potentially dangerous URLs are replaced by empty strings.) Dangerous URLs are those that begin with ``javascript:``, ``vbscript:``, ``file:``, or ``data:`` (except for ``image/png``, ``image/gif``, ``image/jpeg``, or ``image/webp`` mime types) To do this, use:

.. code-block:: python

    # cmarkgfm<0.5.0
    import cmarkgfm
    from cmarkgfm.cmark import Options as cmarkgfmOptions

    html = cmarkgfm.markdown_to_html(markdown_text, options=cmarkgfmOptions.CMARK_OPT_SAFE)
    # or
    html = cmarkgfm.github_flavored_markdown_to_html(markdown_text, options=cmarkgfmOptions.CMARK_OPT_SAFE)

If you trust the markdown text to not include any unsafe tags and links, then you may skip this.


Contributing
------------

Pull requests are welcome. :)


License
-------

This project is under the MIT License. It includes components under differing
copyright under the ``third_party`` directory in this source tree.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/theacodes/cmarkgfm",
    "name": "cmarkgfm",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "The Python Packaging Authority",
    "author_email": "me@thea.codes, pypa-dev@googlegroups.com",
    "download_url": "",
    "platform": null,
    "description": "cmarkgfm - Python bindings to GitHub's cmark\n============================================\n\nMinimalist Python bindings to GitHub's fork of cmark.\n\nInstallation\n------------\n\nThis package is published on PyPI as `cmarkgfm <https://pypi.org/project/cmarkgfm/>`__\nand can be installed with `pip` or `pipenv`::\n\n    pip install --user cmarkgfm\n    pipenv install cmarkgfm\n\nWheels are provided for macOS, Linux, and Windows for Python 3.6, 3.7, 3.8, 3.9, 3.10 and 3.11.\n\n\nUsage\n-----\n\nHigh-level usage is really straightforward. To render normal CommonMark\nmarkdown:\n\n.. code-block:: python\n\n    import cmarkgfm\n\n    html = cmarkgfm.markdown_to_html(markdown_text)\n\n\nTo render GitHub-flavored markdown:\n\n.. code-block:: python\n\n    import cmarkgfm\n\n    html = cmarkgfm.github_flavored_markdown_to_html(markdown_text)\n\n\nAdvanced Usage\n--------------\n\n**Options**\n\nBoth rendering methods ``markdown_to_html`` and ``github_flavored_markdown_to_html`` have\nan optional ``options`` argument that can be used to activate `options of cmark <https://manpages.debian.org/stretch/cmark/cmark.1.en.html>`_.\nFor example:\n\n.. code-block:: python\n\n    import cmarkgfm\n    from cmarkgfm.cmark import Options as cmarkgfmOptions\n\n    options = (\n        cmarkgfmOptions.CMARK_OPT_GITHUB_PRE_LANG\n        | cmarkgfmOptions.CMARK_OPT_SMART\n    )\n    html = cmarkgfm.markdown_to_html(markdown_text, options)\n\nThe options are:\n\n+-----------------------------------------+----------------------------------------------------+\n|                  Option                 |                       Effect                       |\n+=========================================+====================================================+\n| CMARK_OPT_UNSAFE (>=0.5.0)              | Allows rendering unsafe HTML and links.            |\n+-----------------------------------------+----------------------------------------------------+\n| CMARK_OPT_SAFE (<0.5.0)                 | Prevents rendering unsafe HTML and links.          |\n+-----------------------------------------+----------------------------------------------------+\n| CMARK_OPT_SMART                         | Render curly quotes, en/em-dashes, ellipses        |\n+-----------------------------------------+----------------------------------------------------+\n| CMARK_OPT_NORMALIZE                     | Consolidate adjacent text nodes.                   |\n+-----------------------------------------+----------------------------------------------------+\n| CMARK_OPT_HARDBREAKS                    | Renders line breaks within paragraphs as ``<br>``  |\n+-----------------------------------------+----------------------------------------------------+\n| CMARK_OPT_NOBREAKS                      | Render soft line breaks as spaces.                 |\n+-----------------------------------------+----------------------------------------------------+\n| CMARK_OPT_SOURCEPOS                     | Adds ``data-sourcepos`` to HTML tags indicating    |\n|                                         | the corresponding line/col ranges in the input     |\n+-----------------------------------------+----------------------------------------------------+\n| CMARK_OPT_FOOTNOTES                     | Parse footnotes.                                   |\n+-----------------------------------------+----------------------------------------------------+\n| CMARK_OPT_VALIDATE_UTF8                 | Validate UTF\\-8 in the input before parsing,       |\n|                                         | replacing illegal sequenceswith the replacement    |\n|                                         | character U+FFFD.                                  |\n+-----------------------------------------+----------------------------------------------------+\n| CMARK_OPT_GITHUB_PRE_LANG               | Use GitHub\\-style  tags for code blocks.           |\n+-----------------------------------------+----------------------------------------------------+\n| CMARK_OPT_LIBERAL_HTML_TAG              | Be liberal in interpreting inline HTML tags.       |\n+-----------------------------------------+----------------------------------------------------+\n| CMARK_OPT_STRIKETHROUGH_DOUBLE_TILDE    | Only parse strikethroughs if surrounded by exactly |\n|                                         | 2 tildes. Gives some compatibility with redcarpet. |\n+-----------------------------------------+----------------------------------------------------+\n| CMARK_OPT_TABLE_PREFER_STYLE_ATTRIBUTES | Use style attributes to align table cells instead  |\n|                                         | of align attributes.                               |\n+-----------------------------------------+----------------------------------------------------+\n\n\n**Unsafe rendering**\n\nSince version 0.5.0, the default behavior is safe. In earlier versions, the default behavior is unsafe, as described below. To render potentially unsafe HTML since 0.5.0 pass the ``CMARK_OPT_UNSAFE`` option.\n\nCommonMark can render potentially unsafe HTML, including raw HTML, raw Javascript, and potentially unsafe links (including links that run scripts). Although ``github_flavored_markdown_to_html`` prevents some raw HTML tags (including ``script``) from being rendered, it does not block unsafe URLs in links.\n\nTherefore it is recommend to call the rendering method with the SAFE option turned on. The safe option does not render raw HTML or potentially dangerous URLs. (Raw HTML is replaced by a placeholder comment; potentially dangerous URLs are replaced by empty strings.) Dangerous URLs are those that begin with ``javascript:``, ``vbscript:``, ``file:``, or ``data:`` (except for ``image/png``, ``image/gif``, ``image/jpeg``, or ``image/webp`` mime types) To do this, use:\n\n.. code-block:: python\n\n    # cmarkgfm<0.5.0\n    import cmarkgfm\n    from cmarkgfm.cmark import Options as cmarkgfmOptions\n\n    html = cmarkgfm.markdown_to_html(markdown_text, options=cmarkgfmOptions.CMARK_OPT_SAFE)\n    # or\n    html = cmarkgfm.github_flavored_markdown_to_html(markdown_text, options=cmarkgfmOptions.CMARK_OPT_SAFE)\n\nIf you trust the markdown text to not include any unsafe tags and links, then you may skip this.\n\n\nContributing\n------------\n\nPull requests are welcome. :)\n\n\nLicense\n-------\n\nThis project is under the MIT License. It includes components under differing\ncopyright under the ``third_party`` directory in this source tree.\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Minimal bindings to GitHub's fork of cmark",
    "version": "2024.1.14",
    "project_urls": {
        "Bug Reports": "https://github.com/theacodes/cmarkgfm/issues",
        "Funding": "https://donate.pypi.org",
        "Homepage": "https://github.com/theacodes/cmarkgfm",
        "Source": "https://github.com/theacodes/cmarkgfm"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3875eb384c2e0b40a49dd7cebed9dd243b2c028a9201bdfd7276f9c95276d421",
                "md5": "ca23f8c1ef3bfdc2d6cf0b9416ce4f94",
                "sha256": "b676300ff04629c07c02687e5dc017fb7d1edf38a5dc1ab2ec28078a71195ce6"
            },
            "downloads": -1,
            "filename": "cmarkgfm-2024.1.14-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ca23f8c1ef3bfdc2d6cf0b9416ce4f94",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 125978,
            "upload_time": "2024-01-14T15:17:27",
            "upload_time_iso_8601": "2024-01-14T15:17:27.726939Z",
            "url": "https://files.pythonhosted.org/packages/38/75/eb384c2e0b40a49dd7cebed9dd243b2c028a9201bdfd7276f9c95276d421/cmarkgfm-2024.1.14-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cea7d1c81abda5335902eab537cd9483d404b7c1a2c7a762ec844efc96e0b4ec",
                "md5": "d9447c8b38cf721e08b993cd5fef2a6a",
                "sha256": "7ccd6689108673be5bb19f3a3b02cf897fab9b04290a0548e4c6deec5a1fec9a"
            },
            "downloads": -1,
            "filename": "cmarkgfm-2024.1.14-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "d9447c8b38cf721e08b993cd5fef2a6a",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 124117,
            "upload_time": "2024-01-14T15:17:29",
            "upload_time_iso_8601": "2024-01-14T15:17:29.637509Z",
            "url": "https://files.pythonhosted.org/packages/ce/a7/d1c81abda5335902eab537cd9483d404b7c1a2c7a762ec844efc96e0b4ec/cmarkgfm-2024.1.14-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3ac365ec673bf90cbb73d2c3a8ca88234435d0ff646738b7d29be1d7b5dcbf39",
                "md5": "a43dc2910ca75498f13028f1fe3efbcb",
                "sha256": "d399545833ff3f25f8f6d9b559be5878987f3e34cfc4fe79cefc1d33fd3da852"
            },
            "downloads": -1,
            "filename": "cmarkgfm-2024.1.14-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "a43dc2910ca75498f13028f1fe3efbcb",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 116835,
            "upload_time": "2024-01-14T15:20:58",
            "upload_time_iso_8601": "2024-01-14T15:20:58.117277Z",
            "url": "https://files.pythonhosted.org/packages/3a/c3/65ec673bf90cbb73d2c3a8ca88234435d0ff646738b7d29be1d7b5dcbf39/cmarkgfm-2024.1.14-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "90584af6df4c36fc9ba20a7cca1cf73e8882aff0945c9983e3b6431bff43bc36",
                "md5": "494d3b3bc658024c350361604a008c13",
                "sha256": "bcd059584161491a2848e55ec73c28f17d8e89faec9ad860afa05246a6ee695f"
            },
            "downloads": -1,
            "filename": "cmarkgfm-2024.1.14-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "494d3b3bc658024c350361604a008c13",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 127303,
            "upload_time": "2024-01-14T15:20:59",
            "upload_time_iso_8601": "2024-01-14T15:20:59.918201Z",
            "url": "https://files.pythonhosted.org/packages/90/58/4af6df4c36fc9ba20a7cca1cf73e8882aff0945c9983e3b6431bff43bc36/cmarkgfm-2024.1.14-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "475f08b10b2ed15e7053526b835e6fd198a42de9660f3b031a0edf4c28d32086",
                "md5": "cea7b52a720261c13f02721536132b03",
                "sha256": "6565d5659d80d119733a407af70e5de7c04e0822fabb91db83688e0e280cc174"
            },
            "downloads": -1,
            "filename": "cmarkgfm-2024.1.14-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "cea7b52a720261c13f02721536132b03",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 125976,
            "upload_time": "2024-01-14T15:17:31",
            "upload_time_iso_8601": "2024-01-14T15:17:31.291207Z",
            "url": "https://files.pythonhosted.org/packages/47/5f/08b10b2ed15e7053526b835e6fd198a42de9660f3b031a0edf4c28d32086/cmarkgfm-2024.1.14-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4fe26ccf5b916ab7b5df1f4472302f65f9daa466eb7d22d2477caed27ee13b0d",
                "md5": "e592dccf36056c7263acb990a16dee17",
                "sha256": "43db622d57e81dce30dcbea3a0198588080559473e5bafb68e10959dbf0a3d0f"
            },
            "downloads": -1,
            "filename": "cmarkgfm-2024.1.14-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "e592dccf36056c7263acb990a16dee17",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 124119,
            "upload_time": "2024-01-14T15:17:32",
            "upload_time_iso_8601": "2024-01-14T15:17:32.449051Z",
            "url": "https://files.pythonhosted.org/packages/4f/e2/6ccf5b916ab7b5df1f4472302f65f9daa466eb7d22d2477caed27ee13b0d/cmarkgfm-2024.1.14-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d58f46c0fc7cf5c48929a3073d5843e77b638f3798710397bad234627c39c9d9",
                "md5": "267bc0a2629db90910f51285307e1f20",
                "sha256": "3cdc34d749601ff74209580fb7c80b3cbf1112d2832af52c14387cb04831ff2b"
            },
            "downloads": -1,
            "filename": "cmarkgfm-2024.1.14-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "267bc0a2629db90910f51285307e1f20",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 116834,
            "upload_time": "2024-01-14T15:21:01",
            "upload_time_iso_8601": "2024-01-14T15:21:01.716155Z",
            "url": "https://files.pythonhosted.org/packages/d5/8f/46c0fc7cf5c48929a3073d5843e77b638f3798710397bad234627c39c9d9/cmarkgfm-2024.1.14-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "382cabd3c6a3ed85d688f51135b35188a613f318cb1ab86bff43d284570d453b",
                "md5": "2ca2d643cb599f3c3a62dab6e6db598b",
                "sha256": "8b8fd26ff27b9895f48459b8e556b9d6c4d255ac3735b3b2f8b14b9787ff6b89"
            },
            "downloads": -1,
            "filename": "cmarkgfm-2024.1.14-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "2ca2d643cb599f3c3a62dab6e6db598b",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 127303,
            "upload_time": "2024-01-14T15:21:02",
            "upload_time_iso_8601": "2024-01-14T15:21:02.814574Z",
            "url": "https://files.pythonhosted.org/packages/38/2c/abd3c6a3ed85d688f51135b35188a613f318cb1ab86bff43d284570d453b/cmarkgfm-2024.1.14-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8858a9dbbe8e0ac1278633f24ea892751aeb80670e59a2324fbaa0d0b2220dbe",
                "md5": "5bf4f46a2a4b67ccdda3b4f8ab082096",
                "sha256": "3340c8867ee9a3d2590eb020f22cdc4e101d3d4d9f4a8cc95964f45666ed58f0"
            },
            "downloads": -1,
            "filename": "cmarkgfm-2024.1.14-cp36-cp36m-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "5bf4f46a2a4b67ccdda3b4f8ab082096",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": null,
            "size": 126160,
            "upload_time": "2024-01-14T15:17:34",
            "upload_time_iso_8601": "2024-01-14T15:17:34.001556Z",
            "url": "https://files.pythonhosted.org/packages/88/58/a9dbbe8e0ac1278633f24ea892751aeb80670e59a2324fbaa0d0b2220dbe/cmarkgfm-2024.1.14-cp36-cp36m-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b56d5e545c769253b3569eda95b6d58ef53bc99717b274317bb59c054a9e39eb",
                "md5": "8c57f6763e0ed8f0b233d633bce0990e",
                "sha256": "e51707471196d199f03aff1c5e12860d12a44e7bf29302e7bb485074f8e62ff0"
            },
            "downloads": -1,
            "filename": "cmarkgfm-2024.1.14-cp36-cp36m-win32.whl",
            "has_sig": false,
            "md5_digest": "8c57f6763e0ed8f0b233d633bce0990e",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": null,
            "size": 124383,
            "upload_time": "2024-01-14T15:21:04",
            "upload_time_iso_8601": "2024-01-14T15:21:04.526452Z",
            "url": "https://files.pythonhosted.org/packages/b5/6d/5e545c769253b3569eda95b6d58ef53bc99717b274317bb59c054a9e39eb/cmarkgfm-2024.1.14-cp36-cp36m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "13ecc0f25e353a160aca52109510044727a5ffe8bc744c1d1a525870aa8af740",
                "md5": "6749791878ef74ea4aa923a93fa56765",
                "sha256": "bee28a3cc0abae18a46119ff1cde0db991f5ebe235d24c95bbaa672a63b5d695"
            },
            "downloads": -1,
            "filename": "cmarkgfm-2024.1.14-cp36-cp36m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "6749791878ef74ea4aa923a93fa56765",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": null,
            "size": 139125,
            "upload_time": "2024-01-14T15:21:05",
            "upload_time_iso_8601": "2024-01-14T15:21:05.643869Z",
            "url": "https://files.pythonhosted.org/packages/13/ec/c0f25e353a160aca52109510044727a5ffe8bc744c1d1a525870aa8af740/cmarkgfm-2024.1.14-cp36-cp36m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6e6573c4fd80101e43c63d1529de500a332c5e9a0505cfdb26d73eb6e7cfd18f",
                "md5": "d07ffbfe313dbf5742c1636f8dc9ead4",
                "sha256": "e601ed6c9a44c5f86b392afef2f66711da07924825a4ff695eec9a3cfc905732"
            },
            "downloads": -1,
            "filename": "cmarkgfm-2024.1.14-cp37-cp37m-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d07ffbfe313dbf5742c1636f8dc9ead4",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 125937,
            "upload_time": "2024-01-14T15:17:35",
            "upload_time_iso_8601": "2024-01-14T15:17:35.870471Z",
            "url": "https://files.pythonhosted.org/packages/6e/65/73c4fd80101e43c63d1529de500a332c5e9a0505cfdb26d73eb6e7cfd18f/cmarkgfm-2024.1.14-cp37-cp37m-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "44eda1d310e9b330f4d24b3c132ad70d93e7bdf8b69c24bd31294debb70e1c4f",
                "md5": "e3f99fb5ddb52f122e54c4e8a5177c35",
                "sha256": "ff0bc7dbb86d1a6877b771ed715dbe0ab071872e8c6f5beb782528b70ac7eedc"
            },
            "downloads": -1,
            "filename": "cmarkgfm-2024.1.14-cp37-cp37m-win32.whl",
            "has_sig": false,
            "md5_digest": "e3f99fb5ddb52f122e54c4e8a5177c35",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 116834,
            "upload_time": "2024-01-14T15:21:06",
            "upload_time_iso_8601": "2024-01-14T15:21:06.737576Z",
            "url": "https://files.pythonhosted.org/packages/44/ed/a1d310e9b330f4d24b3c132ad70d93e7bdf8b69c24bd31294debb70e1c4f/cmarkgfm-2024.1.14-cp37-cp37m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "24b31b388bc7dc2bc45a9c291fbc13f38ca15847ce6485fdee0be281edad820f",
                "md5": "f31f1553831e9f4fbf3bc13567bc0e94",
                "sha256": "a4b20a59dc14a074bae0bd04306e504512c1883b0c9b6e0e0c5b217797571363"
            },
            "downloads": -1,
            "filename": "cmarkgfm-2024.1.14-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "f31f1553831e9f4fbf3bc13567bc0e94",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 127303,
            "upload_time": "2024-01-14T15:21:07",
            "upload_time_iso_8601": "2024-01-14T15:21:07.815481Z",
            "url": "https://files.pythonhosted.org/packages/24/b3/1b388bc7dc2bc45a9c291fbc13f38ca15847ce6485fdee0be281edad820f/cmarkgfm-2024.1.14-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a0d9c7578876d95eed28a899b2d38537c01e1c95d724b86e01a7b5a61b7e034a",
                "md5": "09f4d3ed77f164e671d0148762050954",
                "sha256": "4808af8c8c2c0a39dca8cc27406416d8254aec635f409dc5beb5cb5ed3af564a"
            },
            "downloads": -1,
            "filename": "cmarkgfm-2024.1.14-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "09f4d3ed77f164e671d0148762050954",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 125955,
            "upload_time": "2024-01-14T15:17:37",
            "upload_time_iso_8601": "2024-01-14T15:17:37.470316Z",
            "url": "https://files.pythonhosted.org/packages/a0/d9/c7578876d95eed28a899b2d38537c01e1c95d724b86e01a7b5a61b7e034a/cmarkgfm-2024.1.14-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a0d3fbb9e22e1aa331e12e88641443ae7a45552958823cdd1b10b2cab8c55b39",
                "md5": "7f2adcbe286b86a86256b2f32112897c",
                "sha256": "c71d6b44ffdd9a03e246a35c8a2b2454eb2a319fcfe5736ff62660259f9f4683"
            },
            "downloads": -1,
            "filename": "cmarkgfm-2024.1.14-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "7f2adcbe286b86a86256b2f32112897c",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 124117,
            "upload_time": "2024-01-14T15:17:39",
            "upload_time_iso_8601": "2024-01-14T15:17:39.074156Z",
            "url": "https://files.pythonhosted.org/packages/a0/d3/fbb9e22e1aa331e12e88641443ae7a45552958823cdd1b10b2cab8c55b39/cmarkgfm-2024.1.14-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "39ad86e37b36a18ba12567dcba6c4d714efba23e2fb12101fc13fe3eb6da5793",
                "md5": "43f647e382ca03c030e8650c3787f106",
                "sha256": "93364f7ec9de71285f0a27552f9cfa30aa4d311d37c820daa65dc27ab211a746"
            },
            "downloads": -1,
            "filename": "cmarkgfm-2024.1.14-cp38-cp38-win32.whl",
            "has_sig": false,
            "md5_digest": "43f647e382ca03c030e8650c3787f106",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 116829,
            "upload_time": "2024-01-14T15:21:09",
            "upload_time_iso_8601": "2024-01-14T15:21:09.392037Z",
            "url": "https://files.pythonhosted.org/packages/39/ad/86e37b36a18ba12567dcba6c4d714efba23e2fb12101fc13fe3eb6da5793/cmarkgfm-2024.1.14-cp38-cp38-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7646307beec9d5c3a59b5cb7d5003f0fcae316877da03f59c910e4853a105a55",
                "md5": "2c661bf940f107380072d69409203e0e",
                "sha256": "ca9e5388c88f907c9ef1cf588947ea00a1c60f3462fe1f213b591bbd27ceb8c1"
            },
            "downloads": -1,
            "filename": "cmarkgfm-2024.1.14-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "2c661bf940f107380072d69409203e0e",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 127302,
            "upload_time": "2024-01-14T15:21:10",
            "upload_time_iso_8601": "2024-01-14T15:21:10.568064Z",
            "url": "https://files.pythonhosted.org/packages/76/46/307beec9d5c3a59b5cb7d5003f0fcae316877da03f59c910e4853a105a55/cmarkgfm-2024.1.14-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "36b0221b6f6d590d0bc7e1cea56f8cc9412a700948cda1593a4efd6b760714dd",
                "md5": "efddaa7ab571205281692b8fec98c584",
                "sha256": "1444f396fc18115065c66bb6f8a523167fa3bd153423d6fea272c4b486b473cf"
            },
            "downloads": -1,
            "filename": "cmarkgfm-2024.1.14-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "efddaa7ab571205281692b8fec98c584",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 125954,
            "upload_time": "2024-01-14T15:17:40",
            "upload_time_iso_8601": "2024-01-14T15:17:40.751334Z",
            "url": "https://files.pythonhosted.org/packages/36/b0/221b6f6d590d0bc7e1cea56f8cc9412a700948cda1593a4efd6b760714dd/cmarkgfm-2024.1.14-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0260726830c42128facdfd29694eace089ddde67ccf3edd9ee536b2a19dff7dc",
                "md5": "7cca3886173340bc75f461b756d963cf",
                "sha256": "fdecbdad66b7738c711db33471d510c6279a01196920c43294d8071e51192807"
            },
            "downloads": -1,
            "filename": "cmarkgfm-2024.1.14-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "7cca3886173340bc75f461b756d963cf",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 124123,
            "upload_time": "2024-01-14T15:17:41",
            "upload_time_iso_8601": "2024-01-14T15:17:41.861218Z",
            "url": "https://files.pythonhosted.org/packages/02/60/726830c42128facdfd29694eace089ddde67ccf3edd9ee536b2a19dff7dc/cmarkgfm-2024.1.14-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "52ee7a82c33bfbcb3d14ba6f0022e970c2efb740bed1824258b1e2120b8191e5",
                "md5": "602abb8cfdc5e6a7c89a08739395294e",
                "sha256": "d55795968751e1a8ddd2172c1d03d0107b9dd20445dbcd23dc9e0a80d95a0c5b"
            },
            "downloads": -1,
            "filename": "cmarkgfm-2024.1.14-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "602abb8cfdc5e6a7c89a08739395294e",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 116830,
            "upload_time": "2024-01-14T15:21:12",
            "upload_time_iso_8601": "2024-01-14T15:21:12.184258Z",
            "url": "https://files.pythonhosted.org/packages/52/ee/7a82c33bfbcb3d14ba6f0022e970c2efb740bed1824258b1e2120b8191e5/cmarkgfm-2024.1.14-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "50499d04d1bf4eb4ef819f12a889cd628ed3c4f4fde6cd56a579870fda3dae61",
                "md5": "aed727b710a40022f9c8889fc00dd125",
                "sha256": "b79662ab458c910c9785abacb8315d6f46487659d44398bd894f577bb6b9d04e"
            },
            "downloads": -1,
            "filename": "cmarkgfm-2024.1.14-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "aed727b710a40022f9c8889fc00dd125",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 127304,
            "upload_time": "2024-01-14T15:21:13",
            "upload_time_iso_8601": "2024-01-14T15:21:13.777055Z",
            "url": "https://files.pythonhosted.org/packages/50/49/9d04d1bf4eb4ef819f12a889cd628ed3c4f4fde6cd56a579870fda3dae61/cmarkgfm-2024.1.14-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-14 15:17:27",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "theacodes",
    "github_project": "cmarkgfm",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "cmarkgfm"
}
        
Elapsed time: 0.17704s