Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rpakishore/jiosaavndownloader
Python wrapper to download offline copy of Jiosaavn files using unofficial API
https://github.com/rpakishore/jiosaavndownloader
Last synced: about 2 months ago
JSON representation
Python wrapper to download offline copy of Jiosaavn files using unofficial API
- Host: GitHub
- URL: https://github.com/rpakishore/jiosaavndownloader
- Owner: rpakishore
- License: mit
- Created: 2023-12-09T00:14:28.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-07-13T21:16:07.000Z (5 months ago)
- Last Synced: 2024-10-11T09:34:57.227Z (2 months ago)
- Language: Python
- Size: 501 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![GitHub commit activity](https://img.shields.io/github/commit-activity/m/rpakishore/JiosaavnDownloader)
![GitHub last commit](https://img.shields.io/github/last-commit/rpakishore/JiosaavnDownloader)Table of Contents
- [1. About the Project](#1-about-the-project)
- [1.1. Features](#11-features)
- [2. Getting Started](#2-getting-started)
- [2.1. Prerequisites](#21-prerequisites)
- [2.2. Installation](#22-installation)
- [3. Usage](#3-usage)
- [4. Roadmap](#4-roadmap)
- [5. License](#5-license)
- [6. Contact](#6-contact)
- [7. Acknowledgements](#7-acknowledgements)## 1. About the Project
### 1.1. Features
- Currently uses free saavn.me api endpoints, additional endpoints can easily be added.
- Holds memory of previously downloaded files to prevent re-downloads.
- Can handle individual songs and playlists
- Can send download notifications through gotify## 2. Getting Started
### 2.1. Prerequisites
python 3.11+
### 2.2. Installation
Clone repo and install with flit
```bash
git clone https://github.com/rpakishore/JiosaavnDownloader.git
cd JiosaavnDownloader
pip install flit
flit install --deps production
```Alternatively, download the release and install with pip
```bash
pip install jiosaavn-0.0.1-py2.py3-none-any.whl
```## 3. Usage
Can be used as python package or through cli.
Copy `config.example.toml` to `config.toml` and edit accordingly
For cli, try
```bash
app --help
```For python package
```python
#Initialize
from jiosaavn import JiosaavnDownload
from jiosaavn.API import SaavnMe#Choose the database filepath & Final music location
saavn = JiosaavnDownload(cache_filepath='database.pkl', final_location='Y:\\Music')
#Choose downloader
saavn.set_downloader(downloader=SaavnMe())
#Can set Gotify Notifications; Can skip if not needed; Will prompt for API Key on first run.
saavn.GOTIFY_CHANNEL = "Media"
#Download song, skip if previously downloaded
saavn.song(url='https://www.jiosaavn.com/song/houdini/OgwhbhtDRwM', skip_downloaded=True)
#Download all songs in playlists
playlists = [
'109815423', #Top Kuthu - Tamil
'799619460', #Tamil EDM,
'1134651042', #Tamil: India Superhits Top 50
'80802063', #Tamil Viral Hits
'109118539', #Motivational Hits - Tamil
'83412571', #Workout Beats - Tamil
'837803163', #Chill Hits - Tamil,
'696005328', #House Party - Tamil
'67691546', #Semma Mass - Tamil
'1134705865', #Malayalam: India Superhits Top 50
]
for playlist in playlists:
saavn.playlist(id=playlist)
```## 4. Roadmap
- [ ] Additional endpoints
## 5. License
See LICENSE.txt for more information.
## 6. Contact
Arun Kishore - [@rpakishore](mailto:[email protected])
Project Link: [https://github.com/rpakishore/JiosaavnDownloader](https://github.com/rpakishore/JiosaavnDownloader)
## 7. Acknowledgements
- [saavn.dev](https://github.com/sumitkolhe/jiosaavn-api)