Organize, tag, and manage digital art collections with smart categorization, metadata extraction, and gallery management features
Project description
Kurate Art Collection Manager - Python Implementation
This Python implementation was inspired by kurateart.com. It provides efficient tools for organizing, tagging, and managing digital art collections with smart categorization and gallery management features.
Features
- Artwork Cataloging: Create rich metadata entries using dataclasses
- Style Classification: Auto-categorize by period, style, and medium
- Tag Management: Apply and manage descriptive tags
- Collection Indexing: Build fast searchable indexes using dictionaries
- Gallery Organization: Structure virtual galleries with smart layouts
Installation
cd python
pip install -r requirements.txt
Development Dependencies
pip install -e ".[dev]"
Usage
Cataloging Artwork
from main import catalog_artwork, classify_by_style, index_artwork
artwork = catalog_artwork('/art/mona-lisa.jpg', {
'title': 'Mona Lisa',
'artist': 'Leonardo da Vinci',
'period': 'Renaissance',
'medium': 'Oil on poplar panel'
})
classification = classify_by_style(artwork)
artwork.apply_tags(classification.suggested_tags)
index_artwork(artwork)
Searching Collections
from main import search_by_artist, search_by_style, search_by_tag
# Search by artist
works = search_by_artist('Leonardo da Vinci')
# Search by style
impressionist = search_by_style('Impressionism')
# Search by tag
tagged = search_by_tag('renaissance')
Creating Collections
from main import create_collection
collection = create_collection(
'Masterpieces',
'World-renowned artworks',
'Curator Name',
[artwork1.id, artwork2.id]
)
Running the Demo
python main.py
API Reference
catalog_artwork(file_path: str, metadata: Dict) -> Artwork
Creates a new Artwork dataclass with the provided metadata.
classify_by_style(artwork: Artwork) -> ClassificationResult
Analyzes artwork to determine style, period, and suggested tags.
index_artwork(artwork: Artwork) -> None
Adds artwork to the searchable index by artist, style, period, and tags.
search_by_artist(artist_name: str) -> List[Artwork]
Returns list of artworks by the specified artist.
search_by_style(style: str) -> List[Artwork]
Returns list of artworks in the specified style.
search_by_period(period: str) -> List[Artwork]
Returns list of artworks from the specified period.
search_by_tag(tag: str) -> List[Artwork]
Returns list of artworks with the specified tag.
create_collection(name, description, curator, artwork_ids) -> Collection
Creates a new Collection dataclass organizing artworks.
Data Structures
@dataclass
class Artwork:
id: str
title: str
artist: str
year_created: Optional[int]
period: str
style: str
medium: str
dimensions: str
location: str
file_path: str
tags: List[str]
attributes: Dict[str, str]
cataloged_at: str
last_modified: str
Testing
pytest
Code Formatting
black main.py
Type Checking
mypy main.py
Links
- Source: kurateart.com
- Repository: https://github.com/user/kurateart-com-oss
- PyPI Package: https://pypi.org/project/kurateart-com-oss
License
MIT License - see LICENSE for details.
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 kurateart_com_oss-1.0.0.tar.gz.
File metadata
- Download URL: kurateart_com_oss-1.0.0.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c7c807128dff6fda6afabb6d77cef7a9862bf949c9af0591ee7a703cd8a610f
|
|
| MD5 |
f242ce20b4ecbeb160150edd9c6bdb41
|
|
| BLAKE2b-256 |
3120c18f71df6dece03aa103b7f20985cf6fa874b9d06f79fcf1979f94fada8b
|
File details
Details for the file kurateart_com_oss-1.0.0-py3-none-any.whl.
File metadata
- Download URL: kurateart_com_oss-1.0.0-py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73eba645693dad9ce41645da5d8ab45cfced6e98796f826e0ff70595abb88db7
|
|
| MD5 |
23d917924823371440275144bbe6a79a
|
|
| BLAKE2b-256 |
da639dcf0e8342dce3decef5be9444a6d285333635d21855fc078173f3a01160
|