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

Uploaded Python 3

File details

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

File metadata

  • Download URL: raj_devpulse_cli-1.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 cbc5dac26361242935b58e91ad7dc4989d75731f5a62d5276e53ce4078784fd6
MD5 268e8f7aaeeb281ffe8cda5da05b8ffb
BLAKE2b-256 d5621bc680d374e62488156b371eb65af7e1ac355aec9140c4d0008dc5380774

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for raj_devpulse_cli-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 84cd778b15337ced47bd1fee38c8c9aec87c3ab5563e247005ac41df1fd08f4a
MD5 7e999eb4a86cd47b17f4c0bb0d373d39
BLAKE2b-256 058ede93ff0322b3fd7906b771968730e30d6ac0ac8c7ab63b0fa503d0786213

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