Soviet Art Bot
Andrei Mylnikov, “In Peaceful Fields” 1950
What’s Soviet Art Bot?
A bot that tweets out a socialist realist painting, along with their painters, every six hours.
"Discussion of a Bad Grade"
— SovietArtBot (@SovietArtBot) February 14, 2018
Sergiy Grigoriev, 1950 pic.twitter.com/cNQ8HT6Biw
The data comes from WikiArt, a “non-profit project featuring some 150,000 artworks by 2,500 artists, localized in 5 languages.”, from their Socialist Realism category.
How does Soviet Art Work?
For an extremely in-depth post, please read here.
Tools:
Python | AWS | VCS/CI |
---|---|---|
Requests | boto3 | GitHub |
Twython | Lambda | Travis-CI |
pytest | S3 |
Here’s the architecture scribble:
The high-level overview:
- Paintings are downloaded through the WikiArt API
- Local processing cleans up JSON metadata
- Paintings and metadata are uploaded to an S3 bucket on AWS
- A Lambda picks up the files from S3 and tweets out a timed cron job to Twitter through Twython
- You see beautiful socialist realism art
GitHub Repo
Find all the code here: veekaybee/soviet-art-bot
ToDo
1) Source more paintings. WikiArt is fantastic, but has only 500ish paintngs available in the socialist realism category. I’d like to find more sources with high-quality metadata and a significant collection of artworks.
2) Fix the code so that no painting repeats more than once a week. That seems like the right amount of time for Twitter followers to not get annoyed.
3) Create a front-end where anyone can upload a work of socialist realism for the bot to tweet out.
4) Machine learning and deep learning potential possibilities:
- Mash with #devart to see if the bot can create fun headlines for paintings based on painting content
- Extract colors from artworks by genre and see how they differ between genres
- See if there’s a way to filter out artworks with nudity/questionable content
About Me
I’m Vicki and I do data science and engineering work using tools like Python, Spark, and R. I write about that here.. In my spare time, I read books and wrangle toddlers.