Skip to main content

⚡ Terminal-based developer productivity tracker — streaks, sessions, heatmaps & more.

Project description

⚡ DevPulse

PyPI version Python License Stars

A futuristic terminal productivity tracker for developers.
Track coding sessions, streaks, tasks, and stay motivated — all from your terminal.


✨ Features

Feature Description
🔥 Coding Streaks Daily streak tracker with all-time best
🕐 Session Timer Start/stop coding sessions, auto-track hours
Task Logger Log completed tasks with timestamps
📈 Activity Heatmap GitHub-style heatmap in your terminal
📅 Weekly Summary Hours per day with progress bars
Daily Quote Deterministic motivational quote each day
📤 Export Reports TXT or JSON productivity reports
💾 Local SQLite All data stored privately on your machine

🚀 Installation

From PyPI (recommended)

pip install devpulse-cli

From source

git clone https://github.com/yourname/devpulse.git
cd devpulse
pip install -e .

📖 Usage

Start a coding session

devpulse start

Stop and save session

devpulse stop

Log a completed task

devpulse log Fixed the authentication bug
devpulse log "Wrote unit tests for the payment module"

Full productivity dashboard

devpulse stats

View your streak

devpulse streak

Get a motivational quote

devpulse quote           # today's quote (same all day)
devpulse quote --random  # random quote

Activity heatmap

devpulse heatmap           # last 18 weeks
devpulse heatmap --weeks 8 # custom range

Weekly summary

devpulse weekly

View tasks

devpulse tasks        # today's tasks
devpulse tasks --all  # all tasks

Export a report

devpulse export                        # TXT report (last 30 days)
devpulse export --format json          # JSON report
devpulse export --days 90 -o report.txt

🗂 Project Structure

devpulse/
├── devpulse/
│   ├── __init__.py   # Version info
│   ├── cli.py        # All CLI commands (Click)
│   ├── db.py         # SQLite data layer
│   ├── ui.py         # Rich terminal UI components
│   ├── heatmap.py    # GitHub-style heatmap renderer
│   ├── quotes.py     # Motivational quotes
│   └── export.py     # TXT / JSON export
├── tests/
│   └── test_core.py  # Unit tests
├── pyproject.toml    # Package config & metadata
├── requirements.txt  # Dependencies
├── LICENSE           # MIT
└── README.md

🗄 Data Storage

All data is stored locally in ~/.devpulse/devpulse.db (SQLite).
No network requests, no accounts, no telemetry.


🧪 Running Tests

pip install pytest pytest-cov
pytest -v
pytest --cov=devpulse --cov-report=term-missing

📦 Publishing to PyPI

1. Set up accounts

2. Update metadata

Edit pyproject.toml — update name, authors, urls.

3. Build the package

python -m build

This creates dist/devpulse_cli-1.0.0.tar.gz and dist/devpulse_cli-1.0.0-py3-none-any.whl.

4. Test on TestPyPI first (optional but recommended)

twine upload --repository testpypi dist/*
pip install --index-url https://test.pypi.org/simple/ devpulse-cli

5. Publish to PyPI

twine upload dist/*

🤝 Contributing

  1. Fork the repo
  2. Create a feature branch: git checkout -b feat/your-feature
  3. Commit your changes: git commit -m "feat: add your feature"
  4. Push and open a Pull Request

📄 License

MIT © Your Name


Made with ❤️ and ☕ — Keep shipping! 🚀

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

raj_devpulse_cli-1.0.1.tar.gz (16.8 kB view details)

Uploaded Source

Built Distribution

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

raj_devpulse_cli-1.0.1-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file raj_devpulse_cli-1.0.1.tar.gz.

File metadata

  • Download URL: raj_devpulse_cli-1.0.1.tar.gz
  • Upload date:
  • Size: 16.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for raj_devpulse_cli-1.0.1.tar.gz
Algorithm Hash digest
SHA256 d4967fca629bad38cd7492291b3c920666bd81d5341383824c16898b308da144
MD5 d5d7f736e895542a5567b22f21aae9b5
BLAKE2b-256 aa60e0c563bd3d749287a06db4a3636b0933ae3508c7f81a9dfdde88ca9eb33c

See more details on using hashes here.

File details

Details for the file raj_devpulse_cli-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for raj_devpulse_cli-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 498ad9bd5ff3e8185cdca0a9ac43722518b90a56c020b6031f57645f52bf5694
MD5 1b18a72815d2057af6afc8a6c6b89e52
BLAKE2b-256 df5a6cc4cc1222cf7e3d7d566425c1918c4271aa5be4fb7c2eaefe2c3a6f793e

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