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.
Metadata
Release files for kurateart-com-oss 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| kurateart_com_oss-1.0.0.tar.gz | 5.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kurateart_com_oss-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.0 kB
Release files / kurateart_com_oss-1.0.0.tar.gz
| Download URL | kurateart_com_oss-1.0.0.tar.gz |
|---|---|
| Size | 5.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1c7c807128dff6fda6afabb6d77cef7a9862bf949c9af0591ee7a703cd8a610f
|
|
BLAKE2b-256 checksum How to use checksums |
3120c18f71df6dece03aa103b7f20985cf6fa874b9d06f79fcf1979f94fada8b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.7
|
Release files / kurateart_com_oss-1.0.0-py3-none-any.whl
| Download URL | kurateart_com_oss-1.0.0-py3-none-any.whl |
|---|---|
| Size | 6.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
73eba645693dad9ce41645da5d8ab45cfced6e98796f826e0ff70595abb88db7
|
|
BLAKE2b-256 checksum How to use checksums |
da639dcf0e8342dce3decef5be9444a6d285333635d21855fc078173f3a01160
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.7
|
Security for kurateart-com-oss 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.