Ismo Vuorinen ae5e4d4eae chore(hooks): add editorconfig-checker and fix lines exceeding 80 chars
Add editorconfig-checker pre-commit hook to catch line-length
violations locally. Shorten docstrings in aeonview.py and
aeonview_test.py that exceeded the 80-character editorconfig limit.
Remove double-quote-string-fixer hook that conflicted with ruff-format.
2026-03-13 14:35:34 +02:00
2026-03-13 12:36:07 +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%