Skip to main content

racovimge

racovimge is a minimalistic library for generating random placeholder book covers. It allows generating svg or png covers, and can be used as a python library or as a command line utility.

Installation

pip install --user racovimge

Basic Usage

import racovimge

# generate random svg cover
cover = racovimge.random('As I Lay Dying', 'William Faulkner')

# generate specific cover and write it to a file
with open('cover.svg', 'w') as stream:
    stream.write(racovimge.cover(
        title='The Ambassadors',
        # note that author is optional.
        # Multiple authors can be passed as a non-str iterator as well.
        author='Henry James',
        template='Simple Dark',
        colors=['#d3dcf2', '#829fe4', '#6692c3', '#4878a4', '#00305a'],
        font='/path/to/otf/or/ttf/file',
        font_size=120,  # Used for the title of the book.
        font_size_author=70  # Used for the authors.
        ))

# Passing non-str iterable as title allows for explicit line breaks,
# which is useful for longer titles
cover = racovimge.random(['Strange Case', 'of Dr. Jekyll', 'and Mr. Hyde'], 'Robert Louis Stevenson')

# generate random png file and write it to file
# note that unlike for svg, the file must be opened in binary mode
with open('cover.png', 'wb') as stream:
    # font sizes can be set explicitly even for random covers
    stream.write(racovimge.png_random('The Odyssey', 'Homer', font_size=200))


# specifying keyword arguments for random generators enables limiting the output results
cover = racovimge.random(
    'The Killer Angels',
    'Michael Shaara',
    templates=['Blocks', 'Simple Dark', 'Tiles'],
    fonts=racovimge.fonts[:4],
    schemes=racovimge.color_schemes[2:8])

Using as Command Line Utility

To generate a random cover:

racovimge One Flew Over the Cuckoo's Nest --authors "Ken Kesey"

Note that unlike titles author names must be quoted. Multiple space-separated authors can be supplied.

To generate a png cover:

racovimge --png A Moveable Feast -a "Ernest Hemingway"

To generate multipe covers with a given prefix:

racovimge The War of the Worlds -a "H. G. Wells" --output war --count 10 --png

This will create files war01.png, war02.png, … war10.png in the current directory. You can also specify an absolute path:

racovimge The Chronicles of Narnia -o /home/user/books/narnia/cover -c 5

Limitations

The cover templates, color schemes, and fonts, have been carefully selected to work in combination with each other. Despite of that, some combinations of various parameters will still produce aesthetically unpleasing covers. In particular, some of the fonts combined with longer book titles do not fit completely within some of the cover templates. This can be ammended by decreasing the font size, explicitly specifying linebreak points in the titles, or by just generating a different random cover. Thankfully, racovimge makes the later process quite easy, and it can be repeated multiple times until you get a cover you’re a satisfied with.

Generating png covers requires rsvg to be installed on Linux system. On Windows and MacOS, it is untested and unlikely to work.

The current version of racovimge is 0.9, and should be considered a beta. The core functionality is complete, but it still contains a number of rough edges. The documentation can be improved, particularly in regards to the command line utility. The API for some of the optional parameters can be changed to accomodate non-default values better. Minor fixes to existing color schemes and cover templates can be made, as well as more schemes, templates, and fonts can be added to the library. Unfortunately, the author of the library does not have time to do any of these things, and so racovimge will remain in its current state for an as of yet undetermined amount of time.

Acknowledgements

racovimge is inspired by the cover-generator found in the excellent calibre e-book manager. racovimge also borrows some color schemes and svg elements from it.

The following free fonts are bundled with racovimge: Alex Brush, Bellota, Bradley Gratis, Caladea, Crimson, Gidole, Glacial Indifference, Great Vibes, Horta, Liberation Serif, Libre Baskerville, Orkney, Petit Formal Script, Sofia, and Unique.

The cover templates used by racovimge include svg elements taken from the following design collections:

Metadata

Release files for racovimge 0.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for racovimge 0.9
File Size Uploaded
racovimge-0.9.tar.gz 842.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for racovimge 0.9
File Interpreter ABI Platform
racovimge-0.9-py3-none-any.whl Python 3 none any Details

Total release size: 1.7 MB

Release files / racovimge-0.9.tar.gz

Download URL racovimge-0.9.tar.gz
Size 842.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c8f0b62788dd70ce049529751f2b7a428f9f19e76abaf00574411230b7b0757d
BLAKE2b-256 checksum
How to use checksums
c895c7ca6afc05780a45604e95740caa4939d1a529f73e560583b28a2973fbea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / racovimge-0.9-py3-none-any.whl

Download URL racovimge-0.9-py3-none-any.whl
Size 869.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b3e22f8368d737210a6f9e6d3067111b87753b4c815c4b8242388b4245a20cc3
BLAKE2b-256 checksum
How to use checksums
903cd80b7766f71f1bb784d6bcc30b7506972df69e12c7be41097d64b2e59c42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.9 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page