Skip to main content

Generate images and thumbnails based on bitmap transformations of rendered prose

Project description

styled-prose

GitHub Workflow Status PyPI - Downloads GitHub

Generate images and thumbnails based on bitmap transformations of rendered prose.

Documentation: https://styledprose.thearchitector.dev.

Tested support on Python 3.8, 3.9, 3.10, 3.11, and 3.12.

$ pdm add styled-prose
# or
$ pip install --user styled-prose

Example

The following stylesheet is a super simple example that overrides the default style's font size and family.

# stylesheet.toml

[[fonts]]
font_name = "EB Garamond"
from_google_fonts = true

[[styles]]
name = "default"
font_size = 14
font_name = "EB Garamond"

Using that stylesheet, and some basic prose, you can generate an image. The requested font family EB Garamond and its license are downloaded from Google Fonts and cached automatically; subsequent generations use those cached fonts.

from PIL import Image
from styled_prose import StyledProseGenerator

text: str = """
This is normal.

<i>This is italicized.</i>

<b>This is bold.</b>

<i><b>This is bold and italicized.</b></i>

<u>This is underlined.</u>

<strike>This is struck from the record.</strike>
"""
random.seed(771999)

generator: StyledProseGenerator = StyledProseGenerator("stylesheet.toml")
img: Image.Image = generator.create_jpg(
    text,
    angle=-2.5, # optional; an angle by which to rotate the image
    thumbnail=(210, 210), # optional; the dimensions of a random thumbnail
)

img.save("prose.jpg", quality=95)

This above code produces the following image:

example rendering

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

styled_prose-1.0.0.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

styled_prose-1.0.0-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file styled_prose-1.0.0.tar.gz.

File metadata

  • Download URL: styled_prose-1.0.0.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.11.1 CPython/3.11.2

File hashes

Hashes for styled_prose-1.0.0.tar.gz
Algorithm Hash digest
SHA256 360531d3e3ed8cae20b495fadf2e13c4d74e04b485881ed30ec01a05db7068b9
MD5 e113533412e5368747fdb738802228c8
BLAKE2b-256 6ea74d0e340e66830fbbf89f744de10673681187b22210becbb8c731c605dff4

See more details on using hashes here.

File details

Details for the file styled_prose-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for styled_prose-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 adc090e27dd531a8990550236fc6a2e08e72be2e6180bd2c171c4e72c2a555f0
MD5 667bb06287fb0424f499e24c1d41a4a6
BLAKE2b-256 7607e72c575cf48552c8f333a0b9f5f8a1e2f4645e5ef4c716ac12bff6da9a94

See more details on using hashes here.

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