Skip to content
Snippets Groups Projects
Commit f327a3d1 authored by Scott Kitterman's avatar Scott Kitterman
Browse files

New upstream version 1.0.2

parent 951b6f95
No related branches found
Tags upstream/1.0.2
No related merge requests found
[run]
branch = True
[report]
exclude_lines =
pragma: no cover
def __repr__
raise NotImplementedError
omit =
.*
*.pyc
*.egg-info
.cache
.coverage
.eggs
/htmlcov
/dist
/build
language: python
sudo: false
git:
submodules: false
matrix:
include:
- os: linux
python: 2.7
- os: linux
python: 3.3
- os: linux
python: 3.4
- os: linux
python: 3.5
- os: linux
python: 3.6
- os: osx
language: generic
env: PYTHON_VERSION=3
before_install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install python3; fi
install:
- pip$PYTHON_VERSION install --upgrade -e.[test]
script:
- python$PYTHON_VERSION setup.py test
tinycss2 changelog
==================
Version 0.6.1
-------------
Released on 2017-10-02.
* Update documentation.
Version 0.6.0
-------------
Released on 2017-08-16.
* Don't allow identifiers starting with two dashes.
* Don't use Tox for tests.
* Follow semantic versioning.
Version 0.5
-----------
Released on 2014-08-19.
* Update for spec changes.
* Add a :attr:`~tinycss2.ast.WhitespaceToken.value` attribute
to :class:`~tinycss2.ast.WhitespaceToken`.
* **Breaking change**: CSS comments are now preserved
as :class:`~tinycss2.ast.Comment` objects by default.
Pass ``skip_comments=True`` to parsing functions to get the old behavior.
* **Breaking change**: Top-level comments and whitespace are now preserved
when parsing a stylesheet, rule list, or declaration list.
Pass ``skip_comments=True`` and ``skip_whitespace=True``
to get the old behavior.
* Test on Python 3.4 and PyPy3.
* Set up continous integration on Travis-CI.
Version 0.4
-----------
Released on 2014-01-04.
* Fix :class:`~tinycss2.ast.HashToken` starting with a non-ASCII character.
* Fix :func:`repr` on AST nodes.
Version 0.3
-----------
Released on 2013-12-27.
* Document all the things!
* Add :ref:`serialization`
* Merge :func:`tinycss2.color3.parse_color_string` behavior into
:func:`~tinycss2.color3.parse_color`.
* Fix and test parsing form bytes and tokenization of <unicode-range>.
Version 0.2
-----------
Released on 2013-09-02.
Add parsing for <An+B>,
as in ``:nth-child()`` and related Selectors pseudo-classes.
Version 0.1
-----------
Released on 2013-08-31.
First PyPI release. Contains:
* Decoding from bytes (``@charset``, etc.)
* Tokenization
* Parsing for "generic" rules and declarations
* Parsing for CSS Color Level 3
* Tests for all of the above, except for decoding from bytes.
Copyright (c) 2013 by Simon Sapin.
Some rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* The names of the contributors may not be used to endorse or
promote products derived from this software without specific
prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
BSD 3-Clause License
Copyright (c) 2013-2019, Simon Sapin and contributors (see AUTHORS).
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
include CHANGES
include LICENSE
include docs/*
include tinycss2/css-parsing-tests/*
Metadata-Version: 1.1
Metadata-Version: 2.1
Name: tinycss2
Version: 0.6.1
Version: 1.0.2
Summary: Low-level CSS parser for Python
Home-page: UNKNOWN
Home-page: https://tinycss2.readthedocs.io/
Author: Simon Sapin
Author-email: simon.sapin@exyr.org
Author-email: community@kozea.fr
License: BSD
Description-Content-Type: UNKNOWN
Description: tinycss2: Low-level CSS parser for Python
#################################################
Project-URL: Documentation, https://tinycss2.readthedocs.io/
Project-URL: Code, https://github.com/Kozea/tinycss2/
Project-URL: Issue tracker, https://github.com/Kozea/tinycss2/issues
Project-URL: Donation, https://www.patreon.com/kozea
Description: ========
tinycss2
========
tinycss2 is a rewrite of tinycss_ with a simpler API,
based on the more recent `CSS Syntax Level 3`_ specification.
tinycss2 is a low-level CSS parser and generator: it can parse strings, return
Python objects representing tokens and blocks, and generate CSS strings
corresponding to these objects.
.. _tinycss: http://pythonhosted.org/tinycss/
.. _CSS Syntax Level 3: http://dev.w3.org/csswg/css-syntax-3/
Based on the `CSS Syntax Level 3`_ specification, tinycss2 knows the grammar of
CSS but doesn't know specific rules, properties or values supported in various
CSS modules.
.. _CSS Syntax Level 3: https://drafts.csswg.org/css-syntax-3/
* BSD licensed
* For Python 2.7 or 3.3+ (tested on CPython)
* For Python 3.5+ (tested on CPython and Pypy3)
* Latest documentation: http://tinycss2.readthedocs.io/
* Source code and issue tracker: https://github.com/Kozea/tinycss2
* PyPI releases: https://pypi.python.org/pypi/tinycss2/
* Continuous integration: |travis|
.. |travis| image:: https://travis-ci.org/Kozea/tinycss2.svg?branch=master
:target: https://travis-ci.org/Kozea/tinycss2
:alt: https://travis-ci.org/Kozea/tinycss2
Platform: UNKNOWN
Keywords: css,parser
Platform: Linux
Platform: macOS
Platform: Windows
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Text Processing
Requires-Python: >= 3.5
Description-Content-Type: text/x-rst
Provides-Extra: doc
Provides-Extra: test
tinycss2: Low-level CSS parser for Python
#################################################
========
tinycss2
========
tinycss2 is a rewrite of tinycss_ with a simpler API,
based on the more recent `CSS Syntax Level 3`_ specification.
tinycss2 is a low-level CSS parser and generator: it can parse strings, return
Python objects representing tokens and blocks, and generate CSS strings
corresponding to these objects.
.. _tinycss: http://pythonhosted.org/tinycss/
.. _CSS Syntax Level 3: http://dev.w3.org/csswg/css-syntax-3/
Based on the `CSS Syntax Level 3`_ specification, tinycss2 knows the grammar of
CSS but doesn't know specific rules, properties or values supported in various
CSS modules.
.. _CSS Syntax Level 3: https://drafts.csswg.org/css-syntax-3/
* BSD licensed
* For Python 2.7 or 3.3+ (tested on CPython)
* For Python 3.5+ (tested on CPython and Pypy3)
* Latest documentation: http://tinycss2.readthedocs.io/
* Source code and issue tracker: https://github.com/Kozea/tinycss2
* PyPI releases: https://pypi.python.org/pypi/tinycss2/
* Continuous integration: |travis|
.. |travis| image:: https://travis-ci.org/Kozea/tinycss2.svg?branch=master
:target: https://travis-ci.org/Kozea/tinycss2
:alt: https://travis-ci.org/Kozea/tinycss2
Test preserve_comments=True
Test declaration corner cases: top-level ! and ;
… once that is all figured out in the spec
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# tinycss2 documentation build configuration file.
import codecs
import re
import sys
from os import path
sys.path.append(path.dirname(path.abspath(__file__)))
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = [
'sphinx.ext.autodoc', 'sphinx.ext.intersphinx', 'css_diagram_role']
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
# The master toctree document.
master_doc = 'index'
# General information about the project.
project = 'tinycss2'
copyright = '2013-2017, Simon Sapin'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The full version, including alpha/beta/rc tags.
release = re.search("VERSION = '([^']+)'", codecs.open(
path.join(path.dirname(path.dirname(__file__)), 'tinycss2', '__init__.py'),
encoding='utf-8',
).read().strip()).group(1)
# The short X.Y version.
version = '.'.join(release.split('.')[:2])
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'sphinx_rtd_theme'
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
# Output file base name for HTML help builder.
htmlhelp_basename = 'tinycss2doc'
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('index', 'tinycss2', 'tinycss2 Documentation',
['Simon Sapin'], 1)
]
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'tinycss2', 'tinycss2 Documentation',
'Simon Sapin', 'tinycss2', 'One line description of project.',
'Miscellaneous'),
]
# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {
'py2': ('http://docs.python.org/2', None),
'py3': ('http://docs.python.org/3', None),
'webencodings': ('http://pythonhosted.org/webencodings/', None)}
# coding: utf8
"""
A Sphinx extension adding a 'css' role creating links to
the spec’s railroad diagrams.
"""
from docutils import nodes
def role_fn(_name, rawtext, text, lineno, inliner, options={}, content=()):
ref = 'http://dev.w3.org/csswg/css-syntax-3/#%s-diagram' % text.replace(
' ', '-')
if text.endswith(('-token', '-block')):
text = '<%s>' % text
ref = nodes.reference(rawtext, text, refuri=ref, **options)
return [ref], []
def setup(app):
app.add_role_to_domain('py', 'diagram', role_fn)
:tocdepth: 3
.. include:: ../README.rst
Installation
============
Installing tinycss2 with pip_ should Just Work::
pip install tinycss2
This will also automatically install tinycss2’s only dependency, webencodings_.
tinycss2 and webencodings both only contain Python code and should work on any
Python implementation, although they’re only tested on CPython.
.. _pip: http://pip-installer.org/
.. _webencodings: http://pythonhosted.org/webencodings/
.. _parsing:
Parsing
=======
tinycss2 is “low-level” in that it doesn’t parse all of CSS:
it doesn’t know about the syntax of any specific properties or at-rules.
Instead, it provides a set of functions that can be composed
to support exactly the parts of CSS you’re interested in,
including new or non-standard rules or properties,
without modifying tinycss or having a complex hook/plugin system.
In many cases, parts of the parsed values
(such as the :attr:`~tinycss2.ast.AtRule.content`
of a :class:`~tinycss2.ast.AtRule`)
is given as :term:`component values` that can be parsed further
with other functions.
.. module:: tinycss2
.. autofunction:: parse_stylesheet_bytes
.. autofunction:: parse_stylesheet
.. autofunction:: parse_rule_list
.. autofunction:: parse_one_rule
.. autofunction:: parse_declaration_list
.. autofunction:: parse_one_declaration
.. autofunction:: parse_component_value_list
.. autofunction:: parse_one_component_value
.. _serialization:
Serialization
=============
In addition to each node’s a :meth:`~tinycss2.ast.Node.serialize` method,
some serialization-related functions are available:
.. autofunction:: serialize
.. autofunction:: serialize_identifier
.. module:: tinycss2.color3
Color
=====
.. autofunction:: parse_color
.. autoclass:: RGBA
.. module:: tinycss2.nth
<An+B>
======
.. autofunction:: parse_nth
.. module:: tinycss2.ast
AST nodes
=========
Various parsing functions return a **node** or a list of nodes.
Some types of nodes contain nested nodes which may in turn contain more nodes,
forming together an **abstract syntax tree**.
Although you typically don’t need to import it,
the :mod:`tinycss2.ast` module defines a class for every type of node.
.. autoclass:: Node()
.. autoclass:: QualifiedRule()
.. autoclass:: AtRule()
.. autoclass:: Declaration()
Component values
----------------
.. autoclass:: ParseError()
.. autoclass:: Comment()
.. autoclass:: WhitespaceToken()
.. autoclass:: LiteralToken()
.. autoclass:: IdentToken()
.. autoclass:: AtKeywordToken()
.. autoclass:: HashToken()
.. autoclass:: StringToken()
.. autoclass:: URLToken()
.. autoclass:: UnicodeRangeToken()
.. autoclass:: NumberToken()
.. autoclass:: PercentageToken()
.. autoclass:: DimensionToken()
.. autoclass:: ParenthesesBlock()
.. autoclass:: SquareBracketsBlock()
.. autoclass:: CurlyBracketsBlock()
.. autoclass:: FunctionBlock()
Glossary
========
.. currentmodule:: tinycss2.ast
.. glossary::
String
In this documentation “a string” means an Unicode string:
:func:`unicode <py2:unicode>` on Python 2.x and
:class:`py3:str` on Python 3.x.
On 2.x,
a byte string (:func:`str <py2:str>`) that only contains ASCII bytes
is also accepted and implicitly decoded.
Component value
Component values
A :class:`ParseError`,
:class:`WhitespaceToken`,
:class:`LiteralToken`,
:class:`IdentToken`,
:class:`AtKeywordToken`,
:class:`HashToken`,
:class:`StringToken`,
:class:`URLToken`,
:class:`NumberToken`,
:class:`PercentageToken`,
:class:`DimensionToken`,
:class:`UnicodeRangeToken`,
:class:`ParenthesesBlock`,
:class:`SquareBracketsBlock`,
:class:`CurlyBracketsBlock`,
:class:`FunctionBlock`,
or :class:`Comment`
object.
.. currentmodule:: tinycss2
.. include:: ../CHANGES
[aliases]
test = pytest
[metadata]
name = tinycss2
url = https://tinycss2.readthedocs.io/
version = file: tinycss2/VERSION
license = BSD
license_file = LICENSE
description = Low-level CSS parser for Python
long_description = file: README.rst
long_description_content_type = text/x-rst
author = Simon Sapin
author_email = community@kozea.fr
platforms =
Linux
macOS
Windows
keywords =
css
parser
classifiers =
Development Status :: 5 - Production/Stable
Intended Audience :: Developers
License :: OSI Approved :: BSD License
Programming Language :: Python :: 3
Programming Language :: Python :: 3.5
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Topic :: Text Processing
project_urls =
Documentation = https://tinycss2.readthedocs.io/
Code = https://github.com/Kozea/tinycss2/
Issue tracker = https://github.com/Kozea/tinycss2/issues
Donation = https://www.patreon.com/kozea
[options]
packages = find:
setup_requires = pytest-runner
install_requires =
setuptools >= 39.2.0
webencodings >= 0.4
tests_require =
pytest-runner
pytest-cov
pytest-flake8
pytest-isort
python_requires = >= 3.5
[options.package_data]
tinycss2 =
VERSION
css-parsing-tests/*
[options.extras_require]
doc =
sphinx
sphinx_rtd_theme
test =
pytest-runner
pytest-cov
pytest-flake8
pytest-isort
[bdist_wheel]
universal = 1
python-tag = py3
[build_sphinx]
source-dir = docs
build-dir = docs/_build
[aliases]
test = pytest
[tool:pytest]
addopts = --cov=tinycss2 --flake8 --isort tinycss2/test.py
norecursedirs = dist .cache .git build *.egg-info .eggs venv
addopts = --flake8 --isort
norecursedirs = build dist .cache .eggs .git
[coverage:run]
branch = True
include = tinycss2/*
[isort]
default_section = THIRDPARTY
[egg_info]
tag_build =
......
#!/usr/bin/env python
# coding: utf8
import codecs
import os.path
import re
import sys
from setuptools import setup
if sys.version_info.major < 3:
raise RuntimeError(
'tinycss2 does not support Python 2.x anymore. '
'Please use Python 3 or install an older version of tinycss2.')
VERSION = re.search("VERSION = '([^']+)'", codecs.open(
os.path.join(os.path.dirname(__file__), 'tinycss2', '__init__.py'),
encoding='utf-8',
).read().strip()).group(1)
README = codecs.open(
os.path.join(os.path.dirname(__file__), 'README.rst'),
encoding='utf-8',
).read()
needs_pytest = {'pytest', 'test', 'ptr'}.intersection(sys.argv)
pytest_runner = ['pytest-runner'] if needs_pytest else []
setup(
name='tinycss2',
version=VERSION,
description='Low-level CSS parser for Python',
long_description=README,
license='BSD',
author='Simon Sapin',
author_email='simon.sapin@exyr.org',
classifiers=[
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Topic :: Text Processing',
],
packages=['tinycss2'],
install_requires=['webencodings>=0.4'],
package_data={'tinycss2': ['css-parsing-tests/*']},
setup_requires=pytest_runner,
test_suite='tinycss2.test',
tests_require=[
'pytest-runner', 'pytest-cov', 'pytest-flake8', 'pytest-isort'],
extras_require={'test': [
'pytest-runner', 'pytest-cov', 'pytest-flake8', 'pytest-isort']},
)
setup()
Metadata-Version: 2.1
Name: tinycss2
Version: 1.0.2
Summary: Low-level CSS parser for Python
Home-page: https://tinycss2.readthedocs.io/
Author: Simon Sapin
Author-email: community@kozea.fr
License: BSD
Project-URL: Documentation, https://tinycss2.readthedocs.io/
Project-URL: Code, https://github.com/Kozea/tinycss2/
Project-URL: Issue tracker, https://github.com/Kozea/tinycss2/issues
Project-URL: Donation, https://www.patreon.com/kozea
Description: ========
tinycss2
========
tinycss2 is a low-level CSS parser and generator: it can parse strings, return
Python objects representing tokens and blocks, and generate CSS strings
corresponding to these objects.
Based on the `CSS Syntax Level 3`_ specification, tinycss2 knows the grammar of
CSS but doesn't know specific rules, properties or values supported in various
CSS modules.
.. _CSS Syntax Level 3: https://drafts.csswg.org/css-syntax-3/
* BSD licensed
* For Python 3.5+ (tested on CPython and Pypy3)
* Latest documentation: http://tinycss2.readthedocs.io/
* Source code and issue tracker: https://github.com/Kozea/tinycss2
* PyPI releases: https://pypi.python.org/pypi/tinycss2/
Keywords: css,parser
Platform: Linux
Platform: macOS
Platform: Windows
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Text Processing
Requires-Python: >= 3.5
Description-Content-Type: text/x-rst
Provides-Extra: doc
Provides-Extra: test
LICENSE
README.rst
setup.cfg
setup.py
tinycss2/VERSION
tinycss2/__init__.py
tinycss2/ast.py
tinycss2/bytes.py
tinycss2/color3.py
tinycss2/nth.py
tinycss2/parser.py
tinycss2/serializer.py
tinycss2/test_tinycss2.py
tinycss2/tokenizer.py
tinycss2.egg-info/PKG-INFO
tinycss2.egg-info/SOURCES.txt
tinycss2.egg-info/dependency_links.txt
tinycss2.egg-info/requires.txt
tinycss2.egg-info/top_level.txt
tinycss2/css-parsing-tests/An+B.json
tinycss2/css-parsing-tests/LICENSE
tinycss2/css-parsing-tests/README.rst
tinycss2/css-parsing-tests/color3.json
tinycss2/css-parsing-tests/color3_hsl.json
tinycss2/css-parsing-tests/color3_keywords.json
tinycss2/css-parsing-tests/component_value_list.json
tinycss2/css-parsing-tests/declaration_list.json
tinycss2/css-parsing-tests/make_color3_hsl.py
tinycss2/css-parsing-tests/make_color3_keywords.py
tinycss2/css-parsing-tests/one_component_value.json
tinycss2/css-parsing-tests/one_declaration.json
tinycss2/css-parsing-tests/one_rule.json
tinycss2/css-parsing-tests/rule_list.json
tinycss2/css-parsing-tests/stylesheet.json
tinycss2/css-parsing-tests/stylesheet_bytes.json
\ No newline at end of file
setuptools>=39.2.0
webencodings>=0.4
[doc]
sphinx
sphinx_rtd_theme
[test]
pytest-runner
pytest-cov
pytest-flake8
pytest-isort
tinycss2
1.0.2
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment