Command line script to download packs and singles from Headspace.
Project description
pyHeadspace
Python command line script to download headspace packs, singles or everyday headspace OR download all packs at once.
Installation
Install with pip
pip install pyheadspace
Install latest version
pip install git+https://github.com/yashrathi-git/pyHeadspace.git
Edit source code
- Clone this repo:
git clone https://github.com/yashrathi-git/pyHeadspace
- Navigate to the cloned folder.
- To install run:
pip install --editable .
Setup
For older version(1.x.x) setup instructions visit this link
Run and enter login credentials.
headspace login
Usage
Login
headspace login
Download all packs at once
# Download all packs of duration 15 minutes
headspace pack --all --duration 15
# Download all packs of duration 10,20 minutes
headspace pack --all --duration "[10,20]"
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/packs/5
https://my.headspace.com/packs/6
command
headspace packs --all --exclude links.txt
This would download all packs except the ones in links.txt
file
Downloading Headspace pack
headspace pack <URL> [Options]
It expects URL in format https://my.headspace.com/packs/<int>
BASIC USAGE
# Download with all session of duration 15 minutes
headspace pack https://my.headspace.com/packs/33 --duration 15
# Download sessions of multiple duration
headspace pack https://my.headspace.com/packs/33 --duration "[20, 15, 10]"
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 <URL> [options]
It expects URL in format https://my.headspace.com/play/<int>
BASIC USAGE
headspace download https://my.headspace.com/play/520 --duration 15
# Download sessions of multiple durations
headspace download https://my.headspace.com/play/520 --duration "[15,20]"
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]
How to get your user id?
- Go to https://my.headspace.com/everyday-headspace/info
- Open developer tools using
Ctrl + Shift + I
orCommand + Shift + C
- Go to network tab and reload the webpage
- Find a GET request made to URL: https://api.prod.headspace.com/content/view-models/everyday-headspace-banner
- You would find your userId as query parameter in the URL.
BASIC USAGE
# Downloads today's meditation
headspace everyday --userid <YOUR USER ID>
# Download everyday meditation of specific time period.
# DATE FORMAT: yyyy-mm-dd
headspace everyday --from 2021-03-01 --to 2021-03-20 --userid <YOUR USER ID>
Options
--userid TEXT
--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.
Project details
Release history Release notifications | RSS feed
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
Hashes for pyheadspace-2.0.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b4b73dd5e9ddeeb49fd4872798e3709f0665d62749134051d8c9285ca625098 |
|
MD5 | 599ec6c06befacef64bd03bccf96d978 |
|
BLAKE2b-256 | 3bd00581f2dc592df25edefcde6da823d78a72507fc780bdd228b78d597b7253 |