A terminal study streak tracker with Chrome focus sync.
Project description
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
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:
- Open
chrome://extensions - Turn on
Developer mode - Click
Load unpacked - Choose the
chrome_extensionfolder
Firefox or Zen:
- Build the Firefox/Zen extension folder:
python scripts/build_firefox_extension.py
- Open
about:debugging#/runtime/this-firefox - Click
Load Temporary Add-on - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6849ddfb4cdd36d1c39fd9f45d02f9e743aaa5f4a30095f28c4dd68be208e185
|
|
| MD5 |
ffa0cd5973f64bd7e66936552e0a00df
|
|
| BLAKE2b-256 |
cd6bbe1088292e2d0714e451f78e13ad5a894173fd683b9a9c66dd511076f637
|
Provenance
The following attestation bundles were made for studystreak-0.1.7.tar.gz:
Publisher:
publish.yml on Chi-ChunL/StudyStreak
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
studystreak-0.1.7.tar.gz -
Subject digest:
6849ddfb4cdd36d1c39fd9f45d02f9e743aaa5f4a30095f28c4dd68be208e185 - Sigstore transparency entry: 1810462320
- Sigstore integration time:
-
Permalink:
Chi-ChunL/StudyStreak@68fc346b23a5c83b553410ddb443c7a631f0e03e -
Branch / Tag:
refs/tags/v0.1.7 - Owner: https://github.com/Chi-ChunL
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@68fc346b23a5c83b553410ddb443c7a631f0e03e -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4cb2b435f0613f168c1b58fb7ec710c9cca6ecebcba12bc370a2aa9a413fd132
|
|
| MD5 |
4a76f3749c43060d13f1d2d512adcdff
|
|
| BLAKE2b-256 |
247c3505e936393205fb719982a21234c5f5191a5217626096e5cde0c1bd5c06
|
Provenance
The following attestation bundles were made for studystreak-0.1.7-py3-none-any.whl:
Publisher:
publish.yml on Chi-ChunL/StudyStreak
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
studystreak-0.1.7-py3-none-any.whl -
Subject digest:
4cb2b435f0613f168c1b58fb7ec710c9cca6ecebcba12bc370a2aa9a413fd132 - Sigstore transparency entry: 1810462361
- Sigstore integration time:
-
Permalink:
Chi-ChunL/StudyStreak@68fc346b23a5c83b553410ddb443c7a631f0e03e -
Branch / Tag:
refs/tags/v0.1.7 - Owner: https://github.com/Chi-ChunL
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@68fc346b23a5c83b553410ddb443c7a631f0e03e -
Trigger Event:
release
-
Statement type: