# youtube-wrapper
## Overview
A python library that wraps around the YouTube V3 API. You can use it find and manage YouTube resources including Videos, Playlists, Channels and Comments.
The library is modelled after [Google's own documentation](https://developers.google.com/youtube/v3/docs/videos).
## Requirements
- Python 3.10+
- Works on Linux, Windows, macOS, BSD
## Installation
```sh
pip install ayv
```
## Get started
To get started, you need a verified Google Account and Google API keys with the correct permissions.
### How to Get A Google API Key
Follow the instructions in this short [article](https://blog.hubspot.com/website/how-to-get-youtube-api-key) to get an API key.
To get a particular video using the videos' id:
1. Create an instance of the YouTube API passing in the path to the downloaded client secret file:
```sh
from youtube import YouTube
client_secrets_file = '/home/lyle/Downloads/secrets.json'
youtube = YouTube(client_secrets_file)
youtube.authenticate()
```
2. Use the video id to find the video:
```python
video = youtube.find_video_by_id('rfscVS0vtbw')
```
3. To find many videos using their id's:
```python
ids = ['rfscVS0vtbw', 'TFa38ONq5PY']
videos = youtube.find_videos(ids)
```
4. To find the most popular videos in a given region e.g Kenya, pass in the region code:
```python
popular_kenyan_videos = youtube.find_most_popular_video_by_region('ke')
```
5. To search for videos (this returns an iterator):
```python
query = 'Python programming'
video_iterator = youtube.search_video('Python')
videos = next(video_iterator)
```
## Documentation and Tutorials
To learn more about the library including the documentation and tutorials, check out the [libraries' documentation](https://youtube-wrapper.readthedocs.io/en/latest/).
## How to Contribute
To contribute, chack out the [contribution guideline](CONTRIBUTING.md).
## License
The API uses an [MIT License](LICENSE)
## Developer
Lyle Okoth – [@lylethedesigner](https://twitter.com/lylethedesigner) on twitter
[lyle okoth](https://medium.com/@lyle-okoth) on medium
My email is lyceokoth@gmail.com
Here is my [GitHub Profile](https://github.com/twyle/)
You can also find me on [Linkedin](https://www.linkedin.com/in/lyle-okoth/)
Raw data
{
"_id": null,
"home_page": "https://youtube-wrapper.readthedocs.io/en/latest/index.html",
"name": "ayv",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "youtube,youtube-api,youtube comments,youtube videos,youtube channels,youtube comment thread,create youtube playlist",
"author": "Lyle Okoth",
"author_email": "lyceokoth@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/61/60/20befeb83f27cdb20aaf2d76a7b7784b25f9ced9f17129549ca3045be5ab/ayv-0.5.1.tar.gz",
"platform": null,
"description": "# youtube-wrapper\n## Overview\n\nA python library that wraps around the YouTube V3 API. You can use it find and manage YouTube resources including Videos, Playlists, Channels and Comments.\n\nThe library is modelled after [Google's own documentation](https://developers.google.com/youtube/v3/docs/videos).\n\n## Requirements\n- Python 3.10+\n- Works on Linux, Windows, macOS, BSD\n\n## Installation\n\n```sh\npip install ayv\n```\n\n## Get started\nTo get started, you need a verified Google Account and Google API keys with the correct permissions.\n\n### How to Get A Google API Key\nFollow the instructions in this short [article](https://blog.hubspot.com/website/how-to-get-youtube-api-key) to get an API key.\n\n\nTo get a particular video using the videos' id:\n1. Create an instance of the YouTube API passing in the path to the downloaded client secret file:\n```sh\nfrom youtube import YouTube\n\nclient_secrets_file = '/home/lyle/Downloads/secrets.json'\nyoutube = YouTube(client_secrets_file)\nyoutube.authenticate()\n```\n2. Use the video id to find the video:\n```python\nvideo = youtube.find_video_by_id('rfscVS0vtbw')\n```\n3. To find many videos using their id's:\n```python\nids = ['rfscVS0vtbw', 'TFa38ONq5PY']\nvideos = youtube.find_videos(ids)\n```\n4. To find the most popular videos in a given region e.g Kenya, pass in the region code:\n```python\npopular_kenyan_videos = youtube.find_most_popular_video_by_region('ke')\n```\n5. To search for videos (this returns an iterator):\n```python\nquery = 'Python programming'\nvideo_iterator = youtube.search_video('Python')\nvideos = next(video_iterator)\n```\n\n## Documentation and Tutorials\nTo learn more about the library including the documentation and tutorials, check out the [libraries' documentation](https://youtube-wrapper.readthedocs.io/en/latest/).\n\n## How to Contribute\n\nTo contribute, chack out the [contribution guideline](CONTRIBUTING.md).\n\n## License\n\nThe API uses an [MIT License](LICENSE)\n\n## Developer\n\nLyle Okoth \u2013 [@lylethedesigner](https://twitter.com/lylethedesigner) on twitter\n\n[lyle okoth](https://medium.com/@lyle-okoth) on medium\n\nMy email is lyceokoth@gmail.com\n\nHere is my [GitHub Profile](https://github.com/twyle/)\n\nYou can also find me on [Linkedin](https://www.linkedin.com/in/lyle-okoth/)\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A python library that wraps around the YouTube V3 API. You can use it find and manage YouTube resources including Videos, Playlists, Channels and Comments.",
"version": "0.5.1",
"project_urls": {
"Homepage": "https://youtube-wrapper.readthedocs.io/en/latest/index.html"
},
"split_keywords": [
"youtube",
"youtube-api",
"youtube comments",
"youtube videos",
"youtube channels",
"youtube comment thread",
"create youtube playlist"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "52c87246d59339a9942f5e2d76afa46100fa88a7a4da2ed0bf42b49a0ed1b6c4",
"md5": "f7470a5b2a6c69808b9050dc52064570",
"sha256": "b4229ed5428154d2261d171dda4e912dd8685fab08f34dd9601f0cc352236861"
},
"downloads": -1,
"filename": "ayv-0.5.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f7470a5b2a6c69808b9050dc52064570",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 35684,
"upload_time": "2023-08-18T09:46:48",
"upload_time_iso_8601": "2023-08-18T09:46:48.806472Z",
"url": "https://files.pythonhosted.org/packages/52/c8/7246d59339a9942f5e2d76afa46100fa88a7a4da2ed0bf42b49a0ed1b6c4/ayv-0.5.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "616020befeb83f27cdb20aaf2d76a7b7784b25f9ced9f17129549ca3045be5ab",
"md5": "78ca0fcf1ba910320fbc3886eb827efa",
"sha256": "896c737adb62d32f89677b2e0e45a032c80b879dc26359060fabe1753a4b91d9"
},
"downloads": -1,
"filename": "ayv-0.5.1.tar.gz",
"has_sig": false,
"md5_digest": "78ca0fcf1ba910320fbc3886eb827efa",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 16897,
"upload_time": "2023-08-18T09:46:50",
"upload_time_iso_8601": "2023-08-18T09:46:50.179986Z",
"url": "https://files.pythonhosted.org/packages/61/60/20befeb83f27cdb20aaf2d76a7b7784b25f9ced9f17129549ca3045be5ab/ayv-0.5.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-18 09:46:50",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "ayv"
}