A pedagogical tool for analyzing artist-specific works from WikiArt
Project description
renoir
A computational tool that analyzes and visualizes artist-specific works from the WikiArt dataset, bridging traditional art history with data-driven methods. Designed for creative coding courses, design research, and digital humanities practitioners who explore visual culture through computational approaches.
Overview
renoir addresses a gap in the art and design research toolkit by providing accessible art data analysis capabilities. Unlike computer vision tools focused on algorithmic complexity, it emphasizes clarity and visual communication for art and design practitioners and educators.
Applications:
- Creative Coding Courses: Teach programming through culturally meaningful datasets
- Art and Design Research: Analyze visual patterns and artistic influences quantitatively
- Computational Design: Explore historical precedents through data-driven methods
- Dynamic Branding Projects: Study stylistic evolution and visual consistency across artists
- Digital Humanities Research: Generate publication-ready visualizations for academic work
- Art and Design Studios: Integrate historical analysis into contemporary practice
Why renoir for the art and design community:
- Fills a gap in art and design research tools
- Focuses on visual culture and artistic practice
- Publication-ready visualizations suitable for academic and professional contexts
- Pedagogical clarity without sacrificing analytical depth
- Extensible foundation for advanced art and design research projects
Key Features
- Easy Art Analysis: Extract and analyze works by 100+ artists from WikiArt
- Built-in Visualizations: Genre distributions, style comparisons, artist overviews
- Educational Focus: Designed specifically for classroom use and student projects
- Publication Ready: High-quality plots suitable for presentations and reports
- Flexible Usage: Works with or without visualization dependencies
- Export Capabilities: Save plots as PNG files for reports and presentations
- Pure Python: Easy to install and integrate into existing curricula
For Art & Design Education & Research
Research Applications
Support both pedagogical and scholarly work in art and design:
- Style Evolution Analysis: Quantify artistic development across periods
- Movement Comparison: Compare visual approaches across artistic schools
- Influence Mapping: Explore shared themes and techniques through data
- Portfolio Diversity: Measure stylistic variety and consistency in artistic practice
Pedagogical Integration
renoir serves art and design educators teaching computational methods:
- Clean, readable code that students can understand and extend
- Professional visualizations suitable for academic presentations
- Jupyter notebook compatibility for interactive exploration
- Minimal dependencies to reduce classroom setup friction
- Extensible architecture for advanced student projects
Curriculum Applications
- Creative Coding: Teach programming through visual culture analysis
- Computational Design: Integrate historical research with contemporary practice
- Design Research Methods: Introduce quantitative analysis in design contexts
- Dynamic Branding: Study visual consistency and evolution in artistic identity
- Digital Humanities: Bridge traditional art history with computational approaches
Installation
Basic Installation
pip install renoir
With Visualization Support
pip install 'renoir[visualization]'
Or install from source:
git clone https://github.com/MichailSemoglou/renoir.git
cd renoir
pip install -e .
# For visualizations:
pip install -e .[visualization]
Quick Start
Basic Usage
from renoir import quick_analysis
# Text-based analysis
quick_analysis('pierre-auguste-renoir')
# With visualizations (requires matplotlib)
quick_analysis('pierre-auguste-renoir', show_plots=True)
Advanced Usage
from renoir import ArtistAnalyzer
# Initialize analyzer
analyzer = ArtistAnalyzer()
# Extract works by a specific artist
works = analyzer.extract_artist_works('pierre-auguste-renoir')
# Analyze genre and style distributions
genres = analyzer.analyze_genres(works)
styles = analyzer.analyze_styles(works)
print(f"Found {len(works)} works")
print(f"Genres: {genres}")
print(f"Styles: {styles}")
Visualization Examples
from renoir import ArtistAnalyzer
analyzer = ArtistAnalyzer()
# Create visualizations for a single artist
analyzer.plot_genre_distribution('pierre-auguste-renoir')
analyzer.plot_style_distribution('pablo-picasso')
# Compare multiple artists
analyzer.compare_artists_genres(['claude-monet', 'pierre-auguste-renoir', 'edgar-degas'])
# Comprehensive overview
analyzer.create_artist_overview('vincent-van-gogh')
# Save visualizations to files
analyzer.plot_genre_distribution('monet', save_path='monet_genres.png')
analyzer.create_artist_overview('picasso', save_path='picasso_overview.png')
Check Visualization Support
from renoir import check_visualization_support
# Check if visualization libraries are installed
check_visualization_support()
List Available Artists
from renoir import ArtistAnalyzer
analyzer = ArtistAnalyzer()
artists = analyzer.list_artists(limit=10)
print(artists)
Pedagogical Applications
Classroom Exercise 1: Genre Distribution
Students can compare genre distributions across different artists:
from renoir import ArtistAnalyzer
analyzer = ArtistAnalyzer()
artists = ['pierre-auguste-renoir', 'claude-monet', 'vincent-van-gogh']
for artist in artists:
works = analyzer.extract_artist_works(artist)
genres = analyzer.analyze_genres(works)
print(f"\n{artist}: {genres}")
Classroom Exercise 2: Visual Style Analysis
Analyze and visualize an artist's style distribution:
from renoir import ArtistAnalyzer
analyzer = ArtistAnalyzer()
# Create a comprehensive visual overview
analyzer.create_artist_overview('pablo-picasso')
# Or create specific visualizations
analyzer.plot_style_distribution('pablo-picasso')
analyzer.plot_genre_distribution('pablo-picasso')
Classroom Exercise 3: Comparative Analysis
Compare multiple artists visually:
from renoir import ArtistAnalyzer
analyzer = ArtistAnalyzer()
# Compare Impressionist masters
impressionist_artists = [
'pierre-auguste-renoir',
'claude-monet',
'edgar-degas',
'camille-pissarro'
]
analyzer.compare_artists_genres(impressionist_artists)
Dataset Information
This tool uses the WikiArt dataset from HuggingFace, which contains:
- Over 81,000 artworks
- Works by 129 artists
- Rich metadata including genre, style, and artist information
Educational Philosophy
renoir is built on these pedagogical principles:
- Simplicity first: Clear, readable code that students can understand
- Cultural data: Uses art history to teach data analysis concepts
- Extensible: Students can fork and extend for their own projects
- Real datasets: Works with actual cultural heritage data, not toy examples
Requirements
Core Requirements
- Python 3.8+
- datasets >= 2.0.0
- Pillow >= 8.0.0
Visualization Requirements (Optional)
- matplotlib >= 3.5.0
- seaborn >= 0.11.0
Install with: pip install 'renoir[visualization]'
Contributing
Contributions are welcome, especially:
- Additional pedagogical examples
- Classroom exercises and assignments
- Documentation improvements
- Bug fixes
See CONTRIBUTING.md for details.
License
MIT License - see LICENSE file for details.
Acknowledgments
- WikiArt dataset creators
- HuggingFace Datasets library
- Students in computational design courses who inspired this tool
Contact
For questions about using this tool in your classroom, please open an issue or contact m.semoglou@tongji.edu.cn.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file renoir_wikiart-2.0.0.tar.gz.
File metadata
- Download URL: renoir_wikiart-2.0.0.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7e154f6adcb60502bbbd4f34a51fd5bce814821e1ea93f6a9c7293312dd1943
|
|
| MD5 |
7d8ac799c34b6c09b68b913b01a3ef2f
|
|
| BLAKE2b-256 |
57bc275ddfa9a508d31a2ad977ff0aa013c4bf6176ae373c968ce0682c27fb40
|
File details
Details for the file renoir_wikiart-2.0.0-py3-none-any.whl.
File metadata
- Download URL: renoir_wikiart-2.0.0-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40859cf4bb0d2b74db109f6e7f034b48d4bdb1690420eff9586b3309173e0548
|
|
| MD5 |
8c64800a410e1c669416c625f3c07cd7
|
|
| BLAKE2b-256 |
65565b111d2fef6119a2b06b87f31062ddf53131695b3ade9745043f29fc2b66
|