Skip to main content

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 (setup commands).
  • Project management: create, list, delete projects and add daily entries (project commands).
  • 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

Requirements

  • Python 3.9+ (requires-python in pyproject.toml; uses standard library features such as dataclasses and pathlib).
  • 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.1.0.tar.gz — source distribution
  • dist/improve_cli-0.1.0-py3-none-any.whl — installable wheel

Install the wheel locally:

pip install dist/improve_cli-0.1.0-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 header Day,Date,Progress,Productivity Level,Feedback
    • tracking/user_info.json — stores a small JSON object with user_exists, user_name, and password.

Notes & Behavior

  • The CLI is implemented in improve.py and delegates commands to modules in src/.
  • Password validation enforces a minimum length and requires digits, alphabetic, uppercase, lowercase and a special character (see src/setup.py).
  • The add-project command is retained for backward compatibility but project create is preferred.

Development & Contribution

  • Use pip install -e . and run improve, or run python improve.py without installing.
  • Rebuild distributables with python -m build after 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

improve_cli-0.2.0.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

improve_cli-0.2.0-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

Details for the file improve_cli-0.2.0.tar.gz.

File metadata

  • Download URL: improve_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for improve_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a38ec65b3b1e843d80f47efa19f508649b93962ca7ae434b125b8f080b019e9d
MD5 374e041a401096ee610fa190eafd5c24
BLAKE2b-256 e77adb06c538ccc0a7ed087c1ec6f8a10886a442b0a99118276c4031f307df96

See more details on using hashes here.

File details

Details for the file improve_cli-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: improve_cli-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for improve_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ee09c390ee003332740c759cb5b7e3c7f37cc4fc13474ce76ef22998037ceb9c
MD5 ed9b5763888207cc445d3092c3f54172
BLAKE2b-256 2aeac5014f02b95f66be9e111797d6581b6d7b260cf49cceb0643b7dffe71caa

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