artpipelines orchestrates the end-to-end processing of digital artwork submissions for the Artalytics platform. It handles Procreate canvas validation, asset uploads to CDN, metadata extraction, AI-powered style classification, benchmark calculations, and database population.
Installation
# Install from GitHub (requires GITHUB_PAT)
pak::pkg_install("artalytics/artpipelines")Environment Variables
artpipelines requires environment variables from several dependency packages.
Required (via artcore)
| Variable | Description |
|---|---|
ART_PGHOST |
PostgreSQL host |
ART_PGPORT |
PostgreSQL port |
ART_PGUSER |
PostgreSQL username |
ART_PGPASS |
PostgreSQL password |
ART_PGDATA |
PostgreSQL database name |
ART_BUCKETS_KEY_ID |
DigitalOcean Spaces access key ID |
ART_BUCKETS_KEY_SECRET |
DigitalOcean Spaces secret key |
Quick Example
library(artpipelines)
# Validate a Procreate canvas before processing
canvas_check <- assess_procreate_canvas("path/to/artwork.procreate")
canvas_check$classification
# "DEFINITELY_CREATIVE" / "PROBABLY_CREATIVE" / "INDETERMINATE" / "NOT_CREATIVE"
# Run the full artwork processing pipeline
result <- run_pipeline(
artist = "746b8207-72f5-4ab6-8d19-a91d03daec3d",
artwork = "99a61148-1d3b-4340-8cf6-92ad26046b0f",
collection = "77102117-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
artist_name = "Artist Name",
art_title = "Artwork Title",
art_story = "Artist's description of the piece",
file_image = "/path/to/main.png",
file_canvas = "/path/to/canvas.procreate",
file_video = "/path/to/timelapse.mp4",
zip_frames = NULL,
file_stats = "/path/to/stats-screenshot.png",
file_variants = NULL
)
# Result contains all generated data.tables for database population
names(result)
# artwork_index, artwork_stats, artwork_paths, artwork_hash,
# artwork_styles, artwork_profiles, artwork_colors, ...Package Hierarchy
appPlatform / mod* packages (application layer)
|
artpipelines (this package)
|
artutils, artpixeltrace, artcurator, artopensea, artbenchmark
|
artcore (infrastructure layer)
artpipelines depends on multiple domain packages and orchestrates their functions into cohesive workflows.
Documentation
- Get Started - Package overview
- Quickstart - Hands-on tutorial
- Advanced Workflow - Complex use cases
- Function Reference - Complete API documentation
Development
For AI agent instructions and coding standards, see AGENTS.md.
Proprietary - Do Not Distribute
