harvard-art-museums-data-engineering-pipeline
Build end-to-end data engineering pipelines with Harvard Art Museums API, ETL, SQL analytics, and Streamlit dashboards
Security Assessment
About harvard-art-museums-data-engineering-pipeline
This skill is a reference guide for building an end-to-end data engineering pipeline around the public Harvard Art Museums API. It demonstrates the full path from raw API data to an interactive analytics dashboard, solving the problem of how to structure a production-style ETL project: fetching paginated artifact data, normalizing nested JSON into relational tables, running SQL analytics, and visualizing results. It presents itself as a reference architecture accompanying an upstream sample application (the Harvard-Artifacts-Collection-Data-Engineering-Analytics-App repository).
The documented workflow covers API integration with pagination (querying the Harvard object endpoint with an API key), an ETL layer that transforms artifact records into separate metadata, media, and color tables using pandas, and a load step that writes to a MySQL or TiDB Cloud database with an auto-created schema. It layers on 20+ predefined analytical SQL queries and a Streamlit dashboard using Plotly charts for interactive exploration. Configuration is via a .env file holding the Harvard API key and standard database connection variables, and the app is run locally with Streamlit.
It targets data engineers, analysts, and learners who want a concrete, runnable example of a normalized-schema pipeline and dashboard. Because the primary document is essentially a tutorial and reference pointing to a separate cloneable repository, its depth in the skill itself is instructional rather than a self-contained tool; users get code snippets and setup steps rather than a packaged executable. Use cases include learning ETL patterns, prototyping museum/collection analytics, and adapting the schema design to other paginated JSON APIs.
FAQ
What do I need to run this pipeline?
Python with streamlit, pandas, requests, mysql-connector-python, plotly, and python-dotenv, plus a MySQL or TiDB Cloud database and a free Harvard Art Museums API key requested from their collections API page.
How is configuration handled?
Through a .env file at the project root holding the Harvard API key and database host, port, user, password, and database name, loaded via python-dotenv.
What does the ETL produce?
It normalizes nested artifact JSON into separate relational tables (metadata, media/images, and colors) with foreign keys, created automatically by the pipeline, then supports 20+ analytical SQL queries.
How do I view the analytics?
Run 'streamlit run app.py' to launch the dashboard, which becomes available at localhost:8501 and renders insights with Plotly charts.
Is this a standalone skill or a pointer to a repo?
It is largely a reference architecture and tutorial that points to an upstream GitHub sample application you clone and run, with the SKILL.md providing setup steps and code examples rather than a packaged tool.
Install harvard-art-museums-data-engineering-pipeline
Quick Setup:
- Copy the skill folder to
.claude/skills/ - Claude will automatically detect and use the skill
Repository
aradotso/data-skills