studylife-cli
A command-line client for StudyLife, the self-hosted study organizer. Manage notes, sessions, course goals, and webhooks from your terminal, get study time reports and exports, or watch a live dashboard - scripts and shells welcome.
Install
pip install studylife-cli
(or pipx install studylife-cli to keep it in its own isolated environment)
Register the CLI on your instance
studylife-cli connects to your StudyLife instance through the same add-on mechanism any
third-party integration uses - there is no special-cased server support to set up. Register it
once via your own studylife-developers portal:
- Open your
studylife-developersinstance and go to Register new add-on. - Fill in:
- Client ID:
studylife-cli - Allowed redirect URIs (one per line):
http://127.0.0.1:8765/callback http://127.0.0.1:8766/callback http://127.0.0.1:8767/callback http://127.0.0.1:8768/callback - Scopes: whichever of notes/sessions/course-goals/timer/courses/study-programs/webhooks you want the CLI to be able to use.
- Client ID:
- Save.
Log in
studylife login https://studylife.example.com
This opens your browser to approve the connection, then stores a scoped API key locally at
~/.config/studylife-cli/credentials.json (owner-readable only, on POSIX).
Usage
studylife notes list
studylife notes search "exam"
studylife notes create "Title" "Content" --course-id 1
studylife sessions list
studylife sessions history --days 7
studylife sessions create 2026-08-30T14:00:00 --end 2026-08-30T15:00:00 --title "Focus block"
studylife goals list
studylife goals set 1 --target-ects 5
studylife goals due --within-days 14
studylife timer
studylife courses list
studylife programs list
studylife programs get 1
studylife webhooks list
studylife webhooks create https://example.com/hook session.completed
studylife webhooks delete 3
studylife report --period week
studylife export ./backup --notes-format markdown
studylife tui
Add --json to any command for machine-readable output:
studylife notes list --json | jq '.[] | .title'
studylife goals due- open goals with an upcoming (or overdue) target date, soonest first.studylife report- study time by course for the past week or month, plus streak/ECTS progress if the "Read metrics summary" scope is granted.studylife export- back up notes, sessions, course goals, courses, and study programs to local files (--notes-format json|markdown), independent of your instance operator's own backups.studylife tui- a live terminal dashboard (today's study time, running timer, next session, open goals), auto-refreshing every 15s.
Development
uv sync
uv run pytest
uv run ruff check .
uv run ruff format --check .
License
AGPL-3.0
Release files for studylife-cli 1.9.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| studylife_cli-1.9.9.tar.gz | 68.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| studylife_cli-1.9.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 105.8 kB
Release files / studylife_cli-1.9.9.tar.gz
| Download URL | studylife_cli-1.9.9.tar.gz |
|---|---|
| Size | 68.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
92bc6baf5e41836b1fb725e1c1727027906db1a3812367eaaaf6d5321c3048a6
|
|
BLAKE2b-256 checksum How to use checksums |
84294d4092d77d67345f27dd06e4167a15684f2633f41a82843b1485d4084fe0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / studylife_cli-1.9.9-py3-none-any.whl
| Download URL | studylife_cli-1.9.9-py3-none-any.whl |
|---|---|
| Size | 37.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
acab0d5b4c6eb78e9c288cb6dd32a43e33fb29178beea4140f299866ab4393d9
|
|
BLAKE2b-256 checksum How to use checksums |
896f4f336b199979a6d61bbbc0ab35f30273990e37349daa1bab5278966c5711
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency log