tfrere's picture
update title and english translate
dc37e9e
metadata
title: minimal-helium-experiment
emoji: 💻
colorFrom: blue
colorTo: red
sdk: docker
app_file: app/server.py
pinned: false

Minimal Browser Screenshot Experiment with Helium

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 Helium (Chrome browser)
  • Display of results in the interface

Technologies Used

  • Backend: FastAPI, Helium
  • 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

# 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.

  1. Create a new Docker-type Space
  2. Associate this GitHub repository with your Space
  3. The Space will automatically use the provided Dockerfile to build and deploy the application

Usage

  1. Access the application through your browser
  2. Enter the URL of the site you want to screenshot (default: Open LLM Leaderboard)
  3. Click "Take a screenshot"
  4. Wait a few seconds for the headless browser to load the page and take the screenshot
  5. The screenshot appears in the interface

About Helium

Helium is a Python library that simplifies browser automation. It's an abstraction layer on top of Selenium that offers a simpler and more intuitive API. Helium was chosen to replace Playwright in this project to demonstrate its ease of use.