Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yashrathi-git/headspace-cli
A complete command line interface for Headspace, enabling direct access to meditation sessions from the command line.
https://github.com/yashrathi-git/headspace-cli
command-line download headspace headspace-dl headspace-download offline pypi python python-cli
Last synced: 12 days ago
JSON representation
A complete command line interface for Headspace, enabling direct access to meditation sessions from the command line.
- Host: GitHub
- URL: https://github.com/yashrathi-git/headspace-cli
- Owner: yashrathi-git
- License: mit
- Created: 2021-04-01T16:05:24.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-07-26T11:46:36.000Z (4 months ago)
- Last Synced: 2024-09-15T12:29:05.532Z (about 2 months ago)
- Topics: command-line, download, headspace, headspace-dl, headspace-download, offline, pypi, python, python-cli
- Language: Python
- Homepage: https://pypi.org/project/pyheadspace/
- Size: 274 KB
- Stars: 95
- Watchers: 6
- Forks: 14
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# headspace-cli
[![PyPI version](https://badge.fury.io/py/pyheadspace.svg)](https://badge.fury.io/py/pyheadspace)Command line script to download headspace packs, singles or everyday meditation.
- [👶 Dependencies](#-dependencies)
- [🛠️ Installation](#️-installation)
- [⚙️ Setup](#️-setup)
- [🚀 Usage](#-usage)## 👶 Dependencies
* [Python 3.7 or higher](https://www.python.org/downloads/)## 🛠️ Installation
```sh
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 using `export PATH="$HOME/.local/bin:$PATH"` command.**OR install with [pipx](https://github.com/pypa/pipx)**
```sh
pipx install pyheadspace
```### This tool is only meant for personal use. Do not use this for piracy!
## ⚙️ SetupRun and enter login credentials.
```sh
headspace login
```
If you use other form of authentication like google(do not have username and password), you could follow
[these steps](https://github.com/yashrathi-git/pyHeadspace/blob/main/manual_setup.md)
## 🚀 Usage
## Download all packs at once
```sh
# 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**
```sh
headspace packs --all --exclude links.txt
```
This would download all packs except the ones in `links.txt` file## Downloading specific pack
```sh
headspace pack [Options]
```
**BASIC USAGE**
```sh
# 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:**
```sh
--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.```
## Download single session
```sh
headspace download [options]
```
**BASIC USAGE**
```sh
$ headspace download https://my.headspace.com/player/204?authorId=1&contentId=151&contentType=COURSE&mode=meditate&trackingName=Course&startIndex=1 --duration 15
```
**Options:**
```sh
--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
```sh
headspace everyday [OPTIONS]
```**BASIC USAGE**
```sh
# 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-BRTo 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](https://github.com/yashrathi-git/pyHeadspace)**