Skip to content

maxschroen/artworker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎨 artworker

A CLI tool to generate beautiful and compact posters for your favorite albums. Free, open-source and configurable print-it-yourself alternative to commercially available services offered by e.g. ZeitGeistGalerie, RedBubble or Amazon.

Stars Badge Forks Badge Pull Requests Badge Issues Badge GitHub contributors License Badge

Attributions

InquirerPy - Inter - iTunes Search API - scikit-learn - Pillow - requests - NumPy

Contents

Examples

Changelog

v0.2

  • Added overflow checking and mitigation
    • Works for all single per-line elements (album title, artist and copyright notice)
Older Versions

v0.1

  • Removed Pylette dependency
    • Image color extraction implemented via K-Means-Clustering (initially seemd counterintuitive but results are of higher visual quality than those from median cut)

v0.0

  • Initial release

Requirements

Installation

After installing all hard requirements, the simplest way to get the script is to clone the repository and then install the required packages via the requirements.txt file.

  1. Clone repository
# Clone using web url
git clone https://github.com/maxschroen/artworker.git
# OR clone using GitHub CLI
gh repo clone maxschroen/artworker
  1. Create virtual environment
# Navigate to folder
cd artworker
# Install virtualenv
pip install virtualenv
# Initiate venv
python3 -m venv artworker
# Activate venv
source artworker/bin/activate
  1. Install required packages from requirements.txt
# Install requirements
pip install -r requirements.txt

How To Use

To run the script, simply navigate to the root of the repository and run:

# Run script
python main.py

The script will give you prompts to walk you through the process (see below).

Output is generated as a self-contained .svg file, which will be placed in the /out directory.

To generate a print-friendly file, you can use your favorite SVG rendering engine to open the generated .svg file and export as .png.

A simple way to do this from the console is (assuming you have Inkscape installed), would be:

inkscape --export-type="png" YOUR_FILE_NAME.svg

Roadmap

Known Issues & Limitations

As the script is in a fairly early stage of development, there currently are some known issues and limitations. These are all on the roadmap and will be fixed at some point.

  • Albums with more than 16 tracks are currently not supported. All tracks exceeding this limit will be cut off and missing in the generated file.
  • Significantly long track titles will overflow to the right / left or collide with other track titles on the same line.

About

A CLI tool for generating configurable album artwork posters.

Topics

Resources

License

Stars

Watchers

Forks

Languages