Skip to main content

Stay focused!

Project description

eyefocus

Stay focused!

Built with:

  • uv for project management.
  • PyTorch for model training.
  • Modal for model infra.
  • FastHTML for the frontend.
  • Ruff for linting and formatting.

Set Up

Set up the environment:

uv sync --all-extras --dev
uv run pre-commit install

Optionally, set up Modal:

modal setup

Repository Structure

.
├── frontend            # landing page.
├── ft                  # classifier training.
├── src                 # pypi package.

Development

PyPI

Run locally:

uv run eyefocus -vv

Build the package:

uvx --from build pyproject-build --installer uv

Upload the package:

uvx twine upload dist/*

Test the uploaded package:

uv run --with eyefocus --no-project -- eyefocus -vv

Frontend

Run the app:

uv run frontend/app.py

Deploy on Modal:

uv run modal run frontend/app.py

Training

Optionally, manually collect screenshots:

uv run ft/collect.py

Run ETL on HF dataset (or collected screenshots if available):

uv run ft/etl.py

or

uv run modal run ft/etl.py

Train the model:

uv run torchrun --standalone --nproc_per_node=<n-gpus> ft/train.py

or

uv run modal run ft/train_modal.py

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eyefocus-0.2.0.tar.gz (193.1 kB view hashes)

Uploaded Source

Built Distribution

eyefocus-0.2.0-py3-none-any.whl (97.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page