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

Uploaded Python 3

File details

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

File metadata

  • Download URL: raj_devpulse_cli-1.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 6f6119b78730a30b3a3fa9c1482bb5eb052d3a3520b388b01a66a0a33135c625
MD5 2f37847f2b267d09d5a5f29f56b7b5ff
BLAKE2b-256 2698d3246b8aa8f7e6c15c486ecc3bbe050f0aec8f4c2364e6358c259945b097

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for raj_devpulse_cli-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9def0094a9b23b33de0c7884371009f51827688161dfcaa770df1331d2837c26
MD5 b29c7766a36b5f0c0001f84a0dbbde55
BLAKE2b-256 e9de178c6b4ab85a34fd65310457cc8b9cdcca6283128ae555312a026bb4f6c5

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