awdible


Nameawdible JSON
Version 0.2.5 PyPI version JSON
download
home_pagehttps://alexandregazagnes.github.io/awdible/
SummaryAwdible - Just the best free version of audible
upload_time2024-02-22 15:52:23
maintainerAlexandreGazagnes
docs_urlNone
authorAlexandreGazagnes
requires_python>=3.8,<3.12.0
licenseGPL-3.0
keywords python music tool utils youtube
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![image](./docs/assets/img/image.png)
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
![Python](https://img.shields.io/badge/python-3.10.x-green.svg)
![Repo Size](https://img.shields.io/github/repo-size/AlexandreGazagnes/awdible)
[![PEP8](https://img.shields.io/badge/code%20style-pep8-orange.svg)](https://www.python.org/dev/peps/pep-0008/)
[![Poetry](https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json)](https://python-poetry.org/)
![Coverage](https://github.com/AlexandreGazagnes/awdible/blob/main/docs/assets/img/cov.svg?raw=true)
![Tests](https://github.com/AlexandreGazagnes/awdible/actions/workflows/tests.yaml/badge.svg)
![Statics](https://github.com/AlexandreGazagnes/awdible/actions/workflows/statics.yaml/badge.svg)
![Doc](https://github.com/AlexandreGazagnes/awdible/actions/workflows/docs.yaml/badge.svg)
![Pypi](https://github.com/AlexandreGazagnes/awdible/actions/workflows/publish.yaml/badge.svg)
![GitHub commit activity](https://img.shields.io/github/commit-activity/m/AlexandreGazagnes/awdible)

# Awdible - Just the best free version of audible

## About
Awdible is a free and open-source software, app and python package that allows you to download music from youtube and convert it to mp3.

The idea is to provide a free version of audible.

## Key Features

* Download music / audiobook from youtube
* Convert music / audiobook to mp3 / wave / flac (...) *need ffmpeg installed*
* Automaticly crop a long audio file to a specific duration ie 60 minutes
* Find music / audiobook from a list of songs / audiobook names : Waka Waka, Happy, Harry potter and the philosopher's stone, (...) *need specific api keys*
* Add specfic context about a file such as live, album, or title


## Installation

Using regular pip and venv tools :

```bash
python3 -m venv .venv
source .venv/bin/activate
pip install awdible
```


## Third party dependencies

### FFmpeg

Please note that you should to have [ffmpeg](https://ffmpeg.org/) installed on your system to use certain features of Awdible.

On Ubuntu, Debian, Linux Mint (...) you can install it with the following command :
```bash
sudo apt update
sudo apt install ffmpeg -y 
```

On fedora, Red Hat, CentOS (...) you can install it with the following command :
```bash
sudo dnf install ffmpeg
```

On MacOs, you can install it with the following command :
```bash
brew install ffmpeg
```

Please check that the ffmpeg command is available in your terminal.

```bash
ffmpeg -version
```

If you have any issues with ffmpeg, please visit the [ffmpeg](https://ffmpeg.org/) website.

**It is possible not to have ffmpeg installed** but in such case, you will not be able to convert the downloaded files to mp3, wave, flac, etc.

### External api

Some features of Awdible require external api keys, specially the `-s` option.


you must have a set up your **[youtube rapid api](https://rapidapi.com/herosAPI/api/youtube-data8)** account. 

You need to add in your environment variables or export directly from a terminal the following :

```bash
export RAPID_API_KEY="*********"
export RAPID_API_HOST="youtube-data8.p.rapidapi.com"
```

### Internet connection

Last but not least, Please not that a valid internet connection is required to use ```Awdible```.


## Usage


### Local



#### As executable


Standard usage, download and convert to mp3 :

```shell
awdible [youtube-url] 
``` 

Specify a destination folder : 
```shell
awdible -d my/dest [youtube-url]
``` 
Specify a file list song  / audibooks **urls** and specify destination folder : 
```shell
awdible -f my_file.txt -d my/dest
``` 

The my_file.txt file must contain one youtube url per line.
my_file.txt example :
```
https://www.youtube.com/watch?v=3y5A4paFOb4
https://www.youtube.com/watch?v=3y5A4paFOb4
https://www.youtube.com/watch?v=3y5A4paFOb4
```
Specify a file list song  / audibooks **ids** and specify destination folder : 
```shell
awdible -f my_file.txt -d my/dest -p
``` 
The my_file.txt file must contain one youtube id per line.
my_file.txt example :
```shell
3y5A4paFOb4
3y5A4paFOb4
3y5A4paFOb4
```
Specify a file list song / audiooks **names** (not just yourube url) and specify destination folder :
```shell
awdible -f my_file.txt -s -d my/dest
``` 

The my_file.txt file must contain one youtube id per line.
my_file.txt example :
```shell
waka waka shakira
Stand by me
Somewhere over the rainbow
```

⚠️ **WARNING** ⚠️

Please note that for the `-s` option, you must have a set up your **[youtube rapid api](https://rapidapi.com/herosAPI/api/youtube-data8)** account. 

You need to add in your environment variables or export directly from a terminal the following :

```bash
export RAPID_API_KEY="*********"
export RAPID_API_HOST="youtube-data8.p.rapidapi.com"
```


#### As library


```python
from awdible import Awdible

url = "https://www.youtube.com/watch?v=3y5A4paFOb4"
awdible = Awdible(url)
awdible.run()

# or

urls = [
    "https://www.youtube.com/watch?v=3y5A4paFOb4",
    "https://www.youtube.com/watch?v=3y5A4paFOb4",
    "https://www.youtube.com/watch?v=3y5A4paFOb4"
    ]

awdible = Awdible(urls)
awdible.run()
```

#### As web app

Launch local streamlit : 

```shell
awdible gui 
``` 

### On line

The on line web app is temporarily unavailable. 

It will be available in the `0.3.0` release.


## Documentation

Please visit [Documentation](https://alexandregazagnes.github.io/awdible/) page.


## Updates


Please visit the : 
- [Changelog](https://alexandregazagnes.github.io/awdible/changelog) page 
- [Roadmap](https://github.com/AlexandreGazagnes/awdible/projects?query=is%3Aopen) page
- [Release](https://github.com/AlexandreGazagnes/awdible/releases) page
- [Issues](https://github.com/AlexandreGazagnes/awdible/issues) page



## Contributing

Awdible is an open-source project and we are always looking for more people to contribute to its development.

It could be by adding new features, fixing bugs, improving the documentation, or any other way you see fit.

Any help is welcome, and we will do our best to help you get started.

Any feedback is also welcome.

Please visit [Contributing](https://alexandregazagnes.github.io/awdible/contributing/) page.

            

Raw data

            {
    "_id": null,
    "home_page": "https://alexandregazagnes.github.io/awdible/",
    "name": "awdible",
    "maintainer": "AlexandreGazagnes",
    "docs_url": null,
    "requires_python": ">=3.8,<3.12.0",
    "maintainer_email": "alex@gazagnes.net",
    "keywords": "python,music,tool,utils,youtube",
    "author": "AlexandreGazagnes",
    "author_email": "alex@gazagnes.net",
    "download_url": "https://files.pythonhosted.org/packages/11/df/c3c0deda918021bb978b94d71c47020d19150551001b26395529241a73bc/awdible-0.2.5.tar.gz",
    "platform": null,
    "description": "![image](./docs/assets/img/image.png)\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n![Python](https://img.shields.io/badge/python-3.10.x-green.svg)\n![Repo Size](https://img.shields.io/github/repo-size/AlexandreGazagnes/awdible)\n[![PEP8](https://img.shields.io/badge/code%20style-pep8-orange.svg)](https://www.python.org/dev/peps/pep-0008/)\n[![Poetry](https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json)](https://python-poetry.org/)\n![Coverage](https://github.com/AlexandreGazagnes/awdible/blob/main/docs/assets/img/cov.svg?raw=true)\n![Tests](https://github.com/AlexandreGazagnes/awdible/actions/workflows/tests.yaml/badge.svg)\n![Statics](https://github.com/AlexandreGazagnes/awdible/actions/workflows/statics.yaml/badge.svg)\n![Doc](https://github.com/AlexandreGazagnes/awdible/actions/workflows/docs.yaml/badge.svg)\n![Pypi](https://github.com/AlexandreGazagnes/awdible/actions/workflows/publish.yaml/badge.svg)\n![GitHub commit activity](https://img.shields.io/github/commit-activity/m/AlexandreGazagnes/awdible)\n\n# Awdible - Just the best free version of audible\n\n## About\nAwdible is a free and open-source software, app and python package that allows you to download music from youtube and convert it to mp3.\n\nThe idea is to provide a free version of audible.\n\n## Key Features\n\n* Download music / audiobook from youtube\n* Convert music / audiobook to mp3 / wave / flac (...) *need ffmpeg installed*\n* Automaticly crop a long audio file to a specific duration ie 60 minutes\n* Find music / audiobook from a list of songs / audiobook names : Waka Waka, Happy, Harry potter and the philosopher's stone, (...) *need specific api keys*\n* Add specfic context about a file such as live, album, or title\n\n\n## Installation\n\nUsing regular pip and venv tools :\n\n```bash\npython3 -m venv .venv\nsource .venv/bin/activate\npip install awdible\n```\n\n\n## Third party dependencies\n\n### FFmpeg\n\nPlease note that you should to have [ffmpeg](https://ffmpeg.org/) installed on your system to use certain features of Awdible.\n\nOn Ubuntu, Debian, Linux Mint (...) you can install it with the following command :\n```bash\nsudo apt update\nsudo apt install ffmpeg -y \n```\n\nOn fedora, Red Hat, CentOS (...) you can install it with the following command :\n```bash\nsudo dnf install ffmpeg\n```\n\nOn MacOs, you can install it with the following command :\n```bash\nbrew install ffmpeg\n```\n\nPlease check that the ffmpeg command is available in your terminal.\n\n```bash\nffmpeg -version\n```\n\nIf you have any issues with ffmpeg, please visit the [ffmpeg](https://ffmpeg.org/) website.\n\n**It is possible not to have ffmpeg installed** but in such case, you will not be able to convert the downloaded files to mp3, wave, flac, etc.\n\n### External api\n\nSome features of Awdible require external api keys, specially the `-s` option.\n\n\nyou must have a set up your **[youtube rapid api](https://rapidapi.com/herosAPI/api/youtube-data8)** account. \n\nYou need to add in your environment variables or export directly from a terminal the following :\n\n```bash\nexport RAPID_API_KEY=\"*********\"\nexport RAPID_API_HOST=\"youtube-data8.p.rapidapi.com\"\n```\n\n### Internet connection\n\nLast but not least, Please not that a valid internet connection is required to use ```Awdible```.\n\n\n## Usage\n\n\n### Local\n\n\n\n#### As executable\n\n\nStandard usage, download and convert to mp3 :\n\n```shell\nawdible [youtube-url] \n``` \n\nSpecify a destination folder : \n```shell\nawdible -d my/dest [youtube-url]\n``` \nSpecify a file list song  / audibooks **urls** and specify destination folder : \n```shell\nawdible -f my_file.txt -d my/dest\n``` \n\nThe my_file.txt file must contain one youtube url per line.\nmy_file.txt example :\n```\nhttps://www.youtube.com/watch?v=3y5A4paFOb4\nhttps://www.youtube.com/watch?v=3y5A4paFOb4\nhttps://www.youtube.com/watch?v=3y5A4paFOb4\n```\nSpecify a file list song  / audibooks **ids** and specify destination folder : \n```shell\nawdible -f my_file.txt -d my/dest -p\n``` \nThe my_file.txt file must contain one youtube id per line.\nmy_file.txt example :\n```shell\n3y5A4paFOb4\n3y5A4paFOb4\n3y5A4paFOb4\n```\nSpecify a file list song / audiooks **names** (not just yourube url) and specify destination folder :\n```shell\nawdible -f my_file.txt -s -d my/dest\n``` \n\nThe my_file.txt file must contain one youtube id per line.\nmy_file.txt example :\n```shell\nwaka waka shakira\nStand by me\nSomewhere over the rainbow\n```\n\n\u26a0\ufe0f **WARNING** \u26a0\ufe0f\n\nPlease note that for the `-s` option, you must have a set up your **[youtube rapid api](https://rapidapi.com/herosAPI/api/youtube-data8)** account. \n\nYou need to add in your environment variables or export directly from a terminal the following :\n\n```bash\nexport RAPID_API_KEY=\"*********\"\nexport RAPID_API_HOST=\"youtube-data8.p.rapidapi.com\"\n```\n\n\n#### As library\n\n\n```python\nfrom awdible import Awdible\n\nurl = \"https://www.youtube.com/watch?v=3y5A4paFOb4\"\nawdible = Awdible(url)\nawdible.run()\n\n# or\n\nurls = [\n    \"https://www.youtube.com/watch?v=3y5A4paFOb4\",\n    \"https://www.youtube.com/watch?v=3y5A4paFOb4\",\n    \"https://www.youtube.com/watch?v=3y5A4paFOb4\"\n    ]\n\nawdible = Awdible(urls)\nawdible.run()\n```\n\n#### As web app\n\nLaunch local streamlit : \n\n```shell\nawdible gui \n``` \n\n### On line\n\nThe on line web app is temporarily unavailable. \n\nIt will be available in the `0.3.0` release.\n\n\n## Documentation\n\nPlease visit [Documentation](https://alexandregazagnes.github.io/awdible/) page.\n\n\n## Updates\n\n\nPlease visit the : \n- [Changelog](https://alexandregazagnes.github.io/awdible/changelog) page \n- [Roadmap](https://github.com/AlexandreGazagnes/awdible/projects?query=is%3Aopen) page\n- [Release](https://github.com/AlexandreGazagnes/awdible/releases) page\n- [Issues](https://github.com/AlexandreGazagnes/awdible/issues) page\n\n\n\n## Contributing\n\nAwdible is an open-source project and we are always looking for more people to contribute to its development.\n\nIt could be by adding new features, fixing bugs, improving the documentation, or any other way you see fit.\n\nAny help is welcome, and we will do our best to help you get started.\n\nAny feedback is also welcome.\n\nPlease visit [Contributing](https://alexandregazagnes.github.io/awdible/contributing/) page.\n",
    "bugtrack_url": null,
    "license": "GPL-3.0",
    "summary": "Awdible - Just the best free version of audible",
    "version": "0.2.5",
    "project_urls": {
        "Changelog": "https://alexandregazagnes.github.io/awdible/CHANGELOG/",
        "Documentation": "https://alexandregazagnes.github.io/awdible/",
        "Homepage": "https://alexandregazagnes.github.io/awdible/",
        "Issues": "https://github.com/AlexandreGazagnes/awdible/issues",
        "Repository": "https://github.com/AlexandreGazagnes/awdible/tree/main"
    },
    "split_keywords": [
        "python",
        "music",
        "tool",
        "utils",
        "youtube"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b9f6815efade15ebe0ec06677675eefef3985d9d66f2dbc8173abfb4f61770a8",
                "md5": "57a95ecc92adf8f7a81c15eeb7e7d382",
                "sha256": "010a8605d871cc49e031651cb5d23bec7e32dd35f95d3e5d9e308e6e64d326ed"
            },
            "downloads": -1,
            "filename": "awdible-0.2.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "57a95ecc92adf8f7a81c15eeb7e7d382",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<3.12.0",
            "size": 33746,
            "upload_time": "2024-02-22T15:52:22",
            "upload_time_iso_8601": "2024-02-22T15:52:22.564481Z",
            "url": "https://files.pythonhosted.org/packages/b9/f6/815efade15ebe0ec06677675eefef3985d9d66f2dbc8173abfb4f61770a8/awdible-0.2.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "11dfc3c0deda918021bb978b94d71c47020d19150551001b26395529241a73bc",
                "md5": "8898e514e2610df3011ede6a5c10765a",
                "sha256": "8e8b15d18a5326a6bb77f854a2d6300f91b415373c53124a83dd93526ef94e14"
            },
            "downloads": -1,
            "filename": "awdible-0.2.5.tar.gz",
            "has_sig": false,
            "md5_digest": "8898e514e2610df3011ede6a5c10765a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<3.12.0",
            "size": 30645,
            "upload_time": "2024-02-22T15:52:23",
            "upload_time_iso_8601": "2024-02-22T15:52:23.919463Z",
            "url": "https://files.pythonhosted.org/packages/11/df/c3c0deda918021bb978b94d71c47020d19150551001b26395529241a73bc/awdible-0.2.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-22 15:52:23",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "AlexandreGazagnes",
    "github_project": "awdible",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "awdible"
}
        
Elapsed time: 2.14430s