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:

modal serve frontend/app.py

Deploy on Modal:

modal deploy 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.3.0.tar.gz (185.2 kB view details)

Uploaded Source

Built Distribution

eyefocus-0.3.0-py3-none-any.whl (97.4 kB view details)

Uploaded Python 3

File details

Details for the file eyefocus-0.3.0.tar.gz.

File metadata

  • Download URL: eyefocus-0.3.0.tar.gz
  • Upload date:
  • Size: 185.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for eyefocus-0.3.0.tar.gz
Algorithm Hash digest
SHA256 3e01568fd8e0ebe122a72ace1c942b443770c86c7cdd3891da204bbe67673d94
MD5 71d89d523d9c74bb6f65a6d1290d9980
BLAKE2b-256 d530652370a1769771984b75566abb021a64eb294179ebdccb8b99a0f507af96

See more details on using hashes here.

File details

Details for the file eyefocus-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: eyefocus-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 97.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for eyefocus-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fcf1bb0aba025c182732126fc80a4a903120c234701cc637ca60b8cc31f35fa7
MD5 a0be2847e9415d4441348e75c6d2646f
BLAKE2b-256 dab56071b4f19d0060b192cd16941e1c64d7f99317a8cc0aafc370e788038d06

See more details on using hashes here.

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