Hello community,
here is the log from the commit of package python-beautifulsoup4 for
openSUSE:Factory checked in at 2018-12-14 20:46:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-beautifulsoup4 (Old)
and /work/SRC/openSUSE:Factory/.python-beautifulsoup4.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-beautifulsoup4"
Fri Dec 14 20:46:39 2018 rev:27 rq:655715 version:4.6.3
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-beautifulsoup4/python-beautifulsoup4.changes
2018-08-08 14:45:27.748759390 +0200
+++
/work/SRC/openSUSE:Factory/.python-beautifulsoup4.new.28833/python-beautifulsoup4.changes
2018-12-14 20:46:41.773566606 +0100
@@ -1,0 +2,7 @@
+Thu Dec 6 14:47:30 UTC 2018 - Ondřej Súkup <[email protected]>
+
+- update to 4.6.3
+ * Fix an exception when a custom formatter was asked to format
+ a void element
+
+-------------------------------------------------------------------
Old:
----
beautifulsoup4-4.6.1.tar.gz
New:
----
beautifulsoup4-4.6.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-beautifulsoup4.spec ++++++
--- /var/tmp/diff_new_pack.MQwYdh/_old 2018-12-14 20:46:42.241565961 +0100
+++ /var/tmp/diff_new_pack.MQwYdh/_new 2018-12-14 20:46:42.241565961 +0100
@@ -12,13 +12,13 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-beautifulsoup4
-Version: 4.6.1
+Version: 4.6.3
Release: 0
Summary: HTML/XML Parser for Quick-Turnaround Applications Like
Screen-Scraping
License: MIT
@@ -35,11 +35,9 @@
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildRequires: python3-Sphinx
-BuildArch: noarch
-%if 0%{?suse_version} >= 1000 || 0%{?fedora_version} >= 24
Suggests: python-html5lib >= 0.999999
Suggests: python-lxml >= 3.4.4
-%endif
+BuildArch: noarch
%python_subpackages
%description
@@ -72,9 +70,7 @@
%package doc
Summary: Documentation for %{name}
Group: Development/Libraries/Python
-%if 0%{?suse_version} >= 1000 || 0%{?fedora_version} >= 24
Recommends: %{name} = %{version}
-%endif
%description doc
Documentation and help files for %{name}
@@ -105,6 +101,6 @@
%{python_sitelib}/beautifulsoup4-%{version}-py*.egg-info
%files %{python_files doc}
-%doc NEWS.txt README.txt TODO.txt doc/build/html
+%doc NEWS.txt README.md TODO.txt doc/build/html
%changelog
++++++ beautifulsoup4-4.6.1.tar.gz -> beautifulsoup4-4.6.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/beautifulsoup4-4.6.1/LICENSE
new/beautifulsoup4-4.6.3/LICENSE
--- old/beautifulsoup4-4.6.1/LICENSE 2016-07-16 17:25:45.000000000 +0200
+++ new/beautifulsoup4-4.6.3/LICENSE 2018-07-31 02:16:30.000000000 +0200
@@ -1,6 +1,6 @@
Beautiful Soup is made available under the MIT license:
- Copyright (c) 2004-2016 Leonard Richardson
+ Copyright (c) 2004-2018 Leonard Richardson
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/beautifulsoup4-4.6.1/NEWS.txt
new/beautifulsoup4-4.6.3/NEWS.txt
--- old/beautifulsoup4-4.6.1/NEWS.txt 2018-07-29 01:02:57.000000000 +0200
+++ new/beautifulsoup4-4.6.3/NEWS.txt 2018-08-12 18:33:37.000000000 +0200
@@ -1,3 +1,13 @@
+= 4.6.3 (20180812)
+
+* Exactly the same as 4.6.2. Re-released to make the README file
+ render properly on PyPI.
+
+= 4.6.2 (20180812)
+
+* Fix an exception when a custom formatter was asked to format a void
+ element. [bug=1784408]
+
= 4.6.1 (20180728)
* Stop data loss when encountering an empty numeric entity, and
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/beautifulsoup4-4.6.1/PKG-INFO
new/beautifulsoup4-4.6.3/PKG-INFO
--- old/beautifulsoup4-4.6.1/PKG-INFO 2018-07-29 01:29:27.000000000 +0200
+++ new/beautifulsoup4-4.6.3/PKG-INFO 2018-08-12 18:34:48.000000000 +0200
@@ -1,13 +1,89 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: beautifulsoup4
-Version: 4.6.1
+Version: 4.6.3
Summary: Screen-scraping library
Home-page: http://www.crummy.com/software/BeautifulSoup/bs4/
Author: Leonard Richardson
Author-email: [email protected]
License: MIT
Download-URL: http://www.crummy.com/software/BeautifulSoup/bs4/download/
-Description: Beautiful Soup sits atop an HTML or XML parser, providing
Pythonic idioms for iterating, searching, and modifying the parse tree.
+Description: Beautiful Soup is a library that makes it easy to scrape
information
+ from web pages. It sits atop an HTML or XML parser, providing Pythonic
+ idioms for iterating, searching, and modifying the parse tree.
+
+ # Quick start
+
+ ```
+ >>> from bs4 import BeautifulSoup
+ >>> soup = BeautifulSoup("<p>Some<b>bad<i>HTML")
+ >>> print soup.prettify()
+ <html>
+ <body>
+ <p>
+ Some
+ <b>
+ bad
+ <i>
+ HTML
+ </i>
+ </b>
+ </p>
+ </body>
+ </html>
+ >>> soup.find(text="bad")
+ u'bad'
+
+ >>> soup.i
+ <i>HTML</i>
+
+ >>> soup = BeautifulSoup("<tag1>Some<tag2/>bad<tag3>XML", "xml")
+ >>> print soup.prettify()
+ <?xml version="1.0" encoding="utf-8">
+ <tag1>
+ Some
+ <tag2 />
+ bad
+ <tag3>
+ XML
+ </tag3>
+ </tag1>
+ ```
+
+ To go beyond the basics, [comprehensive documentation is
available](http://www.crummy.com/software/BeautifulSoup/bs4/doc/).
+
+ # Links
+
+ * [Homepage](http://www.crummy.com/software/BeautifulSoup/bs4/)
+ *
[Documentation](http://www.crummy.com/software/BeautifulSoup/bs4/doc/)
+ * [Discussion group](http://groups.google.com/group/beautifulsoup/)
+ * [Development](https://code.launchpad.net/beautifulsoup/)
+ * [Bug tracker](https://bugs.launchpad.net/beautifulsoup/)
+ * [Complete
changelog](https://bazaar.launchpad.net/~leonardr/beautifulsoup/bs4/view/head:/NEWS.txt)
+
+ # Building the documentation
+
+ The bs4/doc/ directory contains full documentation in Sphinx
+ format. Run `make html` in that directory to create HTML
+ documentation.
+
+ # Running the unit tests
+
+ Beautiful Soup supports unit test discovery from the project root
directory:
+
+ ```
+ $ nosetests
+ ```
+
+ ```
+ $ python -m unittest discover -s bs4 # Python 2.7 and up
+ ```
+
+ If you checked out the source tree, you should see a script in the
+ home directory called test-all-versions. This script will run the unit
+ tests under Python 2.7, then create a temporary Python 3 conversion of
+ the source and run the unit tests again under Python 3.
+
+
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
@@ -19,3 +95,6 @@
Classifier: Topic :: Text Processing :: Markup :: XML
Classifier: Topic :: Text Processing :: Markup :: SGML
Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Description-Content-Type: text/markdown
+Provides-Extra: lxml
+Provides-Extra: html5lib
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/beautifulsoup4-4.6.1/README.md
new/beautifulsoup4-4.6.3/README.md
--- old/beautifulsoup4-4.6.1/README.md 1970-01-01 01:00:00.000000000 +0100
+++ new/beautifulsoup4-4.6.3/README.md 2018-08-12 18:27:19.000000000 +0200
@@ -0,0 +1,76 @@
+Beautiful Soup is a library that makes it easy to scrape information
+from web pages. It sits atop an HTML or XML parser, providing Pythonic
+idioms for iterating, searching, and modifying the parse tree.
+
+# Quick start
+
+```
+ >>> from bs4 import BeautifulSoup
+ >>> soup = BeautifulSoup("<p>Some<b>bad<i>HTML")
+ >>> print soup.prettify()
+ <html>
+ <body>
+ <p>
+ Some
+ <b>
+ bad
+ <i>
+ HTML
+ </i>
+ </b>
+ </p>
+ </body>
+ </html>
+ >>> soup.find(text="bad")
+ u'bad'
+
+ >>> soup.i
+ <i>HTML</i>
+
+ >>> soup = BeautifulSoup("<tag1>Some<tag2/>bad<tag3>XML", "xml")
+ >>> print soup.prettify()
+ <?xml version="1.0" encoding="utf-8">
+ <tag1>
+ Some
+ <tag2 />
+ bad
+ <tag3>
+ XML
+ </tag3>
+ </tag1>
+```
+
+To go beyond the basics, [comprehensive documentation is
available](http://www.crummy.com/software/BeautifulSoup/bs4/doc/).
+
+# Links
+
+* [Homepage](http://www.crummy.com/software/BeautifulSoup/bs4/)
+* [Documentation](http://www.crummy.com/software/BeautifulSoup/bs4/doc/)
+* [Discussion group](http://groups.google.com/group/beautifulsoup/)
+* [Development](https://code.launchpad.net/beautifulsoup/)
+* [Bug tracker](https://bugs.launchpad.net/beautifulsoup/)
+* [Complete
changelog](https://bazaar.launchpad.net/~leonardr/beautifulsoup/bs4/view/head:/NEWS.txt)
+
+# Building the documentation
+
+The bs4/doc/ directory contains full documentation in Sphinx
+format. Run `make html` in that directory to create HTML
+documentation.
+
+# Running the unit tests
+
+Beautiful Soup supports unit test discovery from the project root directory:
+
+```
+ $ nosetests
+```
+
+```
+ $ python -m unittest discover -s bs4 # Python 2.7 and up
+```
+
+If you checked out the source tree, you should see a script in the
+home directory called test-all-versions. This script will run the unit
+tests under Python 2.7, then create a temporary Python 3 conversion of
+the source and run the unit tests again under Python 3.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/beautifulsoup4-4.6.1/README.txt
new/beautifulsoup4-4.6.3/README.txt
--- old/beautifulsoup4-4.6.1/README.txt 2012-02-20 16:02:55.000000000 +0100
+++ new/beautifulsoup4-4.6.3/README.txt 1970-01-01 01:00:00.000000000 +0100
@@ -1,63 +0,0 @@
-= Introduction =
-
- >>> from bs4 import BeautifulSoup
- >>> soup = BeautifulSoup("<p>Some<b>bad<i>HTML")
- >>> print soup.prettify()
- <html>
- <body>
- <p>
- Some
- <b>
- bad
- <i>
- HTML
- </i>
- </b>
- </p>
- </body>
- </html>
- >>> soup.find(text="bad")
- u'bad'
-
- >>> soup.i
- <i>HTML</i>
-
- >>> soup = BeautifulSoup("<tag1>Some<tag2/>bad<tag3>XML", "xml")
- >>> print soup.prettify()
- <?xml version="1.0" encoding="utf-8">
- <tag1>
- Some
- <tag2 />
- bad
- <tag3>
- XML
- </tag3>
- </tag1>
-
-= Full documentation =
-
-The bs4/doc/ directory contains full documentation in Sphinx
-format. Run "make html" in that directory to create HTML
-documentation.
-
-= Running the unit tests =
-
-Beautiful Soup supports unit test discovery from the project root directory:
-
- $ nosetests
-
- $ python -m unittest discover -s bs4 # Python 2.7 and up
-
-If you checked out the source tree, you should see a script in the
-home directory called test-all-versions. This script will run the unit
-tests under Python 2.7, then create a temporary Python 3 conversion of
-the source and run the unit tests again under Python 3.
-
-= Links =
-
-Homepage: http://www.crummy.com/software/BeautifulSoup/bs4/
-Documentation: http://www.crummy.com/software/BeautifulSoup/bs4/doc/
- http://readthedocs.org/docs/beautiful-soup-4/
-Discussion group: http://groups.google.com/group/beautifulsoup/
-Development: https://code.launchpad.net/beautifulsoup/
-Bug tracker: https://bugs.launchpad.net/beautifulsoup/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/beautifulsoup4-4.6.1/beautifulsoup4.egg-info/PKG-INFO
new/beautifulsoup4-4.6.3/beautifulsoup4.egg-info/PKG-INFO
--- old/beautifulsoup4-4.6.1/beautifulsoup4.egg-info/PKG-INFO 2018-07-29
01:29:26.000000000 +0200
+++ new/beautifulsoup4-4.6.3/beautifulsoup4.egg-info/PKG-INFO 2018-08-12
18:34:48.000000000 +0200
@@ -1,13 +1,89 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: beautifulsoup4
-Version: 4.6.1
+Version: 4.6.3
Summary: Screen-scraping library
Home-page: http://www.crummy.com/software/BeautifulSoup/bs4/
Author: Leonard Richardson
Author-email: [email protected]
License: MIT
Download-URL: http://www.crummy.com/software/BeautifulSoup/bs4/download/
-Description: Beautiful Soup sits atop an HTML or XML parser, providing
Pythonic idioms for iterating, searching, and modifying the parse tree.
+Description: Beautiful Soup is a library that makes it easy to scrape
information
+ from web pages. It sits atop an HTML or XML parser, providing Pythonic
+ idioms for iterating, searching, and modifying the parse tree.
+
+ # Quick start
+
+ ```
+ >>> from bs4 import BeautifulSoup
+ >>> soup = BeautifulSoup("<p>Some<b>bad<i>HTML")
+ >>> print soup.prettify()
+ <html>
+ <body>
+ <p>
+ Some
+ <b>
+ bad
+ <i>
+ HTML
+ </i>
+ </b>
+ </p>
+ </body>
+ </html>
+ >>> soup.find(text="bad")
+ u'bad'
+
+ >>> soup.i
+ <i>HTML</i>
+
+ >>> soup = BeautifulSoup("<tag1>Some<tag2/>bad<tag3>XML", "xml")
+ >>> print soup.prettify()
+ <?xml version="1.0" encoding="utf-8">
+ <tag1>
+ Some
+ <tag2 />
+ bad
+ <tag3>
+ XML
+ </tag3>
+ </tag1>
+ ```
+
+ To go beyond the basics, [comprehensive documentation is
available](http://www.crummy.com/software/BeautifulSoup/bs4/doc/).
+
+ # Links
+
+ * [Homepage](http://www.crummy.com/software/BeautifulSoup/bs4/)
+ *
[Documentation](http://www.crummy.com/software/BeautifulSoup/bs4/doc/)
+ * [Discussion group](http://groups.google.com/group/beautifulsoup/)
+ * [Development](https://code.launchpad.net/beautifulsoup/)
+ * [Bug tracker](https://bugs.launchpad.net/beautifulsoup/)
+ * [Complete
changelog](https://bazaar.launchpad.net/~leonardr/beautifulsoup/bs4/view/head:/NEWS.txt)
+
+ # Building the documentation
+
+ The bs4/doc/ directory contains full documentation in Sphinx
+ format. Run `make html` in that directory to create HTML
+ documentation.
+
+ # Running the unit tests
+
+ Beautiful Soup supports unit test discovery from the project root
directory:
+
+ ```
+ $ nosetests
+ ```
+
+ ```
+ $ python -m unittest discover -s bs4 # Python 2.7 and up
+ ```
+
+ If you checked out the source tree, you should see a script in the
+ home directory called test-all-versions. This script will run the unit
+ tests under Python 2.7, then create a temporary Python 3 conversion of
+ the source and run the unit tests again under Python 3.
+
+
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
@@ -19,3 +95,6 @@
Classifier: Topic :: Text Processing :: Markup :: XML
Classifier: Topic :: Text Processing :: Markup :: SGML
Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Description-Content-Type: text/markdown
+Provides-Extra: lxml
+Provides-Extra: html5lib
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/beautifulsoup4-4.6.1/beautifulsoup4.egg-info/SOURCES.txt
new/beautifulsoup4-4.6.3/beautifulsoup4.egg-info/SOURCES.txt
--- old/beautifulsoup4-4.6.1/beautifulsoup4.egg-info/SOURCES.txt
2018-07-29 01:29:27.000000000 +0200
+++ new/beautifulsoup4-4.6.3/beautifulsoup4.egg-info/SOURCES.txt
2018-08-12 18:34:48.000000000 +0200
@@ -3,7 +3,7 @@
LICENSE
MANIFEST.in
NEWS.txt
-README.txt
+README.md
TODO.txt
convert-py3k
setup.cfg
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/beautifulsoup4-4.6.1/bs4/__init__.py
new/beautifulsoup4-4.6.3/bs4/__init__.py
--- old/beautifulsoup4-4.6.1/bs4/__init__.py 2018-07-29 01:00:46.000000000
+0200
+++ new/beautifulsoup4-4.6.3/bs4/__init__.py 2018-08-12 18:33:53.000000000
+0200
@@ -21,7 +21,7 @@
# found in the LICENSE file.
__author__ = "Leonard Richardson ([email protected])"
-__version__ = "4.6.1"
+__version__ = "4.6.3"
__copyright__ = "Copyright (c) 2004-2018 Leonard Richardson"
__license__ = "MIT"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/beautifulsoup4-4.6.1/bs4/builder/__init__.py
new/beautifulsoup4-4.6.3/bs4/builder/__init__.py
--- old/beautifulsoup4-4.6.1/bs4/builder/__init__.py 2018-07-29
00:53:19.000000000 +0200
+++ new/beautifulsoup4-4.6.3/bs4/builder/__init__.py 2018-08-12
16:57:42.000000000 +0200
@@ -239,6 +239,12 @@
# These are from earlier versions of HTML and are removed in HTML5.
'basefont', 'bgsound', 'command', 'frame', 'image', 'isindex',
'nextid', 'spacer'
])
+
+ # The HTML standard defines these as block-level elements. Beautiful
+ # Soup does not treat these elements differently from other elements,
+ # but it may do so eventually, and this information is available if
+ # you need to use it.
+ block_elements = set(["address", "article", "aside", "blockquote",
"canvas", "dd", "div", "dl", "dt", "fieldset", "figcaption", "figure",
"footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "header", "hr", "li",
"main", "nav", "noscript", "ol", "output", "p", "pre", "section", "table",
"tfoot", "ul", "video"])
# The HTML standard defines these attributes as containing a
# space-separated list of values, not a single value. That is,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/beautifulsoup4-4.6.1/bs4/element.py
new/beautifulsoup4-4.6.3/bs4/element.py
--- old/beautifulsoup4-4.6.1/bs4/element.py 2018-07-29 00:20:13.000000000
+0200
+++ new/beautifulsoup4-4.6.3/bs4/element.py 2018-08-02 03:58:14.000000000
+0200
@@ -1223,7 +1223,9 @@
prefix = self.prefix + ":"
if self.is_empty_element:
- close = formatter.void_element_close_prefix or ''
+ close = ''
+ if isinstance(formatter, Formatter):
+ close = formatter.void_element_close_prefix or close
else:
closeTag = '</%s%s>' % (prefix, self.name)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/beautifulsoup4-4.6.1/bs4/tests/test_tree.py
new/beautifulsoup4-4.6.3/bs4/tests/test_tree.py
--- old/beautifulsoup4-4.6.1/bs4/tests/test_tree.py 2018-07-29
00:17:17.000000000 +0200
+++ new/beautifulsoup4-4.6.3/bs4/tests/test_tree.py 2018-07-31
01:27:30.000000000 +0200
@@ -1474,14 +1474,14 @@
self.document_for(u"<b><<Sacr\N{LATIN SMALL LETTER E
WITH ACUTE} bleu!>></b>"))
def test_formatter_custom(self):
- markup = u"<b><foo></b><b>bar</b>"
+ markup = u"<b><foo></b><b>bar</b><br/>"
soup = self.soup(markup)
decoded = soup.decode(formatter = lambda x: x.upper())
# Instead of normal entity conversion code, the custom
# callable is called on every string.
self.assertEqual(
decoded,
- self.document_for(u"<b><FOO></b><b>BAR</b>"))
+ self.document_for(u"<b><FOO></b><b>BAR</b><br>"))
def test_formatter_is_run_on_attribute_values(self):
markup = u'<a href="http://a.com?a=b&c=é">e</a>'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/beautifulsoup4-4.6.1/setup.cfg
new/beautifulsoup4-4.6.3/setup.cfg
--- old/beautifulsoup4-4.6.1/setup.cfg 2018-07-29 01:29:27.000000000 +0200
+++ new/beautifulsoup4-4.6.3/setup.cfg 2018-08-12 18:34:48.000000000 +0200
@@ -1,5 +1,4 @@
[egg_info]
tag_build =
tag_date = 0
-tag_svn_revision = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/beautifulsoup4-4.6.1/setup.py
new/beautifulsoup4-4.6.3/setup.py
--- old/beautifulsoup4-4.6.1/setup.py 2018-07-29 01:14:04.000000000 +0200
+++ new/beautifulsoup4-4.6.3/setup.py 2018-08-12 18:33:46.000000000 +0200
@@ -3,15 +3,19 @@
find_packages,
)
+with open("README.md", "r") as fh:
+ long_description = fh.read()
+
setup(
name="beautifulsoup4",
- version = "4.6.1",
+ version = "4.6.3",
author="Leonard Richardson",
author_email='[email protected]',
url="http://www.crummy.com/software/BeautifulSoup/bs4/",
download_url =
"http://www.crummy.com/software/BeautifulSoup/bs4/download/",
description="Screen-scraping library",
- long_description="""Beautiful Soup sits atop an HTML or XML parser,
providing Pythonic idioms for iterating, searching, and modifying the parse
tree.""",
+ long_description=long_description,
+ long_description_content_type="text/markdown",
license="MIT",
packages=find_packages(exclude=['tests*']),
extras_require = {