Upload a TOP 1000 most-famous painting image from a curated JSON list to your Samsung TheFrame TV.
- Automatically selects and uploads random artwork to your Samsung TheFrame TV
- Embeds metadata directly onto images before uploading (Author, Title, Century, Location)
- Manages artwork collections with metadata enrichment using AI
- Modern Python implementation with type hints and async operations
- Improved error handling and logging
- Cross-platform font support for metadata embedding
- Python 3.8 or higher
- A Samsung TheFrame TV with network access
- An Ollama server for metadata enrichment (optional)
-
Clone this repository:
git clone https://github.com/tombatossals/theframe.git cd theframe -
Create a virtual environment and activate it:
uv venv # Alto valid: python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
-
Install dependencies:
pip install -e .
-
Copy the example environment file:
cp .env.example .env
-
Edit
.envwith your Samsung TheFrame TV settings:THEFRAME_IP: IP address of your TVTHEFRAME_TOKEN: Authentication token for your TV- Other settings as needed
python main.py upload --embedpython main.py generatepython main.py populatepython main.py errors./upload.shYou can also use the installed command:
theframe upload --embedpip install -e ".[dev]"black .flake8mypy .make checkThis project is licensed under the MIT License - see the LICENSE file for details.