Skip to main content

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

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)

Source distribution for kurateart-com-oss 1.0.0
File Size Uploaded Provenance
kurateart_com_oss-1.0.0.tar.gz 5.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for kurateart-com-oss 1.0.0
File Interpreter ABI Platform
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.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page