Skip to contents

artutils is the data access layer for the Artalytics platform. It provides functions to query artist, artwork, and collection data from the database, construct CDN asset URLs, and aggregate data for Shiny applications.

Installation

# Install from GitHub (requires GITHUB_PAT)
pak::pkg_install("artalytics/artutils")

Quick Example

library(artutils)

# Look up an artist by their URL slug
artist_record <- get_artist_by_slug("bobby-fatemi")
artist <- artist_record$artist_uuid

# Get profile data
stats <- get_artist_stats(artist)
collections <- get_artist_collections_summary(artist)
recent_works <- get_artist_recent_works(artist, limit = 6)

# Construct CDN URLs for assets
avatar <- pathArtistThumb(artist)
thumbnails <- sapply(recent_works$art_uuid, function(art) {
    pathArtworkThumb(artist, art)
})

# For Shiny apps, aggregate everything in one call
appdata <- getAppdata(artist, artwork = recent_works$art_uuid[1])

Package Hierarchy

appPlatform / mod* packages (application layer)
        |
    artutils (data access layer)
        |
    artcore (infrastructure layer)

artutils depends only on artcore for database connections and CDN operations. It never depends on application packages.

Key Functions

Data Access

Function Purpose
get_artist_by_slug() Look up artist by URL-friendly slug
get_artist_stats() Artwork/collection counts for profile headers
get_artist_collections_summary() Collections with artwork counts
get_artist_recent_works() Recent artworks for gallery grids
getArtworkStats() Performance metrics (strokes, hours, colors)
getFrameAnalytics() Per-frame data for replay visualization

Path Utilities

Function Purpose
pathArtistThumb() Artist avatar URL
pathArtworkThumb() Artwork thumbnail URL
pathArtMainImage() Full-size artwork image
pathReplayFrame() Time-lapse frame for replay player
pathArtworkCert() Certificate of authenticity PDF/JPEG

Application Data

Function Purpose
getAppdata() Aggregates all data needed for artwork detail view

Database Interface

Function Purpose
dbArtGet() Execute SELECT queries
dbArtAppend() Insert rows
dbArtUpdate() Execute UPDATE statements

Environment Variables

artutils requires database credentials configured via environment variables. See artcore documentation for setup.

Variable Description
ART_PGHOST Database host
ART_PGPORT Database port
ART_PGUSER Database user
ART_PGPASS Database password

Documentation

Development

For AI agent instructions and coding standards, see AGENTS.md.


Proprietary - Do Not Distribute

Bobby Fatemi - All rights reserved