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 pyheadspace
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
# 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
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 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.
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.
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