Skip to main content

DevPulse – Developer Productivity CLI and GitHub analytics

Project description

DevPulse CLI

A comprehensive command-line tool for developer productivity tracking, system monitoring, and GitHub analytics.

Features

Core Productivity

  • Track - Time tracking and task management
  • Stats - Analytics and productivity statistics
  • Health - Real-time system monitoring and process management
  • Logs - Log analysis and search capabilities
  • Secrets - Security scanning for exposed credentials
  • Sync - Cloud data synchronization
  • AI - AI-powered productivity insights

Time & Focus Management

  • Timer - Pomodoro and custom interval timers
  • Focus - Distraction-free focus sessions with website blocking
  • Breaks - Scheduled break reminders and tracking
  • Habits - Daily habit tracking and streak monitoring

Organization & Reporting

  • Project - Multi-project management and context switching
  • Notes - Integrated note-taking system
  • Report - Automated productivity reports (daily, weekly, monthly)
  • Dashboard - Real-time productivity metrics dashboard

GitHub Integration

  • GitHub Stats - Repository statistics and health scoring
  • GitHub Activity - Public user activity tracking and event analysis
  • GitHub Contributors - Contributor analysis and rankings
  • GitHub Issues - Issue metrics and trend analysis
  • GitHub Pull Requests - List, view, and merge PRs with conflict detection and safe merge operations

Data Management

  • Config - Configuration management
  • Export - Multi-format data export (CSV, JSON, Excel, PDF)

Installation

PyPI Installation

# Standard installation
pip install devpulse-cli

# Full installation with all optional dependencies
pip install devpulse-cli[full]

# Specific feature sets
pip install devpulse-cli[ai]      # AI features
pip install devpulse-cli[data]    # Data analysis
pip install devpulse-cli[http]    # GitHub integration

Development Installation

git clone https://github.com/devspak-s8/devpulse-cli.git
cd devpulse-cli
pip install -e .

Quick Start

Time Tracking

# Start tracking a task
devpulse track start "Implement authentication feature"

# Check current status
devpulse track status

# Stop tracking
devpulse track stop

# View today's sessions
devpulse track list --today

System Monitoring

# Check system health
devpulse health check

# Monitor specific services
devpulse health check --service cpu
devpulse health check --service memory

# View top processes
devpulse health processes --top 10 --sort memory

# Set up alerts
devpulse health alert --cpu 80 --memory 85

GitHub Analytics

# Repository statistics
devpulse github stats --repo torvalds/linux

# User activity tracking
devpulse github activity torvalds
devpulse github activity torvalds --events push,pr,issues --since 7d

# Export as JSON
devpulse github activity torvalds --json --force-refresh

# Debug mode with rate limit info
devpulse github activity torvalds --debug

# Repository health analysis
devpulse github stats --repo microsoft/vscode --include health,contributors

# List pull requests
devpulse github prs owner/repo                           # List open PRs
devpulse github prs owner/repo --state all              # All PRs (open + closed)
devpulse github prs owner/repo --conflicts-only         # Only conflicted PRs
devpulse github prs owner/repo --json                   # JSON output

# View single PR details
devpulse github pr view owner/repo 123                  # View PR #123
devpulse github pr view owner/repo 123 --json           # JSON format

# Merge a pull request (interactive auth prompt)
devpulse github pr merge owner/repo 123 --dry-run       # Preview merge
devpulse github pr merge owner/repo 123 --strategy squash --confirm  # Squash merge
devpulse github pr merge owner/repo 123 --strategy merge --confirm   # Full merge
devpulse github pr merge owner/repo 123 --confirm --force            # Override failing checks

Productivity Reports

# Generate daily report
devpulse report daily

# Weekly summary
devpulse report weekly --format html --output report.html

# Export analytics
devpulse stats show --period month
devpulse export all --format json --output backup.json

Configuration

Environment Variables

# GitHub API authentication (recommended for higher rate limits)
export GITHUB_TOKEN="your_personal_access_token"

# Authenticated: 5000 requests/hour
# Unauthenticated: 60 requests/hour

Global Settings

# View current configuration
devpulse config show

# Set preferences
devpulse config set theme dark
devpulse config set timezone UTC

Architecture

Key Components

  • CLI Layer - Typer-based command interface with Rich formatting
  • Core Services - Business logic and data processing
  • GitHub Client - HTTP client with caching, rate limiting, and fallback
  • Storage - SQLite database for local data persistence
  • Cache System - Request caching with configurable TTL and stale fallback

GitHub Integration Features

  • HTTP caching with 10-minute default TTL
  • Automatic stale cache fallback on network errors
  • Rate limit detection and user-friendly error messages
  • Optional GitHub token authentication
  • Configurable request timeouts
  • Debug mode for API inspection

Testing

# Run all tests
pytest

# Run with coverage report
pytest --cov=devpulse --cov-report=html

# Run specific test module
pytest tests/test_github_activity.py -v

# Run with output
pytest -v -s

Test Coverage

  • 205+ automated tests
  • Unit tests for core functionality
  • Integration tests for CLI commands
  • Mock-based tests for external APIs

Command Reference

For detailed command documentation, run:

devpulse --help
devpulse <command> --help

Common Options

Most commands support these standard options:

  • --json - Output raw JSON instead of formatted tables
  • --force-refresh - Bypass cache and fetch fresh data
  • --debug - Enable debug output with API metadata
  • --timeout N - Set request timeout in seconds

Contributing

Contributions are welcome. Please ensure:

  1. All tests pass before submitting PRs
  2. New features include corresponding tests
  3. Code follows existing patterns and style
  4. Documentation is updated as needed

License

MIT License - see LICENSE file for details

Links

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

devpulse_cli-0.3.0.tar.gz (58.6 kB view details)

Uploaded Source

Built Distribution

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

devpulse_cli-0.3.0-py3-none-any.whl (70.0 kB view details)

Uploaded Python 3

File details

Details for the file devpulse_cli-0.3.0.tar.gz.

File metadata

  • Download URL: devpulse_cli-0.3.0.tar.gz
  • Upload date:
  • Size: 58.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for devpulse_cli-0.3.0.tar.gz
Algorithm Hash digest
SHA256 46bd19e6652dacd697ebcc51d3c57ab29aab988023230642a54f908560d5945c
MD5 4715b6ddd4a34bde500b9a697612faf3
BLAKE2b-256 2b0022211ebde1d664cd4a973598b2c5c15b5cb7ee130a7e9083ac2780899776

See more details on using hashes here.

File details

Details for the file devpulse_cli-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: devpulse_cli-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 70.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for devpulse_cli-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cddd0dbe8cf67886e624ba575d36d81ce98c254fba8d53857dc504eeffe130be
MD5 b572cf58889b99946ed968fd01913b26
BLAKE2b-256 55b9001c9f10e8c77abe84684a06c00c41b0836a75e49742f8c4d2913b106250

See more details on using hashes here.

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