studylife-cli
A command-line client for StudyLife, the self-hosted study organizer. Manage notes, sessions, course goals, and webhooks from your terminal - 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 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
Add --json to any command for machine-readable output:
studylife notes list --json | jq '.[] | .title'
Development
uv sync
uv run pytest
uv run ruff check .
uv run ruff format --check .
License
AGPL-3.0
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 studylife_cli-1.4.0.tar.gz.
File metadata
- Download URL: studylife_cli-1.4.0.tar.gz
- Upload date:
- Size: 45.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39ca193781432112878dec4f0528922355d5ce0668a532e0010e56c13c160dcd
|
|
| MD5 |
9f940ad5406a0665ec8b94cde639be61
|
|
| BLAKE2b-256 |
c04d7ff57d16599576af7f44f0edd049f072806e078c6094e6f7b530e43e5502
|
Provenance
The following attestation bundles were made for studylife_cli-1.4.0.tar.gz:
Publisher:
ci.yml on lukislp/studylife-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
studylife_cli-1.4.0.tar.gz -
Subject digest:
39ca193781432112878dec4f0528922355d5ce0668a532e0010e56c13c160dcd - Sigstore transparency entry: 2654022834
- Sigstore integration time:
-
Permalink:
lukislp/studylife-cli@ddf3aeb783b44065c4334e22159e2d03b90c4e32 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/lukislp
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@ddf3aeb783b44065c4334e22159e2d03b90c4e32 -
Trigger Event:
push
-
Statement type:
File details
Details for the file studylife_cli-1.4.0-py3-none-any.whl.
File metadata
- Download URL: studylife_cli-1.4.0-py3-none-any.whl
- Upload date:
- Size: 29.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9056fbc04716e8bc964fab423ba9595d68a46cc348a6b94cfb7c65785659da09
|
|
| MD5 |
93b4b71a65eeeee53ee2604f968620a2
|
|
| BLAKE2b-256 |
eef9b8cff25136d5bfa8f8b22c79f1deec77e949da31c8633726d6c70a2e05e4
|
Provenance
The following attestation bundles were made for studylife_cli-1.4.0-py3-none-any.whl:
Publisher:
ci.yml on lukislp/studylife-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
studylife_cli-1.4.0-py3-none-any.whl -
Subject digest:
9056fbc04716e8bc964fab423ba9595d68a46cc348a6b94cfb7c65785659da09 - Sigstore transparency entry: 2654023085
- Sigstore integration time:
-
Permalink:
lukislp/studylife-cli@ddf3aeb783b44065c4334e22159e2d03b90c4e32 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/lukislp
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@ddf3aeb783b44065c4334e22159e2d03b90c4e32 -
Trigger Event:
push
-
Statement type: