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

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 .

Install a built wheel without cloning:

pip install dist/improve_cli-0.1.0-py3-none-any.whl

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.

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.1.0.tar.gz (8.9 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.1.0-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: improve_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 8.9 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.1.0.tar.gz
Algorithm Hash digest
SHA256 17352932b48b925952550af4bcd6e711be8d58056168f4d0f338e128c936ac45
MD5 d6f85902b84f2fd6ecec369b53d81747
BLAKE2b-256 69fecbf60b805e0dd9d9a8421fe0fd1bc6ef31d2b38f1adcc6edb121f7cc9293

See more details on using hashes here.

File details

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

File metadata

  • Download URL: improve_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.6 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b080a4b384ae84c88f955744f74d1ff48158affb001b61f8c667477f04c8f4fd
MD5 39dd26bde8294926dc9d90cd5c313bc7
BLAKE2b-256 5ae0e7480c1c862c54a75a65b5cb1f28b2619c12fdeeb07d2afe39efacbdce4e

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