metadata
title: minimal-playwright-experiment
emoji: 💻
colorFrom: blue
colorTo: red
sdk: docker
app_file: app/server.py
pinned: false
Minimal Browser Screenshot Experiment
This web application allows taking screenshots of websites using a headless browser and displaying them directly in the user interface.
Features
- Simple and responsive web interface
- URL input with default value pointing to Open LLM Leaderboard
- Screenshot capture via Playwright (Chromium browser)
- Display of results in the interface
Technologies Used
- Backend: FastAPI, Playwright
- Frontend: HTML/JS with Tailwind CSS
- Dependency Management: Poetry
- Deployment: Docker, Hugging Face Spaces
Local Installation
Prerequisites
- Python 3.10+
- Poetry
- Docker (optional)
Installation with Poetry
# Clone the repository
git clone [repo-url]
cd minimal-browser-screenshot-experiment
# Install dependencies
poetry install
# Install Playwright browsers
poetry run playwright install chromium
poetry run playwright install-deps chromium
# Launch the application
poetry run uvicorn app.server:app --host 0.0.0.0 --port 7860
Using Docker
# Build the Docker image
docker build -t minimal-browser-screenshot .
# Run the container
docker run -p 7860:7860 minimal-browser-screenshot
Deployment on Hugging Face Spaces
This application is designed to be easily deployed on a Hugging Face Space.
- Create a new Docker-type Space
- Associate this GitHub repository with your Space
- The Space will automatically use the provided Dockerfile to build and deploy the application
Usage
- Access the application through your browser
- Enter the URL of the site you want to screenshot (default: Open LLM Leaderboard)
- Click "Take a screenshot"
- Wait a few seconds for the headless browser to load the page and take the screenshot
- The screenshot appears in the interface