NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #285 most downloaded on PyPI
A tiny CSS parser
Last release 10 months ago
23 Nov 2025
Release timing varies
gaps range from 2 weeks to 3.0 years
Nearly every release is documented
notes for 18 of 18 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
18 releases · first in 2013
Include parsing tests in source tarball
Support most of CSS Color Level 5
One column per quarter.
Released on 2025-11-19.
Support most of CSS Color Level 5
Fix tokenizer crash on escaped Dimension units and Function names
Support CSS Color Level 4
Deprecate parse_declaration_list, use parse_blocks_contents instead
Released on 2024-04-23.
Support CSS nesting
Deprecate parse_declaration_list, use parse_blocks_contents instead
Fix tests included in the source tarball
Fix serialization of nested functions with no parameters
Released on 2022-10-17.
Drop support of Python 3.6
Fix serialization of nested functions with no parameters
Don’t use pytest plugins by default
Include tests in source package.
Released on 2021-11-22.
Add support of Python 3.10.
Include tests in source package.
Drop support of Python 3.5, add support of Python 3.9.
Released on 2020-10-29.
Drop support of Python 3.5, add support of Python 3.9.
Fix ResourceWarning in tests.
Use Python standard library’s HSL to RGB converter.
Use GitHub Actions for tests.
New code structure, new packaging, new documentation.
Don't crash when indent tokens have no lowercase equivalent name
Released on 2019-03-21.
Don't crash when indent tokens have no lowercase equivalent name.
Parse "--" ident tokens correctly
Released on 2019-03-06.
Fix tests launched by CI.
Parse "--" ident tokens correctly.
Drop Python 2.7, 3.3 and 3.4 support
Released on 2019-03-04.
Drop Python 2.7, 3.3 and 3.4 support.
Allow leading double dash syntax for ident tokens, allowing CSS variables to be parsed correctly.
Test with PyPy3.
Force tests to parse JSON files as UTF-8.
Clean packaging.
Released on 2017-10-02. * Update documentation.
Released on 2017-10-02.
Update documentation.
Don't allow identifiers starting with two dashes
Released on 2017-08-16.
Don't allow identifiers starting with two dashes.
Don't use Tox for tests.
Follow semantic versioning.
Breaking change: CSS comments are now preserved as ast.Comment objects by default. Pass skip_comments=True to parsing functions to get the old behavio…
ast.WhitespaceToken.value attribute to ast.WhitespaceTokenast.Comment objects by default. Pass skip_comments=True to parsing functions to get the old behaviorskip_comments=True and skip_whitespace=True to get the old behaviorReleased on 2014-08-19.
Update for spec changes.
Add a tinycss2.ast.WhitespaceToken.value attribute to tinycss2.ast.WhitespaceToken.
Breaking change: CSS comments are now preserved as 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.
Fix ast.HashToken starting with a non-ASCII character
ast.HashToken starting with a non-ASCII characterrepr on AST nodesReleased on 2014-01-04.
Fix tinycss2.ast.HashToken starting with a non-ASCII character.
Fix repr on AST nodes.
Merge color3.parse_color_string behavior into color3.parse_color
color3.parse_color_string behavior into color3.parse_colorReleased on 2013-12-27.
Document all the things!
Add serialization.
Merge tinycss2.color3.parse_color_string behavior into tinycss2.color3.parse_color.
Fix and test parsing form bytes and tokenization of <unicode-range>.
Add parsing for , as in :nth-child() and related Selectors pseudo-classes.
Add parsing for <An+B>, as in :nth-child() and related Selectors pseudo-classes.
Released on 2013-09-02.
Add parsing for <An+B>, as in :nth-child() and related Selectors pseudo-classes.
Decoding from bytes (@charset, etc.)
First PyPI release. Contains:
@charset, etc.)Released on 2013-08-31.
First PyPI release. Contains:
Decoding from bytes using @charset.
Tokenization.
Parsing for "generic" rules and declarations.
Parsing for CSS Color Level 3.
Tests for all of the above, except for decoding from bytes.
Your coding agent can read these notes before it upgrades. Set up the MCP server →