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.2.tar.gz (9.2 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.2-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

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

Hashes for improve_cli-0.2.2.tar.gz
Algorithm Hash digest
SHA256 fbcabba7c5ec6496c170c5346277885537c653f9f1b4b126f8e2d52a965f879d
MD5 e366d42ce1d6f0c3aed00a629fa43db7
BLAKE2b-256 27559d99a2a4add19e54ef189a994f2ff00dce6b67cd3b6638622193a29bce5d

See more details on using hashes here.

Provenance

The following attestation bundles were made for improve_cli-0.2.2.tar.gz:

Publisher: pypi.yml on harshit-malik25813/Improve

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for improve_cli-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1311484cc2eaf2d3b8785ec2fe971de5cf596df9de0c8a3f318b96295a85a645
MD5 830498c5507489e6374c4b0a4dafd318
BLAKE2b-256 74cd2d9fc3b8118fad7a4c6d058ecdc7186d6059538f1913c596b8d6064583dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for improve_cli-0.2.2-py3-none-any.whl:

Publisher: pypi.yml on harshit-malik25813/Improve

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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