Skip to main content

Personal activity tracking daemon with LLM summarization

Project description

Lifelogger

Personal activity tracking daemon with LLM summarization.

CI PyPI Python

Features

  • Keyboard and mouse event capture
  • Automatic screenshots (on click and/or cron schedule)
  • LLM-powered activity summarization
  • Cross-platform (macOS, Windows, Linux)
  • Background daemon with CLI control

Installation

pip install lifelogger-daemon

Quick Start

# Initialize configuration
lifelogger init

# (Optional) Set your OpenAI API key for summarization
lifelogger config-set --openai-key YOUR_API_KEY

# Start the daemon
lifelogger start

# Check status
lifelogger status

# View activity summary
lifelogger summary

# Stop the daemon
lifelogger stop

Usage

Commands

Command Description
lifelogger init Initialize configuration and data directories
lifelogger start Start the background daemon
lifelogger start -f Run in foreground (for debugging)
lifelogger stop Stop the daemon
lifelogger status Show daemon status and statistics
lifelogger summary Show current activity summary
lifelogger events Show recent events
lifelogger chunks Show chunk summaries
lifelogger config-show Display current configuration
lifelogger config-set Update configuration

Configuration

Configuration is stored in ~/.lifelogger/config.json. You can modify it via CLI:

# Enable/disable capture types
lifelogger config-set --keypress/--no-keypress
lifelogger config-set --mouseclick/--no-mouseclick
lifelogger config-set --screenshot-on-click/--no-screenshot-on-click

# Configure cron screenshots
lifelogger config-set --cron-screenshot/--no-cron-screenshot
lifelogger config-set --cron-schedule "*/5 * * * *"

# Configure summarization
lifelogger config-set --summarizer/--no-summarizer
lifelogger config-set --model gpt-4o-mini
lifelogger config-set --openai-key YOUR_KEY

Environment variables are also supported:

  • LIFELOGGER_OPENAI_API_KEY
  • LIFELOGGER_CAPTURE_ENABLE_KEYPRESS
  • LIFELOGGER_CAPTURE_ENABLE_MOUSECLICK
  • etc.

Platform Notes

macOS

Requires accessibility permissions for keyboard/mouse capture. Grant permissions in System Preferences > Privacy & Security > Accessibility.

Linux

May require running as root or adding user to the input group for keyboard/mouse capture.

Windows

Should work out of the box. Some antivirus software may flag keyboard monitoring.

Development

# Clone the repo
git clone https://github.com/JacobFV/lifelogger.git
cd lifelogger

# Install with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Type checking
mypy lifelogger

# Linting
ruff check lifelogger

License

MIT

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

lifelogger_daemon-0.2.0.tar.gz (26.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lifelogger_daemon-0.2.0-py3-none-any.whl (31.6 kB view details)

Uploaded Python 3

File details

Details for the file lifelogger_daemon-0.2.0.tar.gz.

File metadata

  • Download URL: lifelogger_daemon-0.2.0.tar.gz
  • Upload date:
  • Size: 26.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lifelogger_daemon-0.2.0.tar.gz
Algorithm Hash digest
SHA256 3d966ab67c52f74bf6d4fcffdfd3bfdb15b92e401cf131783c50f73f80918d04
MD5 68b70e96cc69e5a44bf4c635681ceee0
BLAKE2b-256 ca1ca6218fae8a7a0898e94e4cf5759f445ff3e14027dd0db1e38bdb6c9638e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for lifelogger_daemon-0.2.0.tar.gz:

Publisher: publish.yml on JacobFV/lifelogger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lifelogger_daemon-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for lifelogger_daemon-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9d8ec86dc22cc5847e4b7b280b7cce37aca4ea0182980fb6f48f446cfd45c0e8
MD5 5975c16c357cf0afc8d95a88bb268e70
BLAKE2b-256 32fa5db98eed2dfaf90f4f2aa3cff5dad39a9c9be45494c250291298ba804b83

See more details on using hashes here.

Provenance

The following attestation bundles were made for lifelogger_daemon-0.2.0-py3-none-any.whl:

Publisher: publish.yml on JacobFV/lifelogger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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