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
- Get Started - Package overview and workflows
- Data Access Patterns - Query patterns and best practices
- Data Modification Workflows - Creating and updating records
- Function Reference - Complete API documentation
Development
For AI agent instructions and coding standards, see AGENTS.md.
Proprietary - Do Not Distribute
Bobby Fatemi - All rights reserved