Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-CommonMark for
openSUSE:Factory checked in at 2026-06-15 19:41:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-CommonMark (Old)
and /work/SRC/openSUSE:Factory/.python-CommonMark.new.1981 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-CommonMark"
Mon Jun 15 19:41:46 2026 rev:18 rq:1359207 version:0.9.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-CommonMark/python-CommonMark.changes
2025-05-06 16:40:16.853289721 +0200
+++
/work/SRC/openSUSE:Factory/.python-CommonMark.new.1981/python-CommonMark.changes
2026-06-15 19:44:19.045610558 +0200
@@ -1,0 +2,7 @@
+Sun Jun 14 09:00:37 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 0.9.2:
+ * Deprecate package. Use markdown-it-py instead.
+ * Remove testing on python 3.4.
+
+-------------------------------------------------------------------
Old:
----
commonmark-0.9.1.tar.gz
New:
----
commonmark-0.9.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-CommonMark.spec ++++++
--- /var/tmp/diff_new_pack.dqdVLO/_old 2026-06-15 19:44:19.861644754 +0200
+++ /var/tmp/diff_new_pack.dqdVLO/_new 2026-06-15 19:44:19.865644922 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-CommonMark
#
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
%bcond_without python2
%{?sle15_python_module_pythons}
Name: python-CommonMark
-Version: 0.9.1
+Version: 0.9.2
Release: 0
Summary: Python parser for the CommonMark Markdown spec
License: BSD-3-Clause
++++++ commonmark-0.9.1.tar.gz -> commonmark-0.9.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/commonmark-0.9.1/CHANGELOG.md
new/commonmark-0.9.2/CHANGELOG.md
--- old/commonmark-0.9.1/CHANGELOG.md 2019-10-04 17:35:41.000000000 +0200
+++ new/commonmark-0.9.2/CHANGELOG.md 2026-05-28 22:39:03.000000000 +0200
@@ -1,4 +1,6 @@
-## x.y.z (unreleased)
+## 0.9.2 (2026-05-28)
+- Deprecate package. Use markdown-it-py instead.
+- Remove testing on python 3.4.
## 0.9.1 (2019-10-04)
- commonmark.py now requires `future >= 0.14.0` on Python 2, for uniform
`builtins` imports in Python 2/3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/commonmark-0.9.1/PKG-INFO
new/commonmark-0.9.2/PKG-INFO
--- old/commonmark-0.9.1/PKG-INFO 2019-10-04 17:35:55.000000000 +0200
+++ new/commonmark-0.9.2/PKG-INFO 2026-05-28 22:41:25.705689700 +0200
@@ -1,153 +1,12 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
Name: commonmark
-Version: 0.9.1
+Version: 0.9.2
Summary: Python parser for the CommonMark Markdown spec
Home-page: https://github.com/rtfd/commonmark.py
Author: Bibek Kafle <[email protected]>, Roland Shoemaker
<[email protected]>
Author-email: [email protected]
-Maintainer: Nikolas Nyby
-Maintainer-email: [email protected]
License: BSD-3-Clause
-Description: commonmark.py
- =============
-
- commonmark.py is a pure Python port of `jgm
<https://github.com/jgm>`__'s
- `commonmark.js <https://github.com/jgm/commonmark.js>`__, a
- Markdown parser and renderer for the
- `CommonMark <http://commonmark.org>`__ specification, using only native
- modules. Once both this project and the CommonMark specification are
- stable we will release the first ``1.0`` version and attempt to keep up
- to date with changes in ``commonmark.js``.
-
- commonmark.py is tested against the CommonMark spec with Python
versions
- 2.7, 3.4, 3.5, 3.6, and 3.7.
-
- **Current version:** 0.9.1
-
- |Pypi Link| |Build Status| |Doc Link|
-
- Installation
- ------------
-
- ::
-
- $ pip install commonmark
-
- Usage
- -----
-
- ::
-
- >>> import commonmark
- >>> commonmark.commonmark('*hello!*')
- '<p><em>hello!</em></p>\n'
-
- Or, without the syntactic sugar:
-
- .. code:: python
-
- import commonmark
- parser = commonmark.Parser()
- ast = parser.parse("Hello *World*")
-
- renderer = commonmark.HtmlRenderer()
- html = renderer.render(ast)
- print(html) # <p>Hello <em>World</em><p/>
-
- # inspecting the abstract syntax tree
- json = commonmark.dumpJSON(ast)
- commonmark.dumpAST(ast) # pretty print generated AST structure
-
- There is also a CLI:
-
- ::
-
- $ cmark README.md -o README.html
- $ cmark README.md -o README.json -aj # output AST as JSON
- $ cmark README.md -a # pretty print generated AST structure
- $ cmark -h
- usage: cmark [-h] [-o [O]] [-a] [-aj] [infile]
-
- Process Markdown according to the CommonMark specification.
-
- positional arguments:
- infile Input Markdown file to parse, defaults to stdin
-
- optional arguments:
- -h, --help show this help message and exit
- -o [O] Output HTML/JSON file, defaults to stdout
- -a Print formatted AST
- -aj Output JSON AST
-
-
- Contributing
- ------------
-
- If you would like to offer suggestions/optimizations/bugfixes through
- pull requests please do! Also if you find an error in the
- parser/renderer that isn't caught by the current test suite please open
- a new issue and I would also suggest you send the
- `commonmark.js <https://github.com/jgm/commonmark.js>`__ project
- a pull request adding your test to the existing test suite.
-
- Tests
- -----
-
- To work on commonmark.py, you will need to be able to run the test
suite to
- make sure your changes don't break anything. To run the tests, you can
do
- something like this:
-
- ::
-
- $ pyvenv venv
- $ ./venv/bin/python setup.py develop test
-
- The tests script, ``commonmark/tests/run_spec_tests.py``, is pretty
much a devtool. As
- well as running all the tests embedded in ``spec.txt`` it also allows
you
- to run specific tests using the ``-t`` argument, provide information
- about passed tests with ``-p``, percentage passed by category of test
- with ``-s``, and enter markdown interactively with ``-i`` (In
- interactive mode end a block by inputting a line with just ``end``, to
- quit do the same but with ``quit``). ``-d`` can be used to print call
- tracing.
-
- ::
-
- $ ./venv/bin/python commonmark/tests/run_spec_tests.py -h
- usage: run_spec_tests.py [-h] [-t T] [-p] [-f] [-i] [-d] [-np] [-s]
-
- script to run the CommonMark specification tests against the
commonmark.py
- parser.
-
- optional arguments:
- -h, --help show this help message and exit
- -t T Single test to run or comma separated list of tests
(-t 10 or -t 10,11,12,13)
- -p Print passed test information
- -f Print failed tests (during -np...)
- -i Interactive Markdown input mode
- -d Debug, trace calls
- -np Only print section header, tick, or cross
- -s Print percent of tests passed by category
-
- Authors
- -------
-
- - `Bibek Kafle <https://github.com/kafle>`__
- - `Roland Shoemaker <https://github.com/rolandshoemaker>`__
- - `Nikolas Nyby <https://github.com/nikolas>`__
-
- .. |Pypi Link| image:: https://img.shields.io/pypi/v/commonmark.svg
- :target: https://pypi.org/project/commonmark/
-
- .. |Build Status| image::
https://travis-ci.org/rtfd/commonmark.py.svg?branch=master
- :target: https://travis-ci.org/rtfd/commonmark.py
-
- .. |Doc Link| image::
https://readthedocs.org/projects/commonmarkpy/badge/?version=latest
- :target: https://commonmarkpy.readthedocs.io/en/latest/?badge=latest
- :alt: Documentation Status
-
Keywords: markup,markdown,commonmark
-Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
@@ -164,4 +23,171 @@
Classifier: Topic :: Text Processing :: Markup
Classifier: Topic :: Utilities
Description-Content-Type: text/x-rst
+License-File: LICENSE
+Requires-Dist: future>=0.14.0; python_version < "3"
Provides-Extra: test
+Requires-Dist: flake8==3.9.2; extra == "test"
+Requires-Dist: hypothesis==4.24.4; extra == "test"
+Dynamic: author
+Dynamic: author-email
+Dynamic: classifier
+Dynamic: description
+Dynamic: description-content-type
+Dynamic: home-page
+Dynamic: keywords
+Dynamic: license
+Dynamic: license-file
+Dynamic: provides-extra
+Dynamic: requires-dist
+Dynamic: summary
+
+commonmark.py
+=============
+
+|No Maintenance Intended|
+
+**Warning:** commonmark.py is now deprecated. We recommend using
`markdown-it-py`_
+for a commonmark parser going forward. See `this issue`_ for background
+and discussion.
+
+--
+
+.. _markdown-it-py: https://github.com/executablebooks/markdown-it-py
+.. _this issue: https://github.com/readthedocs/commonmark.py/issues/308
+
+.. |No Maintenance Intended| image:: http://unmaintained.tech/badge.svg
+ :target: http://unmaintained.tech/
+
+commonmark.py is a pure Python port of `jgm <https://github.com/jgm>`__'s
+`commonmark.js <https://github.com/jgm/commonmark.js>`__, a
+Markdown parser and renderer for the
+`CommonMark <http://commonmark.org>`__ specification, using only native
+modules. Once both this project and the CommonMark specification are
+stable we will release the first ``1.0`` version and attempt to keep up
+to date with changes in ``commonmark.js``.
+
+commonmark.py is tested against the CommonMark spec with Python versions
+2.7, 3.5, 3.6, 3.7, and 3.8.
+
+**Current version:** 0.9.2
+
+|Pypi Link| |Build Status| |Doc Link|
+
+Installation
+------------
+
+::
+
+ $ pip install commonmark
+
+Usage
+-----
+
+::
+
+ >>> import commonmark
+ >>> commonmark.commonmark('*hello!*')
+ '<p><em>hello!</em></p>\n'
+
+Or, without the syntactic sugar:
+
+.. code:: python
+
+ import commonmark
+ parser = commonmark.Parser()
+ ast = parser.parse("Hello *World*")
+
+ renderer = commonmark.HtmlRenderer()
+ html = renderer.render(ast)
+ print(html) # <p>Hello <em>World</em><p/>
+
+ # inspecting the abstract syntax tree
+ json = commonmark.dumpJSON(ast)
+ commonmark.dumpAST(ast) # pretty print generated AST structure
+
+There is also a CLI:
+
+::
+
+ $ cmark README.md -o README.html
+ $ cmark README.md -o README.json -aj # output AST as JSON
+ $ cmark README.md -a # pretty print generated AST structure
+ $ cmark -h
+ usage: cmark [-h] [-o [O]] [-a] [-aj] [infile]
+
+ Process Markdown according to the CommonMark specification.
+
+ positional arguments:
+ infile Input Markdown file to parse, defaults to stdin
+
+ optional arguments:
+ -h, --help show this help message and exit
+ -o [O] Output HTML/JSON file, defaults to stdout
+ -a Print formatted AST
+ -aj Output JSON AST
+
+
+Contributing
+------------
+
+If you would like to offer suggestions/optimizations/bugfixes through
+pull requests please do! Also if you find an error in the
+parser/renderer that isn't caught by the current test suite please open
+a new issue and I would also suggest you send the
+`commonmark.js <https://github.com/jgm/commonmark.js>`__ project
+a pull request adding your test to the existing test suite.
+
+Tests
+-----
+
+To work on commonmark.py, you will need to be able to run the test suite to
+make sure your changes don't break anything. To run the tests, you can do
+something like this:
+
+::
+
+ $ pyvenv venv
+ $ ./venv/bin/python setup.py develop test
+
+The tests script, ``commonmark/tests/run_spec_tests.py``, is pretty much a
devtool. As
+well as running all the tests embedded in ``spec.txt`` it also allows you
+to run specific tests using the ``-t`` argument, provide information
+about passed tests with ``-p``, percentage passed by category of test
+with ``-s``, and enter markdown interactively with ``-i`` (In
+interactive mode end a block by inputting a line with just ``end``, to
+quit do the same but with ``quit``). ``-d`` can be used to print call
+tracing.
+
+::
+
+ $ ./venv/bin/python commonmark/tests/run_spec_tests.py -h
+ usage: run_spec_tests.py [-h] [-t T] [-p] [-f] [-i] [-d] [-np] [-s]
+
+ script to run the CommonMark specification tests against the commonmark.py
+ parser.
+
+ optional arguments:
+ -h, --help show this help message and exit
+ -t T Single test to run or comma separated list of tests (-t 10
or -t 10,11,12,13)
+ -p Print passed test information
+ -f Print failed tests (during -np...)
+ -i Interactive Markdown input mode
+ -d Debug, trace calls
+ -np Only print section header, tick, or cross
+ -s Print percent of tests passed by category
+
+Authors
+-------
+
+- `Bibek Kafle <https://github.com/kafle>`__
+- `Roland Shoemaker <https://github.com/rolandshoemaker>`__
+
+.. |Pypi Link| image:: https://img.shields.io/pypi/v/commonmark.svg
+ :target: https://pypi.org/project/commonmark/
+
+.. |Build Status| image::
https://travis-ci.org/rtfd/commonmark.py.svg?branch=master
+ :target: https://travis-ci.org/rtfd/commonmark.py
+
+.. |Doc Link| image::
https://readthedocs.org/projects/commonmarkpy/badge/?version=latest
+ :target: https://commonmarkpy.readthedocs.io/en/latest/?badge=latest
+ :alt: Documentation Status
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/commonmark-0.9.1/README.rst
new/commonmark-0.9.2/README.rst
--- old/commonmark-0.9.1/README.rst 2019-10-04 17:35:41.000000000 +0200
+++ new/commonmark-0.9.2/README.rst 2026-05-28 22:40:13.000000000 +0200
@@ -1,6 +1,20 @@
commonmark.py
=============
+|No Maintenance Intended|
+
+**Warning:** commonmark.py is now deprecated. We recommend using
`markdown-it-py`_
+for a commonmark parser going forward. See `this issue`_ for background
+and discussion.
+
+--
+
+.. _markdown-it-py: https://github.com/executablebooks/markdown-it-py
+.. _this issue: https://github.com/readthedocs/commonmark.py/issues/308
+
+.. |No Maintenance Intended| image:: http://unmaintained.tech/badge.svg
+ :target: http://unmaintained.tech/
+
commonmark.py is a pure Python port of `jgm <https://github.com/jgm>`__'s
`commonmark.js <https://github.com/jgm/commonmark.js>`__, a
Markdown parser and renderer for the
@@ -10,9 +24,9 @@
to date with changes in ``commonmark.js``.
commonmark.py is tested against the CommonMark spec with Python versions
-2.7, 3.4, 3.5, 3.6, and 3.7.
+2.7, 3.5, 3.6, 3.7, and 3.8.
-**Current version:** 0.9.1
+**Current version:** 0.9.2
|Pypi Link| |Build Status| |Doc Link|
@@ -124,7 +138,6 @@
- `Bibek Kafle <https://github.com/kafle>`__
- `Roland Shoemaker <https://github.com/rolandshoemaker>`__
-- `Nikolas Nyby <https://github.com/nikolas>`__
.. |Pypi Link| image:: https://img.shields.io/pypi/v/commonmark.svg
:target: https://pypi.org/project/commonmark/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/commonmark-0.9.1/commonmark/common.py
new/commonmark-0.9.2/commonmark/common.py
--- old/commonmark-0.9.1/commonmark/common.py 2019-05-02 20:50:24.000000000
+0200
+++ new/commonmark-0.9.2/commonmark/common.py 2026-05-28 22:32:23.000000000
+0200
@@ -67,7 +67,7 @@
def normalize_uri(uri):
try:
- return quote(uri.encode('utf-8'), safe=str('/@:+?=&()%#*,'))
+ return quote(uri.encode('utf-8'), safe=str(';/@:+?=&()%#*,'))
except UnicodeDecodeError:
# Python 2 also throws a UnicodeDecodeError, complaining about
# the width of the "safe" string. Removing this parameter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/commonmark-0.9.1/commonmark/inlines.py
new/commonmark-0.9.2/commonmark/inlines.py
--- old/commonmark-0.9.1/commonmark/inlines.py 2019-05-02 20:50:24.000000000
+0200
+++ new/commonmark-0.9.2/commonmark/inlines.py 2026-05-28 22:32:23.000000000
+0200
@@ -875,8 +875,6 @@
self.brackets = None
while (self.parseInline(block)):
pass
- # allow raw string to be garbage collected
- block.string_content = None
self.processEmphasis(None)
parse = parseInlines
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/commonmark-0.9.1/commonmark/render/rst.py
new/commonmark-0.9.2/commonmark/render/rst.py
--- old/commonmark-0.9.1/commonmark/render/rst.py 2018-09-04
15:20:12.000000000 +0200
+++ new/commonmark-0.9.2/commonmark/render/rst.py 2026-05-28
22:32:23.000000000 +0200
@@ -119,11 +119,13 @@
self.cr()
def item(self, node, entering):
- tagname = '*' if node.list_data['type'] == 'bullet' else '#.'
+ tagname = '* ' if node.list_data['type'] == 'bullet' else '#. '
if entering:
- self.out(tagname + ' ')
+ self.out(tagname)
+ self.indent_length += len(tagname)
else:
+ self.indent_length -= len(tagname)
self.cr()
def block_quote(self, node, entering):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/commonmark-0.9.1/commonmark/tests/rst_tests.py
new/commonmark-0.9.2/commonmark/tests/rst_tests.py
--- old/commonmark-0.9.1/commonmark/tests/rst_tests.py 2018-09-04
15:20:12.000000000 +0200
+++ new/commonmark-0.9.2/commonmark/tests/rst_tests.py 2026-05-28
22:32:23.000000000 +0200
@@ -100,6 +100,24 @@
"""
self.assertEqualRender(src_markdown, expected_rst)
+ def test_ordered_list_with_multi_line_items(self):
+ src_markdown = """
+This is an ordered list with multi-line items:
+1. First item,
+with lazy indentation.
+2. Second item,
+ with normal indentation.
+"""
+ expected_rst = """
+This is an ordered list with multi-line items:
+
+#. First item,
+ with lazy indentation.
+#. Second item,
+ with normal indentation.
+"""
+ self.assertEqualRender(src_markdown, expected_rst)
+
def test_block_quote(self):
src_markdown = """
Before the blockquote:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/commonmark-0.9.1/commonmark.egg-info/PKG-INFO
new/commonmark-0.9.2/commonmark.egg-info/PKG-INFO
--- old/commonmark-0.9.1/commonmark.egg-info/PKG-INFO 2019-10-04
17:35:55.000000000 +0200
+++ new/commonmark-0.9.2/commonmark.egg-info/PKG-INFO 2026-05-28
22:41:25.000000000 +0200
@@ -1,153 +1,12 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
Name: commonmark
-Version: 0.9.1
+Version: 0.9.2
Summary: Python parser for the CommonMark Markdown spec
Home-page: https://github.com/rtfd/commonmark.py
Author: Bibek Kafle <[email protected]>, Roland Shoemaker
<[email protected]>
Author-email: [email protected]
-Maintainer: Nikolas Nyby
-Maintainer-email: [email protected]
License: BSD-3-Clause
-Description: commonmark.py
- =============
-
- commonmark.py is a pure Python port of `jgm
<https://github.com/jgm>`__'s
- `commonmark.js <https://github.com/jgm/commonmark.js>`__, a
- Markdown parser and renderer for the
- `CommonMark <http://commonmark.org>`__ specification, using only native
- modules. Once both this project and the CommonMark specification are
- stable we will release the first ``1.0`` version and attempt to keep up
- to date with changes in ``commonmark.js``.
-
- commonmark.py is tested against the CommonMark spec with Python
versions
- 2.7, 3.4, 3.5, 3.6, and 3.7.
-
- **Current version:** 0.9.1
-
- |Pypi Link| |Build Status| |Doc Link|
-
- Installation
- ------------
-
- ::
-
- $ pip install commonmark
-
- Usage
- -----
-
- ::
-
- >>> import commonmark
- >>> commonmark.commonmark('*hello!*')
- '<p><em>hello!</em></p>\n'
-
- Or, without the syntactic sugar:
-
- .. code:: python
-
- import commonmark
- parser = commonmark.Parser()
- ast = parser.parse("Hello *World*")
-
- renderer = commonmark.HtmlRenderer()
- html = renderer.render(ast)
- print(html) # <p>Hello <em>World</em><p/>
-
- # inspecting the abstract syntax tree
- json = commonmark.dumpJSON(ast)
- commonmark.dumpAST(ast) # pretty print generated AST structure
-
- There is also a CLI:
-
- ::
-
- $ cmark README.md -o README.html
- $ cmark README.md -o README.json -aj # output AST as JSON
- $ cmark README.md -a # pretty print generated AST structure
- $ cmark -h
- usage: cmark [-h] [-o [O]] [-a] [-aj] [infile]
-
- Process Markdown according to the CommonMark specification.
-
- positional arguments:
- infile Input Markdown file to parse, defaults to stdin
-
- optional arguments:
- -h, --help show this help message and exit
- -o [O] Output HTML/JSON file, defaults to stdout
- -a Print formatted AST
- -aj Output JSON AST
-
-
- Contributing
- ------------
-
- If you would like to offer suggestions/optimizations/bugfixes through
- pull requests please do! Also if you find an error in the
- parser/renderer that isn't caught by the current test suite please open
- a new issue and I would also suggest you send the
- `commonmark.js <https://github.com/jgm/commonmark.js>`__ project
- a pull request adding your test to the existing test suite.
-
- Tests
- -----
-
- To work on commonmark.py, you will need to be able to run the test
suite to
- make sure your changes don't break anything. To run the tests, you can
do
- something like this:
-
- ::
-
- $ pyvenv venv
- $ ./venv/bin/python setup.py develop test
-
- The tests script, ``commonmark/tests/run_spec_tests.py``, is pretty
much a devtool. As
- well as running all the tests embedded in ``spec.txt`` it also allows
you
- to run specific tests using the ``-t`` argument, provide information
- about passed tests with ``-p``, percentage passed by category of test
- with ``-s``, and enter markdown interactively with ``-i`` (In
- interactive mode end a block by inputting a line with just ``end``, to
- quit do the same but with ``quit``). ``-d`` can be used to print call
- tracing.
-
- ::
-
- $ ./venv/bin/python commonmark/tests/run_spec_tests.py -h
- usage: run_spec_tests.py [-h] [-t T] [-p] [-f] [-i] [-d] [-np] [-s]
-
- script to run the CommonMark specification tests against the
commonmark.py
- parser.
-
- optional arguments:
- -h, --help show this help message and exit
- -t T Single test to run or comma separated list of tests
(-t 10 or -t 10,11,12,13)
- -p Print passed test information
- -f Print failed tests (during -np...)
- -i Interactive Markdown input mode
- -d Debug, trace calls
- -np Only print section header, tick, or cross
- -s Print percent of tests passed by category
-
- Authors
- -------
-
- - `Bibek Kafle <https://github.com/kafle>`__
- - `Roland Shoemaker <https://github.com/rolandshoemaker>`__
- - `Nikolas Nyby <https://github.com/nikolas>`__
-
- .. |Pypi Link| image:: https://img.shields.io/pypi/v/commonmark.svg
- :target: https://pypi.org/project/commonmark/
-
- .. |Build Status| image::
https://travis-ci.org/rtfd/commonmark.py.svg?branch=master
- :target: https://travis-ci.org/rtfd/commonmark.py
-
- .. |Doc Link| image::
https://readthedocs.org/projects/commonmarkpy/badge/?version=latest
- :target: https://commonmarkpy.readthedocs.io/en/latest/?badge=latest
- :alt: Documentation Status
-
Keywords: markup,markdown,commonmark
-Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
@@ -164,4 +23,171 @@
Classifier: Topic :: Text Processing :: Markup
Classifier: Topic :: Utilities
Description-Content-Type: text/x-rst
+License-File: LICENSE
+Requires-Dist: future>=0.14.0; python_version < "3"
Provides-Extra: test
+Requires-Dist: flake8==3.9.2; extra == "test"
+Requires-Dist: hypothesis==4.24.4; extra == "test"
+Dynamic: author
+Dynamic: author-email
+Dynamic: classifier
+Dynamic: description
+Dynamic: description-content-type
+Dynamic: home-page
+Dynamic: keywords
+Dynamic: license
+Dynamic: license-file
+Dynamic: provides-extra
+Dynamic: requires-dist
+Dynamic: summary
+
+commonmark.py
+=============
+
+|No Maintenance Intended|
+
+**Warning:** commonmark.py is now deprecated. We recommend using
`markdown-it-py`_
+for a commonmark parser going forward. See `this issue`_ for background
+and discussion.
+
+--
+
+.. _markdown-it-py: https://github.com/executablebooks/markdown-it-py
+.. _this issue: https://github.com/readthedocs/commonmark.py/issues/308
+
+.. |No Maintenance Intended| image:: http://unmaintained.tech/badge.svg
+ :target: http://unmaintained.tech/
+
+commonmark.py is a pure Python port of `jgm <https://github.com/jgm>`__'s
+`commonmark.js <https://github.com/jgm/commonmark.js>`__, a
+Markdown parser and renderer for the
+`CommonMark <http://commonmark.org>`__ specification, using only native
+modules. Once both this project and the CommonMark specification are
+stable we will release the first ``1.0`` version and attempt to keep up
+to date with changes in ``commonmark.js``.
+
+commonmark.py is tested against the CommonMark spec with Python versions
+2.7, 3.5, 3.6, 3.7, and 3.8.
+
+**Current version:** 0.9.2
+
+|Pypi Link| |Build Status| |Doc Link|
+
+Installation
+------------
+
+::
+
+ $ pip install commonmark
+
+Usage
+-----
+
+::
+
+ >>> import commonmark
+ >>> commonmark.commonmark('*hello!*')
+ '<p><em>hello!</em></p>\n'
+
+Or, without the syntactic sugar:
+
+.. code:: python
+
+ import commonmark
+ parser = commonmark.Parser()
+ ast = parser.parse("Hello *World*")
+
+ renderer = commonmark.HtmlRenderer()
+ html = renderer.render(ast)
+ print(html) # <p>Hello <em>World</em><p/>
+
+ # inspecting the abstract syntax tree
+ json = commonmark.dumpJSON(ast)
+ commonmark.dumpAST(ast) # pretty print generated AST structure
+
+There is also a CLI:
+
+::
+
+ $ cmark README.md -o README.html
+ $ cmark README.md -o README.json -aj # output AST as JSON
+ $ cmark README.md -a # pretty print generated AST structure
+ $ cmark -h
+ usage: cmark [-h] [-o [O]] [-a] [-aj] [infile]
+
+ Process Markdown according to the CommonMark specification.
+
+ positional arguments:
+ infile Input Markdown file to parse, defaults to stdin
+
+ optional arguments:
+ -h, --help show this help message and exit
+ -o [O] Output HTML/JSON file, defaults to stdout
+ -a Print formatted AST
+ -aj Output JSON AST
+
+
+Contributing
+------------
+
+If you would like to offer suggestions/optimizations/bugfixes through
+pull requests please do! Also if you find an error in the
+parser/renderer that isn't caught by the current test suite please open
+a new issue and I would also suggest you send the
+`commonmark.js <https://github.com/jgm/commonmark.js>`__ project
+a pull request adding your test to the existing test suite.
+
+Tests
+-----
+
+To work on commonmark.py, you will need to be able to run the test suite to
+make sure your changes don't break anything. To run the tests, you can do
+something like this:
+
+::
+
+ $ pyvenv venv
+ $ ./venv/bin/python setup.py develop test
+
+The tests script, ``commonmark/tests/run_spec_tests.py``, is pretty much a
devtool. As
+well as running all the tests embedded in ``spec.txt`` it also allows you
+to run specific tests using the ``-t`` argument, provide information
+about passed tests with ``-p``, percentage passed by category of test
+with ``-s``, and enter markdown interactively with ``-i`` (In
+interactive mode end a block by inputting a line with just ``end``, to
+quit do the same but with ``quit``). ``-d`` can be used to print call
+tracing.
+
+::
+
+ $ ./venv/bin/python commonmark/tests/run_spec_tests.py -h
+ usage: run_spec_tests.py [-h] [-t T] [-p] [-f] [-i] [-d] [-np] [-s]
+
+ script to run the CommonMark specification tests against the commonmark.py
+ parser.
+
+ optional arguments:
+ -h, --help show this help message and exit
+ -t T Single test to run or comma separated list of tests (-t 10
or -t 10,11,12,13)
+ -p Print passed test information
+ -f Print failed tests (during -np...)
+ -i Interactive Markdown input mode
+ -d Debug, trace calls
+ -np Only print section header, tick, or cross
+ -s Print percent of tests passed by category
+
+Authors
+-------
+
+- `Bibek Kafle <https://github.com/kafle>`__
+- `Roland Shoemaker <https://github.com/rolandshoemaker>`__
+
+.. |Pypi Link| image:: https://img.shields.io/pypi/v/commonmark.svg
+ :target: https://pypi.org/project/commonmark/
+
+.. |Build Status| image::
https://travis-ci.org/rtfd/commonmark.py.svg?branch=master
+ :target: https://travis-ci.org/rtfd/commonmark.py
+
+.. |Doc Link| image::
https://readthedocs.org/projects/commonmarkpy/badge/?version=latest
+ :target: https://commonmarkpy.readthedocs.io/en/latest/?badge=latest
+ :alt: Documentation Status
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/commonmark-0.9.1/commonmark.egg-info/entry_points.txt
new/commonmark-0.9.2/commonmark.egg-info/entry_points.txt
--- old/commonmark-0.9.1/commonmark.egg-info/entry_points.txt 2019-10-04
17:35:55.000000000 +0200
+++ new/commonmark-0.9.2/commonmark.egg-info/entry_points.txt 2026-05-28
22:41:25.000000000 +0200
@@ -1,3 +1,2 @@
[console_scripts]
cmark = commonmark.cmark:main
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/commonmark-0.9.1/commonmark.egg-info/requires.txt
new/commonmark-0.9.2/commonmark.egg-info/requires.txt
--- old/commonmark-0.9.1/commonmark.egg-info/requires.txt 2019-10-04
17:35:55.000000000 +0200
+++ new/commonmark-0.9.2/commonmark.egg-info/requires.txt 2026-05-28
22:41:25.000000000 +0200
@@ -3,5 +3,5 @@
future>=0.14.0
[test]
-flake8==3.7.8
-hypothesis==3.55.3
+flake8==3.9.2
+hypothesis==4.24.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/commonmark-0.9.1/setup.py
new/commonmark-0.9.2/setup.py
--- old/commonmark-0.9.1/setup.py 2019-10-04 17:35:41.000000000 +0200
+++ new/commonmark-0.9.2/setup.py 2026-05-28 22:39:19.000000000 +0200
@@ -21,8 +21,8 @@
tests_require = [
- 'flake8==3.7.8',
- 'hypothesis==3.55.3',
+ 'flake8==3.9.2',
+ 'hypothesis==4.24.4',
]
@@ -34,7 +34,7 @@
setup(
name="commonmark",
packages=find_packages(exclude=['tests']),
- version="0.9.1",
+ version="0.9.2",
license="BSD-3-Clause",
description="Python parser for the CommonMark Markdown spec",
long_description=long_description,
@@ -42,8 +42,6 @@
author="Bibek Kafle <[email protected]>, " +
"Roland Shoemaker <[email protected]>",
author_email="[email protected]",
- maintainer="Nikolas Nyby",
- maintainer_email="[email protected]",
url="https://github.com/rtfd/commonmark.py",
keywords=["markup", "markdown", "commonmark"],
entry_points={