Command line script to download packs and singles from Headspace.
Project description
headspace-cli
Command line script to download headspace packs, singles or everyday meditation.
👶 Dependencies
🛠️ Installation
pip install --upgrade pyheadspace
- If installing using
pip install --user
, you must add the user-level bin directory to your PATH environment variable in order to use pyheadspace. If you are using a Unix derivative (FreeBSD, GNU / Linux, OS X), you can achieve this by usingexport PATH="$HOME/.local/bin:$PATH"
command.
OR install with pipx
pipx install pyheadspace
This tool is only meant for personal use. Do not use this for piracy!
⚙️ Setup
Run and enter login credentials.
headspace login
If you use other form of authentication like google(do not have username and password), you could follow these steps
🚀 Usage
Download all packs at once
# Download all packs with each session of duration 15 minutes
headspace pack --all --duration 15
# Download all packs with session duration of 10 & 20 minutes
headspace pack --all --duration 10 --duration 15
Exclude specific packs from downloading:
To exclude specific packs from downloading use --exclude
option.
It expects location of text file for links of packs to exclude downloading. Every link should be on separate line.
links.txt:
https://my.headspace.com/modes/meditate/content/154
https://my.headspace.com/modes/meditate/content/150
command
headspace packs --all --exclude links.txt
This would download all packs except the ones in links.txt
file
Downloading specific pack
headspace pack <PACK_URL> [Options]
BASIC USAGE
# Download with all session of duration 15 minutes
headspace pack https://my.headspace.com/modes/meditate/content/151 --duration 15
# Download sessions of multiple duration
headspace pack https://my.headspace.com/modes/meditate/content/151 -d 20 -d 15
Options:
--id INTEGER ID of video.
-d, --duration TEXT Duration or list of duration
--no_meditation Only download meditation session without techniques
videos.
--no_techniques Only download techniques and not meditation sessions.
--out TEXT Download directory
--all Downloads all headspace packs.
-e, --exclude TEXT Use with `--all` flag. Location of text file with links
of packs to exclude downloading. Every link should be
on separate line.
--help Show this message and exit.
Download single session
headspace download <SESSION_URL> [options]
BASIC USAGE
$ headspace download https://my.headspace.com/player/204?authorId=1&contentId=151&contentType=COURSE&mode=meditate&trackingName=Course&startIndex=1 --duration 15
Options:
--out TEXT Download directory.
--id INTEGER ID of the video. Not required if URL is provided.
-d, --duration Duration or list of duration
--help Show this message and exit.
Download everyday meditations
headspace everyday [OPTIONS]
BASIC USAGE
# Downloads today's meditation
headspace everyday
# Download everyday meditation of specific time period.
# DATE FORMAT: yyyy-mm-dd
headspace everyday --from 2021-03-01 --to 2021-03-20
Options
--from TEXT Start download from specific date. DATE-FORMAT=>yyyy-
mm-dd
--to TEXT Download till a specific date. DATE-FORMAT=>yyyy-mm-dd
-d, --duration TEXT Duration or list of duration
--out TEXT Download directory
--help Show this message and exit.
Changing Language Preference
By default the language is set to english. You could change to other languages supported by headspace. Other Languages:
- de-DE
- es-ES
- fr-FR
- pt-BR
To change the language modify the environment variable HEADSPACE_LANG
and set the value to the langauge code.
- For fish/bash shell
export HEADSPACE_LANG="fr-FR"
- Powershell
$env:DESIRED_LANGUAGE="fr-FR"
If you encounter any issue or bug, open a new issue on github