⚡ Terminal-based developer productivity tracker — streaks, sessions, heatmaps & more.
Project description
⚡ DevPulse
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
- Create account at https://pypi.org
- Install tools:
pip install build twine
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
- Fork the repo
- Create a feature branch:
git checkout -b feat/your-feature - Commit your changes:
git commit -m "feat: add your feature" - Push and open a Pull Request
📄 License
MIT © Your Name
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4967fca629bad38cd7492291b3c920666bd81d5341383824c16898b308da144
|
|
| MD5 |
d5d7f736e895542a5567b22f21aae9b5
|
|
| BLAKE2b-256 |
aa60e0c563bd3d749287a06db4a3636b0933ae3508c7f81a9dfdde88ca9eb33c
|
File details
Details for the file raj_devpulse_cli-1.0.1-py3-none-any.whl.
File metadata
- Download URL: raj_devpulse_cli-1.0.1-py3-none-any.whl
- Upload date:
- Size: 16.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
498ad9bd5ff3e8185cdca0a9ac43722518b90a56c020b6031f57645f52bf5694
|
|
| MD5 |
1b18a72815d2057af6afc8a6c6b89e52
|
|
| BLAKE2b-256 |
df5a6cc4cc1222cf7e3d7d566425c1918c4271aa5be4fb7c2eaefe2c3a6f793e
|