CoolFace
Datasetpublic

jtreminio/artist-styles

artist-styles Static gallery of artist styles. Plain HTML/JS (index.html) reading from data/artists.json and images/ — no build step, no dependencies. Running with Docker docker.sh runs the site in a python:3.12-slim container serving the project directory with python3 scripts/server.py (a stdlib-only server: static files plus a small favorites API). The container is named artist-styles, restarts automatically (--restart=always), and serves on port 7803 by… See the full description on the dataset page: https://huggingface.co/datasets/jtreminio/artist-styles.

sourceHugging Faceupdated 2mo agoView on Hugging Face
0likes2.6kdownloads
Dataset Card

artist-styles

Static gallery of artist styles. Plain HTML/JS (index.html) reading from data/artists.json and images/ — no build step, no dependencies.

Running with Docker

docker.sh runs the site in a python:3.12-slim container serving the project directory with python3 scripts/server.py (a stdlib-only server: static files plus a small favorites API). The container is named artist-styles, restarts automatically (--restart=always), and serves on port 7803 by default.

sh
./docker.sh              # (re)create the container, then tail its logs
./docker.sh q            # same, but don't tail logs
./docker.sh -p 1111:2222 # override the port mapping (host:container)

Starting always removes any existing artist-styles container first, so re-running the script is the way to pick up config changes.

Management subcommands:

sh
./docker.sh bash   # shell into the running container
./docker.sh logs   # tail container logs
./docker.sh rm     # remove the container

Then open http://localhost:7803 (or whatever host port you mapped).

No pip cache volume is needed — the server and all scripts are Python stdlib-only. If pip dependencies are ever added, mount one with -v artist-styles_pip:/root/.cache/pip in the docker run call.

Running without Docker

sh
./serve.sh [port]   # python3 scripts/server.py, default port 8000

scripts/server.py serves the static files (like http.server) and adds a small favorites API (GET/PUT/POST /api/favorites). Favorites are persisted to data/favorites.json as a JSON array of artist ids.

Maintaining the data

sh
python3 scripts/add_artist.py --name "Jane Doe" --category painting [images...]
python3 scripts/validate.py   # integrity check of data/artists.json + images/