CLI project tracker with CSV-backed logs
Project description
Improve — CLI Project Tracker
Improve is a small, single-file CLI application (with supporting modules under src/) to help you track progress on projects using CSV-backed project logs. It provides simple user setup, per-project CSV tracking, quick reporting and export functionality.
Features
- User setup: create, update, and logout a local user account (
setupcommands). - Project management: create, list, delete projects and add daily entries (
projectcommands). - Entry tracking: each project is stored as a CSV under
tracking/with columns Day, Date, Progress, Productivity Level, Feedback. - Feedback & view: fetch recent feedback entries or show recent rows for a project.
- Export: copy all tracking CSV files to a
backup/folder.
Quick Links
- Main CLI entry: improve.py
- Core project logic: src/project.py
- User/setup utilities: src/setup.py
- Export helper: src/export.py
- First-run helper text: src/helpers.py
- Legacy project helper: src/add_project.py
Requirements
- Python 3.9+ (
requires-pythonin pyproject.toml; uses standard library features such asdataclassesandpathlib). - No third-party runtime dependencies. The package is defined in pyproject.toml; requirements.txt only lists standard-library modules for reference and is not used by pip.
Install with pip
Firstly, make sure pip is updated and present in PATH
pip install improve-cli
From a clone of this repository (recommended: use a virtual environment):
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install .
After install, the improve console script is on your PATH (same commands as python improve.py below).
For local development (changes to improve.py or src/ apply without reinstalling):
pip install -e .
Build from source
Build sdist and wheel artifacts into dist/ (requires build once per environment):
python3 -m venv .venv
source .venv/bin/activate
pip install build
python -m build
Outputs:
dist/improve_cli-0.2.1.tar.gz— source distributiondist/improve_cli-0.2.1-py3-none-any.whl— installable wheel
Install the wheel locally:
pip install dist/improve_cli-0.2.1-py3-none-any.whl
Run without installing
Clone the repo, create a venv if you like, and invoke the entry module directly:
python improve.py --help
Running the CLI
- Basic help:
improve --help
# or: python improve.py --help
- Setup a user account (interactive):
improve setup login
- Sign out and clear local user data:
improve setup logout
- Update username or password:
improve setup update --username
improve setup update --password
- Create a project:
improve project create MyProject
- Add an entry to a project:
improve project add-entry MyProject --day "Day 1" --date "2026-05-28" --progress "Started" --productivity "7" --feedback "Good start"
- List projects:
improve project list
- Show recent entries for a project:
improve project show MyProject --last 10
- Get recent feedback entries:
improve project feedback MyProject --last 5
- Export all tracking CSVs to
backup/:
improve export
Storage & File Layout
- Tracking CSVs and user info are stored in the
tracking/directory. Example files:tracking/MyProject.csv— per-project CSV with headerDay,Date,Progress,Productivity Level,Feedbacktracking/user_info.json— stores a small JSON object withuser_exists,user_name, andpassword.
Notes & Behavior
- The CLI is implemented in
improve.pyand delegates commands to modules insrc/. - Password validation enforces a minimum length and requires digits, alphabetic, uppercase, lowercase and a special character (see
src/setup.py). - The
add-projectcommand is retained for backward compatibility butproject createis preferred.
Development & Contribution
- Use
pip install -e .and runimprove, or runpython improve.pywithout installing. - Rebuild distributables with
python -m buildafter packaging changes. - The codebase is small and intended as a learning/demo project. Contributions or issues can be opened against the original upstream repository referenced in the code comments.
License
This project is licensed under MIT License.
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 improve_cli-0.2.2.tar.gz.
File metadata
- Download URL: improve_cli-0.2.2.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fbcabba7c5ec6496c170c5346277885537c653f9f1b4b126f8e2d52a965f879d
|
|
| MD5 |
e366d42ce1d6f0c3aed00a629fa43db7
|
|
| BLAKE2b-256 |
27559d99a2a4add19e54ef189a994f2ff00dce6b67cd3b6638622193a29bce5d
|
Provenance
The following attestation bundles were made for improve_cli-0.2.2.tar.gz:
Publisher:
pypi.yml on harshit-malik25813/Improve
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
improve_cli-0.2.2.tar.gz -
Subject digest:
fbcabba7c5ec6496c170c5346277885537c653f9f1b4b126f8e2d52a965f879d - Sigstore transparency entry: 1808034844
- Sigstore integration time:
-
Permalink:
harshit-malik25813/Improve@c69757378b1e268dda90cb6d6ed3b33b55be8116 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/harshit-malik25813
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@c69757378b1e268dda90cb6d6ed3b33b55be8116 -
Trigger Event:
release
-
Statement type:
File details
Details for the file improve_cli-0.2.2-py3-none-any.whl.
File metadata
- Download URL: improve_cli-0.2.2-py3-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1311484cc2eaf2d3b8785ec2fe971de5cf596df9de0c8a3f318b96295a85a645
|
|
| MD5 |
830498c5507489e6374c4b0a4dafd318
|
|
| BLAKE2b-256 |
74cd2d9fc3b8118fad7a4c6d058ecdc7186d6059538f1913c596b8d6064583dc
|
Provenance
The following attestation bundles were made for improve_cli-0.2.2-py3-none-any.whl:
Publisher:
pypi.yml on harshit-malik25813/Improve
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
improve_cli-0.2.2-py3-none-any.whl -
Subject digest:
1311484cc2eaf2d3b8785ec2fe971de5cf596df9de0c8a3f318b96295a85a645 - Sigstore transparency entry: 1808034893
- Sigstore integration time:
-
Permalink:
harshit-malik25813/Improve@c69757378b1e268dda90cb6d6ed3b33b55be8116 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/harshit-malik25813
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@c69757378b1e268dda90cb6d6ed3b33b55be8116 -
Trigger Event:
release
-
Statement type: