Package: racovimge
racovimgeis 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.Installationpip install --user racovimgeBasic Usageimportracovimge# generate random svg covercover=racovimge.random('As I Lay Dying','William Faulkner')# generate specific cover and write it to a filewithopen('cover.svg','w')asstream: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 titlescover=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 modewithopen('cover.png','wb')asstream:# font sizes can be set explicitly even for random coversstream.write(racovimge.png_random('The Odyssey','Homer',font_size=200))# specifying keyword arguments for random generators enables limiting the output resultscover=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 UtilityTo 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 --pngThis 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 5LimitationsThe 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,racovimgemakes 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 requiresrsvgto be installed on Linux system.
On Windows and MacOS, it is untested and unlikely to work.The current version ofracovimgeis 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 soracovimgewill remain in its current state for
an as of yet undetermined amount of time.Acknowledgementsracovimgeis inspired by the cover-generator found in the excellentcalibree-book manager.racovimgealso borrows some color schemes and svg elements from it.The following free fonts are bundled withracovimge:Alex
Brush,Bellota,Bradley
Gratis,Caladea,Crimson,Gidole,Glacial
Indifference,Great Vibes,Horta,Liberation
Serif,Libre
Baskerville,Orkney,Petit Formal
Script,Sofia, andUnique.The cover templates used byracovimgeinclude svg elements taken
from the following design collections:Decorative Floral
ElementsbywebdesignhotVintage Frame Border
ElementsbyBSGStudioBorder Decoration
Elementsbywebdesignhot