Skip to main content

A Python library for illustrating children's books.

Project description

Drawbook

drawbook is a Python library that helps you create illustrated children's books using AI. It leverages image generation AI models to generate watercolor-style illustrations corresponding to text that you have written and then exports them to a PowerPoint / Slides file that you can further edit.

Features

  • AI-Generated Illustrations: Automatically create watercolor illustrations based on the text you provide.
  • Create Illustrations Programmatically or with a User-Firendly UI: Create illustrations with a single line of Python -- book.illustrate() --, or a open up a Gradio UI in your browser -- book.preview() -- to have more fine-grained control over the illustrations.
  • Start Quickly, Refine Later: Export your illustrations a presentation (PowerPoint/Google Slides) that serves as a starting point - you can then change the layouts, images, and text to perfect your final design.
  • Free: This project uses the free Hugging Face Inference API to generate illustrations. We strongly recommend having a Hugging Face Pro account so that you do not get rate-limited.

Prerequisites

  • Python 3.10+
  • Hugging Face Pro membership (strongly recommended, as this project uses the free Hugging Face Inference API)

Installation

To install Drawbook, use pip:

pip install drawbook

Usage

Here’s how you can create an illustrated book using Drawbook in a few lines of Python:

from drawbook import Book

book = Book(title="Mustafa's Trip to Mars", pages=[
    "One day, Mustafa climbs into the attic and finds a white spacesuit.",
    "He puts on the spacesuit and the spacesuit starts to glow!",
    "Mustafa starts to float up into the air in his spacesuit. He waves bye-bye to his house as it gets tiny down below.",
    "The stars look like tiny lights all around him. His spacesuit flies fast past the moon and the sun.",
    "Mustafa lands on Mars. The landing makes a big crater in the Martian surface.",
    "Mustafa explores Mars in his spacesuit. He meets a Martian and waves hello to him.",
    "Mustafa and the Martian play with toys on Mars. They have a great time together!",
], author="Abubakar Abid")

book.illustrate()  # Generates illustrations for every page

book.export("Mustafas_Trip_To_Mars.pptx")

When you run the code above, Drawbook will generate a PowerPoint file (Mustafas_Trip_To_Mars.pptx) that contains:

  • Text content formatted across multiple slides.
  • AI-generated watercolor illustrations that match the content of each page.

Preview & Refine

If you'd like to regenerate the illustrations on any specific page, simply run:

book.preview()

This will launch a Gradio demo that lets you see the prompt used to create each illustration. You can edit the prompt and keep re-generating images until you have a great series of illustrations for your book. Once you're down, just click "Export" and then "Download" to get your exported slides.

Contributing

Contributions to drawbook are welcome! If you have ideas for new features or improvements, feel free to submit an issue or pull request on the GitHub repository.

License

Drawbook is open-source software licensed under the MIT License.

Version

The current version can be found in version.txt in the root directory, or accessed programmatically via:

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

drawbook-0.3.1.tar.gz (2.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

drawbook-0.3.1-py3-none-any.whl (2.7 kB view details)

Uploaded Python 3

File details

Details for the file drawbook-0.3.1.tar.gz.

File metadata

  • Download URL: drawbook-0.3.1.tar.gz
  • Upload date:
  • Size: 2.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for drawbook-0.3.1.tar.gz
Algorithm Hash digest
SHA256 e1e31b631763187b122770e7f35c161c706aa2837fa6b1691c29f64592b45f4e
MD5 d46cd91f37c24e274789df931d6bcc43
BLAKE2b-256 806f993097cf240036c4f6aa514b0d2e608bf5f10c588de1443970e0efc425af

See more details on using hashes here.

File details

Details for the file drawbook-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: drawbook-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 2.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for drawbook-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 acce97d73e8d59a2ce08ae399826cecf8585e0585a9eaaedc049a260a2041d5d
MD5 8601ef79f1f109d57299345d12da4f7c
BLAKE2b-256 3f123297fad233501f8fad6fd0efb8b414fa8c3631f38197e7e28d8c0cb0614e

See more details on using hashes here.

Supported by

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