Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/reza00farjam/rjdl
Python package to download Music, Video, Album, Podcast & Playlists from www.RadioJavan.com
https://github.com/reza00farjam/rjdl
downloader music-downloader radiojavan radiojavan-downloader radiojavandonwloader
Last synced: 3 months ago
JSON representation
Python package to download Music, Video, Album, Podcast & Playlists from www.RadioJavan.com
- Host: GitHub
- URL: https://github.com/reza00farjam/rjdl
- Owner: reza00farjam
- License: mit
- Created: 2020-08-04T20:37:55.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-07-11T23:39:40.000Z (over 2 years ago)
- Last Synced: 2024-07-17T12:56:52.174Z (4 months ago)
- Topics: downloader, music-downloader, radiojavan, radiojavan-downloader, radiojavandonwloader
- Language: Python
- Homepage:
- Size: 6.73 MB
- Stars: 23
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rjdl
[![PyPI](https://img.shields.io/badge/pypi-v1.1.0-blue)](https://pypi.org/project/rjdl/) [![Python 3](https://img.shields.io/badge/python-3.10-blue)](https://pypi.org/project/rjdl/) [![Downloads](https://pepy.tech/badge/rjdl)](https://pepy.tech/project/rjdl) [![LICENSE](https://img.shields.io/badge/license-MIT-green)](https://github.com/reza00farjam/rjdl/blob/master/LICENSE) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/ea5df880a3fa4136824c887af12f4f38)](https://www.codacy.com/gh/reza00farjam/rjdl/dashboard?utm_source=github.com&utm_medium=referral&utm_content=reza00farjam/rjdl&utm_campaign=Badge_Grade) [![Documentation Status](https://readthedocs.org/projects/rjdl/badge/?version=latest)](https://rjdl.readthedocs.io/en/latest/?badge=latest)
* This package can be used in two different ways:
* If you want to use it as a downloader only, then you can simply use its CLI.
* But if you are a more advanced user and want to use this package in your projects, then you can import it in your project and you're good to go.
* With this package you will be able to save any **Music**, **Video (Music Video & RJ-TV Show)**, **Album**, **Podcast** and **Playlist** from [RadioJavan](https://www.radiojavan.com/) to your personal computer.
* *Podcasts* will be saved in **192 kbps** quality only, while you can choose between **256 kbps** and **320 kbps** for *Songs (Albums & Playlists as well)*, and **480p**, **720p** and **1080p** for *Videos* if available.
* If you are currently living in *Iran*, you need to turn on your **VPN** while using this package.## Installation
* Use `pip install rjdl` to install the latest release of the package. (Of course to be able to use *pip*, you need python to be installed and added to computer's path first)
* If you want to install the latest version directly from GitHub, then you can use this:
`pip install git+git://github.com/reza00farjam/rjdl`## Usage
### Command Line
The ```rjdl``` as a command, is a well behaved Unix style command line tool that provides you the following optional arguments to use based on the content of your url. You can also list them by running `rjdl -h` or `rjdl --help`:
```text
Usage: rjdl [OPTIONS] URLS...Download Music, Video, Album, Podcast & Playlists from Radio Javan
URLs: Links of desired media.
Options:
--version Show the version and exit.
-p, --path DIRECTORY Download path [default: (current working
directory)]
-m, --music-quality [256|320] Download quality on Music, Album and
Playlist URLs [default: 320]
-v, --video-quality [480|720|1080]
Download quality on Video URLs [default:
720]
-i, --info Only show info about the URL
-h, --help Show this message and exit.
```#### How it works
Simply, just pass rjdl a valid url along with your desired options for it and enjoy your download!
[Example](https://github.com/reza00farjam/rjdl/blob/61ffe179a944d196042071e7d2cefb26046c79e9/example.gif?raw=true).##### Another simple example
```bash
rjdl "https://www.radiojavan.com/mp3s/mp3/Yas-Nameyi-Be-Farzand"
```### Script
The rjdl as a package, provides enough class and methods to work with RadioJavan for your
development purposes. For a good understanding of what it does and how it works, you can take a look at
[rjdl documentation](https://rjdl.readthedocs.io/en/latest/).## Development Setup
To start developing rjdl, you need to install a recent version of python and pip and then run the following commands (for linux):
```bash
git clone https://github.com/reza00farjam/rjdl
cd rjdl
python3 -m venv .venv
source .venv/bin/activate
pip install -e .[dev]
```### Code Style
Keeping to a consistent code style throughout the project makes it easier to contribute and collaborate.
We enforce the following check for all PRs:
```bash
tox -e flake8
```## Contributing
* Contributions of all sizes are welcomed and precious. You can follow the steps below for this purpose:
* [Fork](https://github.com/reza00farjam/rjdl/fork) the repository.
* Make all the changes you want to see in the original repository.
* Push your changes to a new branch in your fork and [create a pull request](https://github.com/reza00farjam/rjdl/compare) along with an explanation of your changes.
* Also you can help us by [reporting bugs and sharing your ideas](https://github.com/reza00farjam/rjdl/issues/new).## Copyright & License
* Copyright (C) 2020-2021 Reza Farjam <>
* Licensed under the terms of the [MIT License](https://github.com/reza00farjam/rjdl/blob/master/LICENSE).