Copilot 265f8de06b feat: migrate to uv-managed project (#10)
* Initial plan

* feat: migrate to uv-managed project

Co-authored-by: ivuorinen <11024+ivuorinen@users.noreply.github.com>

* fix: align Python version in pyproject.toml and CI setup-uv config

Co-authored-by: ivuorinen <11024+ivuorinen@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ivuorinen <11024+ivuorinen@users.noreply.github.com>
2026-03-13 08:42:08 +02:00
2018-08-08 00:22:36 +03:00
2025-06-23 22:27:44 +03:00
2025-06-23 22:20:31 +03:00

aeonview

#                               _)
#    _` |   -_)   _ \    \ \ \ / |   -_) \ \  \ /
#  \__,_| \___| \___/ _| _| \_/ _| \___|  \_/\_/
#        aeonview - a simple timelapse tool

aeonview is a Python-based tool for generating timelapse videos from webcam images using ffmpeg. It supports automated image downloading, video stitching, and is fully scriptable via CLI. Includes developer tooling and tests.

CI ruff MIT

Low-quality sample: aeonview 2min preview/Tampere Jan. 2008

Features

  • Timelapse image capture (--mode image)
  • Video generation (--mode video)
  • Support for daily, monthly, yearly video runs (daily implemented)
  • Uses ffmpeg and Python requests
  • Fully tested with pytest
  • Linting and formatting via ruff
  • Pre-commit hooks and CI-ready

Requirements

  • Python 3.13+
  • ffmpeg (system tool)
  • uv for dependency management
  • lots of hard drive space

Installation

# Clone the repo
git clone https://github.com/ivuorinen/aeonview.git
cd aeonview

# Install dependencies (creates .venv automatically)
uv sync --all-groups

# Install pre-commit hooks
uv run pre-commit install

Usage

# Capture an image
uv run python aeonview.py \
  --mode image \
  --project example \
  --url "https://example.com/webcam.jpg"

# Generate a video from yesterday's images
uv run python aeonview.py --mode video --project example

Development

# Format code
make format

# Lint code
make lint

# Run tests
make test

# Lint and test with pre-commit
uv run pre-commit run --files <changed files>

System Setup for ffmpeg

sudo apt update
sudo apt install ffmpeg

License

MIT License © 2025 Ismo Vuorinen

Description
No description provided
Readme 4.5 MiB
Languages
Python 99.1%
Makefile 0.7%
Shell 0.2%