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/givemehat/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 © Rajnish Singh


Stop consuming. Start building. 🚀

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.4.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.4-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: raj_devpulse_cli-1.0.4.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.4.tar.gz
Algorithm Hash digest
SHA256 76e64f538b7a41f12e0ed052d396267f38469600a7c7804294fe011dc0d12ab8
MD5 ebb1ee3cee22416028de7d2dc7c14f08
BLAKE2b-256 60ab7475c4d7defb70ec019cc03131e8b6869624206252a0a6f6d2939c6e76de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for raj_devpulse_cli-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 42057f767e770ccad30373a1b9f9ec2e665b7e437e16f1d47fb9f617e39db9e7
MD5 4098eb7cb89dd3e7d1e738fa7754811d
BLAKE2b-256 598553ccf8bfe74a5142487e3254c2f5e00c45fa53dd34a234a92cd358e7ed4c

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