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.2.1.tar.gz — source distribution
  • dist/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 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.1.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.1-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: improve_cli-0.2.1.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.1.tar.gz
Algorithm Hash digest
SHA256 412900dd1c741e49f310fecd607430412b716e2e824b8d7d6fd99a47e73465a2
MD5 b2f5a092bbc832082856ec9166808baa
BLAKE2b-256 ddc5eab1e89e44a566f28e73b9948ef358726fca9b5f7ca9b90abe00f32c0da2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: improve_cli-0.2.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cf37bc89a67443483df69e28ef1522ca28fb1d2f2f3f27bd34708b38f2c0f22f
MD5 2de81cc882bd2c4c14dad10d08e2fc6f
BLAKE2b-256 155006dccf1e793c297558f89b4fd9974c025c47ad84bedbde25d021b5fe42f5

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