Command line script to download headspace packs, singles or everyday meditation.
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 pyheadspaceRun and enter login credentials.
headspace loginIf you use other form of authentication like google(do not have username and password), you could follow these steps
# 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 15Exclude 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.txtThis would download all packs except the ones in links.txt file
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
-a --author INTEGER The author ID that you\'d like to get the audio from.
You can get the author ID from a few places, including
input label you find when inspecting element on the pack
page.
--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.
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 15Options:
--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.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-20Options
--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.
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
