Skip to main content

A terminal study streak tracker with Chrome focus sync.

Project description

StudyStreak banner

StudyStreak

StudyStreak is a terminal study tracker that helps students build consistent study habits. It includes streak tracking, session logging, timetable planning, focus mode, achievements, leaderboard sync, and a Chrome companion extension for focus-quality tracking.

Preview

StudyStreak dashboard screenshot

Install

StudyStreak requires Python 3.10 or newer.

pip install studystreak

Open the app:

studystreak ui

Features

  • Track daily study streaks
  • Log study sessions by subject
  • Plan timetable sessions
  • Use Focus Mode to time study sessions
  • Track Chrome focus quality with the companion extension
  • Sync subjects, timetable sessions, streaks, and focus-quality summaries
  • View leaderboard streak rankings
  • Unlock achievements
  • Export and import focus-quality data as an offline fallback

Commands

studystreak ui
studystreak log maths 30
studystreak today
studystreak streak
studystreak create-user alex
studystreak login alex
studystreak logout
studystreak users

Browser Extension

The companion browser extension adds focus tracking. It can:

  • Start and stop focus sessions
  • Detect focused, distracted, and idle time
  • Sync focus-quality summaries to the app
  • Show today's timetable sessions
  • Send timetable reminders
  • Optionally enable Strict Focus to redirect distracting sites

To install it locally, clone this repository first:

git clone https://github.com/Chi-ChunL/StudyStreak.git

Chrome:

  1. Open chrome://extensions
  2. Turn on Developer mode
  3. Click Load unpacked
  4. Choose the chrome_extension folder

Firefox or Zen:

  1. Build the Firefox/Zen extension folder:
python scripts/build_firefox_extension.py
  1. Open about:debugging#/runtime/this-firefox
  2. Click Load Temporary Add-on
  3. Choose dist/firefox_extension/manifest.json

Temporary Firefox/Zen add-ons need to be loaded again after restarting the browser. A signed release will make this smoother later.

Cloud Sync

StudyStreak works locally without sync. Online account sync and leaderboard features require a StudyStreak backend account and server.

If you are running your own backend, set:

STUDYSTREAK_API_URL=https://your-backend-url

Development

Clone the repo:

git clone https://github.com/Chi-ChunL/StudyStreak.git
cd StudyStreak

Install locally:

pip install -e .

Run the app:

studystreak ui

Build the package:

python -m build

Privacy

StudyStreak stores local study data on your machine. Cloud sync only sends data needed for account sync, leaderboard streaks, timetable data, subject websites, and focus-quality summaries.

Status

StudyStreak is in early development. Expect improvements to setup, sync, packaging, and browser support over time.

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

studystreak-0.1.7.tar.gz (923.0 kB view details)

Uploaded Source

Built Distribution

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

studystreak-0.1.7-py3-none-any.whl (919.3 kB view details)

Uploaded Python 3

File details

Details for the file studystreak-0.1.7.tar.gz.

File metadata

  • Download URL: studystreak-0.1.7.tar.gz
  • Upload date:
  • Size: 923.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for studystreak-0.1.7.tar.gz
Algorithm Hash digest
SHA256 6849ddfb4cdd36d1c39fd9f45d02f9e743aaa5f4a30095f28c4dd68be208e185
MD5 ffa0cd5973f64bd7e66936552e0a00df
BLAKE2b-256 cd6bbe1088292e2d0714e451f78e13ad5a894173fd683b9a9c66dd511076f637

See more details on using hashes here.

Provenance

The following attestation bundles were made for studystreak-0.1.7.tar.gz:

Publisher: publish.yml on Chi-ChunL/StudyStreak

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

File details

Details for the file studystreak-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: studystreak-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 919.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for studystreak-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 4cb2b435f0613f168c1b58fb7ec710c9cca6ecebcba12bc370a2aa9a413fd132
MD5 4a76f3749c43060d13f1d2d512adcdff
BLAKE2b-256 247c3505e936393205fb719982a21234c5f5191a5217626096e5cde0c1bd5c06

See more details on using hashes here.

Provenance

The following attestation bundles were made for studystreak-0.1.7-py3-none-any.whl:

Publisher: publish.yml on Chi-ChunL/StudyStreak

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