Metadata-Version: 2.4
Name: selfspy
Version: 1.0.0
Summary: Modern Python activity monitoring inspired by the original Selfspy, with real-time TUI, session tracking, and productivity insights
Project-URL: Homepage, https://github.com/nuin/selfspy-python
Project-URL: Repository, https://github.com/nuin/selfspy-python
Project-URL: Issues, https://github.com/nuin/selfspy-python/issues
Author: Bjarte Johansen (original Selfspy), David Fendrich (original Selfspy)
Author-email: nuin <nuin@genedrift.org>
License: GPL-3.0-or-later
Keywords: activity-monitor,analytics,keystroke-logger,macos,productivity,session-tracking,time-tracking,tui
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: System :: Monitoring
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Requires-Dist: aiofiles>=23.2.0
Requires-Dist: aiosqlite>=0.19.0
Requires-Dist: alembic>=1.13.0
Requires-Dist: appdirs>=1.4.4
Requires-Dist: cryptography>=41.0.7
Requires-Dist: fastapi>=0.109.0
Requires-Dist: greenlet>=3.0.1
Requires-Dist: keyring>=24.3.0
Requires-Dist: pandas>=2.1.4
Requires-Dist: plotly>=5.18.0
Requires-Dist: pycryptodome>=3.19.0
Requires-Dist: pydantic-settings>=2.1.0
Requires-Dist: pynput>=1.7.6
Requires-Dist: python-dateutil>=2.8.2
Requires-Dist: rich>=13.7.0
Requires-Dist: sqlalchemy>=2.0.25
Requires-Dist: structlog>=24.1.0
Requires-Dist: typer>=0.9.0
Requires-Dist: uvicorn>=0.27.0
Provides-Extra: dev
Requires-Dist: black>=23.12.1; extra == 'dev'
Requires-Dist: isort>=5.13.2; extra == 'dev'
Requires-Dist: mypy>=1.8.0; extra == 'dev'
Requires-Dist: pre-commit>=3.6.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23.3; extra == 'dev'
Requires-Dist: pytest-cov>=4.1.0; extra == 'dev'
Requires-Dist: pytest>=7.4.4; extra == 'dev'
Requires-Dist: ruff>=0.1.11; extra == 'dev'
Provides-Extra: macos
Requires-Dist: pyobjc-framework-applicationservices; extra == 'macos'
Requires-Dist: pyobjc-framework-quartz; extra == 'macos'
Description-Content-Type: text/markdown

# Selfspy

[![PyPI](https://img.shields.io/pypi/v/selfspy)](https://pypi.org/project/selfspy/)
[![Python](https://img.shields.io/pypi/pyversions/selfspy)](https://pypi.org/project/selfspy/)
[![License](https://img.shields.io/github/license/nuin/selfspy-python)](LICENSE)

A comprehensive activity monitoring and analytics tool with real-time TUI, session tracking, and productivity insights. Built with modern Python for macOS and Linux.

## Features

- **Real-time TUI Dashboard** - Beautiful terminal UI with sparklines, metrics, and live updates
- **Session Tracking** - Track activity across multiple sessions with start/end times
- **Idle Detection** - Distinguish between active work and idle time (3-minute threshold)
- **Historical Comparison** - Compare today's activity vs yesterday with visual indicators
- **Focus Time Tracking** - See actual time spent in each application
- **Privacy-First** - Optional encryption, local storage, configurable exclusions
- **Rich Visualizations** - Enhanced statistics with charts, graphs, and insights
- **macOS Native** - Full window tracking with PyObjC integration
- **Linux Support** - Cross-platform with fallback tracking

## Quick Start

### Installation

```bash
# From PyPI (when published)
pip install selfspy

# On macOS (recommended for full features)
pip install selfspy[macos]

# With pipx (isolated environment)
pipx install selfspy[macos]

# With uv (fastest)
uv tool install selfspy --with selfspy[macos]
```

### Usage

```bash
# Start monitoring with live TUI
selfspy start

# View enhanced statistics
selfstats summary --days 7

# View visualizations
selfviz enhanced

# Check terminal activity
selfterminal stats
```

See [INSTALL.md](INSTALL.md) for detailed installation instructions.

## Documentation

Comprehensive documentation is available in the [`docs/`](docs/) directory:

- **[Installation Guide](docs/installation.md)** - Setup and dependencies
- **[Usage Guide](docs/usage.md)** - Commands and workflows
- **[Configuration](docs/configuration.md)** - Settings and customization
- **[Architecture](docs/architecture.md)** - System design and internals
- **[Troubleshooting](docs/troubleshooting.md)** - Common issues and solutions

## Requirements

- Python 3.10+
- macOS 10.12+ (for full features)
- Accessibility permissions (macOS)

For detailed installation instructions, see the [Installation Guide](docs/installation.md).

## Credits

This project is inspired by and based on the original [Selfspy](https://github.com/selfspy/selfspy) by Bjarte Johansen and David Fendrich. The original Selfspy pioneered the concept of comprehensive activity monitoring with privacy-first local storage and encryption.

This modern Python implementation builds upon that foundation with:
- Modern async/await patterns with SQLAlchemy 2.0
- Real-time TUI dashboard with Rich
- Session tracking and historical analytics
- Enhanced security and stability
- macOS native integration with PyObjC
- Comprehensive testing and documentation

We're grateful to the original authors for creating such an innovative tool and releasing it as open source.

## License

GPL-3.0-or-later

This project maintains compatibility with the original Selfspy's GPL-3.0 license.