Lifelogger
Personal activity tracking daemon with LLM summarization.
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_KEYLIFELOGGER_CAPTURE_ENABLE_KEYPRESSLIFELOGGER_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
Metadata
Release files for lifelogger-daemon 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| lifelogger_daemon-0.2.1.tar.gz | 26.8 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lifelogger_daemon-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 58.6 kB
Release files / lifelogger_daemon-0.2.1.tar.gz
| Download URL | lifelogger_daemon-0.2.1.tar.gz |
|---|---|
| Size | 26.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
db528090bf240b7e811e4b336a037e18fe3e9b26d587f1f9bd093ab795d6d609
|
|
BLAKE2b-256 checksum How to use checksums |
f6f2f41615ba309174cb9eec6891b7ac4b20a0aae272012357eceb7521b6114e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 21, 2025.
Transparency logRelease files / lifelogger_daemon-0.2.1-py3-none-any.whl
| Download URL | lifelogger_daemon-0.2.1-py3-none-any.whl |
|---|---|
| Size | 31.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
69a3a7f47a2a4a09498b603e173ad619f8b38baba104ea1b16b3144a826acc57
|
|
BLAKE2b-256 checksum How to use checksums |
43ceea223c6196a7f3b897ed0bb4186732c24b41f3f896576afbc0a895e44d70
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 21, 2025.
Transparency logSecurity for lifelogger-daemon 0.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for lifelogger_daemon-0.2.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 21, 2025.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.