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. Open about:debugging#/runtime/this-firefox
  2. Click Load Temporary Add-on
  3. Choose chrome_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.6.tar.gz (921.5 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.6-py3-none-any.whl (917.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: studystreak-0.1.6.tar.gz
  • Upload date:
  • Size: 921.5 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.6.tar.gz
Algorithm Hash digest
SHA256 2c3dada88ffe144be050e3d30190ed24e4b1d749c22d273c643463cf2362ebf9
MD5 c246a908b95f2ebca798801671061195
BLAKE2b-256 adb9525725a47c0d9949a830e0023d6219e83075c2ca2abb23c919820de49037

See more details on using hashes here.

Provenance

The following attestation bundles were made for studystreak-0.1.6.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.6-py3-none-any.whl.

File metadata

  • Download URL: studystreak-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 917.9 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 fd19e1e6c480f2201e57ffea8d78c0c26b1c4bd5a7a853295d5a1570a87ccf39
MD5 f953a4b960d5be03045f5acbbee4d4cf
BLAKE2b-256 5734e8fe449868718602ba6b86c9285b936237412bb8b5ee7e809213bd10e354

See more details on using hashes here.

Provenance

The following attestation bundles were made for studystreak-0.1.6-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