Skip to main content

Handling of simple stylesheets (subset of CSS)

Project description

This package was originally part of a Python tool to extract text data from PDFs into TEI XML. Some of the style information that was extracted from the PDF had to be recorded in the resulting TEI file. Among these were fontname, fontsize, italics, boldface, superscript, subscript. These were included as simple CSS statements into the tagsDecl of the TEI document.

Later it seemed approporiate to remove this very simple style library from the PDF extraction package and offer it as a little standalone package, which can be useful in different contexts.

NB: This package might be useful for some people, hence it is published as an open source package, but it is still very much tailored to some very special needs for text processing. It is not very likely that this package will be developed into a general CSS library. If you need this, you will find plenty of helpful libraries on PyPI.

Download, Installation

simplestyle is available on PyPI <>.

Install with pip install simplestyle.

The source code is on GitHub: <>.

Simplified CSS

The simplified CSS grammar understood by this package is as follows:

css := declaration (";" declaration)* ';'?
declaration := property ":" expr
property := [a-zA-Z-]+
expr := (string | [^;"']+)
string := string1 | string2
string1 := "'" [^'\n\r\f] "'"
string2 := '"' [^"\n\r\f] '"'


>>> from simplestyle import Style
>>> css = "font-size: 10pt"
>>> style = Style()
>>> style.from_css(css)
>>> style.size
>>> style.get_css()
'font-size: 10.0pt'
>>> style.italics
>>> style.from_css("font-style:italic", merge=True)
>>> style.italics
>>> style.size
>>> style.get_css()
'font-size: 10.0pt; font-style: italic'
>>> style.reset()
>>> style.get_css()

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simplestyle-1.2.0.tar.gz (7.1 kB view hashes)

Uploaded source

Built Distribution

simplestyle-1.2.0-py3-none-any.whl (6.6 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page