{ "info": { "author": "Sawyerf", "author_email": "sawyer.flink@protonmail.ch", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Topic :: Internet :: WWW/HTTP :: Indexing/Search" ], "description": "# Youtube_subscription_manager\n\n\n[![PyPI](http://img.shields.io/pypi/v/youtube-sm.svg)](http://pypi.python.org/pypi/youtube-sm/) [![example](https://sawyerf.gitlab.io/youtube_sm/exampleshield.svg)](https://sawyerf.gitlab.io/youtube_sm/example.html) [![GitLab](https://sawyerf.gitlab.io/youtube_sm/gitlab.jpg)](https://gitlab.com/sawyerf/Youtube_subscription_manager) \n\n

\n\n- [Description](#description)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Commands](#commands)\n- [Example](#example)\n- [Type of File](#type-of-file)\n- [Cache](#cache)\n- [HTML & RSS](#html--rss)\n- [Requirements](#requirements)\n- [Compatible](#compatible)\n- [Screenshots](#screenshots)\n\n## Description\nYoutube_subscription_manager is an alternative to youtube.com to retrieve the videos of your subscriptions feed without requires an account *(You can also recover the videos of other platform).*\n\nIt can gather informations about every video in a playlist, a channel or your subsciptions feed and outputs it as a html page, a detailed list or a list of links.\n\n## Installation\n1. Clone the project: `git clone https://gitlab.com/sawyerf/Youtube_suscription_manager.git`\n2. Open the folder you just cloned : `cd Youtube_subscription_manager`\n3. Execute the setup: `sudo python3 setup.py install`\n4. Recover your subscription file in youtube and you are ready to go !\n\n## Usage\n\n1. Download your subscriptions configuration from youtube.com ([here](https://www.youtube.com/subscription_manager?action_takeout=1))\n2. Once this is done, you may load it by using the following command :\n```\nyoutube-sm --init [file]\n```\n\n3. Finally, you can start using the program using the commands shown below :\n```\nyoutube-sm [OPTIONS]\n```\n\n## Commands\n\n```\n-a [site][id] Append a channel or a playlist at the end of sub.\n-d Show the dead channels + those who posted no videos\n-e Edit your sub list\n-h Print this help text and exit\n-l [site][id] Analyze only one channel or playlist\n-m [mode] Choose the type of the output (html, json, raw, list, view)\n-o [nb of months] Show the channels who didn't post videos in [nb of months] + dead channels\n-r Remove the cache\n-s [id/all] Outputs the stats of the selected channel(s)\n-t [nb of days] Choose how far in the past do you want the program to look for videos\n--af [file] Append a file with list of channel or a playlist in sub.swy\n--ax [file] Append a xml file in sub.swy\n--cat View your subscriptions\n--css [style] Import the css files (light, dark, switch)\n--debug Print errors and progress\n--html Recover yours subs in the common page web (more videos)\n--init [file] Remove all your subs and the cache and init with your subscription file.\n--loading Prints a progress bar while running\n--output [file] Choose the name of the output file\n--ultra-html Recover all the videos with the common page and the button 'load more'\n```\n\n## Example\n\n- Basic\n```\nyoutube-sm\n```\n\n- Your sub since 1 month\n```\nyoutube-sm -t 30 --html --css --loading\n```\n\n- All the videos of a channel\n```\nyoutube-sm -l [youtube] UC-lHJZR3Gqxm24_Vd_AJ5Yw -t -1 -m list --loading -r --output test.csv\n```\n\n- Add a sub\n```\nyoutube-sm -a [youtube] UC-lHJZR3Gqxm24_Vd_AJ5Yw\n```\n\n## Type of File\n#### Raw :\n```\n{date} {video_id} {channel_id} {title} {channel} {link_pic}\n```\n#### List :\n```\nhttps://www.youtube.com/watch?v={video_id}\n```\n#### View :\n```\n{views}\n```\n#### Json :\n```json\n{\n\t\"title\": \"{title}\",\n\t\"id\": \"{video_id}\",\n\t\"idChannel\": \"{channel_id}\",\n\t\"uploader\": \"{channel}\",\n\t\"uploaded\": \"{date}\",\n\t\"image\": \"{link_pic}\",\n\t\"views\": \"{views}\"\n}\n```\n#### Html :\n```html\n\n
\n\t\n\t\t
\n\t\t\t\n\t\t\t
{time}
\n\t\t
\n\t
\n\t

{title}

\n\t

{channel}

\n\t

{date}

\n\t

\n
\n```\n\n## Cache\n3 files are generated by the program : `sub.swy`, `log` and `data/`.\n- `sub.swy` is a list of yours subscriptions.\n- `log` contains the script's time of execution.\n- `data/` is a folder where the information for every video are stored.\n\nThese 3 files are generated in:\n- Windows: `C:\\Users\\\\.youtube_sm\\`.\n- Linux/MacOS: `/home//.cache/youtube_sm/.`.\n\n## HTML & RSS\nWith youtube-sm you can recover your subscriptions using two methods:\n- RSS (default): videos are recovered through an XML page.\n- HTML (with --html): videos are recovered through an HTML page.\n\n\nThey are two choice because they cannot recover the same informations and don't require the same amount of time. \nSo the default method (the RSS method) is more adapted to recover only the newest videos, whereas the HTML method\nis more adapted to recover all the videos of a playlist or to recover its last 30 videos of a channel.\n\n| | *ULTRA-HTML* | *ULTRA-HTML* | *HTML* | *HTML* | *RSS* |\n|:----------:|:------------:|:------------:|:-----------:|:------------:|:------------:|\n| | **Channel** | **Playlist** | **Channel** | **Playlist** | **Both** |\n| Execution |**very** slow |**very** slow | slow | slow | Fast |\n| Number | **all** | **all** | 30 videos | 100 videos | 15 videos |\n| Date | **~** | \u2716 | **~** | \u2716 | \u2714 |\n| Like Rate | \u2716 | \u2716 | \u2716 | \u2716 | \u2714 |\n| Views | \u2714 | \u2716 | \u2714 | \u2716 | \u2714 |\n\n## Requirements\n- Python 3\n\n## Compatible\n- Linux\n- Windows\n- Android (Termux)\n- MacOS\n\n## Screenshots\n\"Phone\n\"PC", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/sawyerf/Youtube_subscription_manager", "keywords": "youtube subscription api manager html", "license": "MLP-2.0", "maintainer": "", "maintainer_email": "", "name": "youtube-sm", "package_url": "https://pypi.org/project/youtube-sm/", "platform": "", "project_url": "https://pypi.org/project/youtube-sm/", "project_urls": { "Homepage": "https://gitlab.com/sawyerf/Youtube_subscription_manager" }, "release_url": "https://pypi.org/project/youtube-sm/2.0.3/", "requires_dist": null, "requires_python": "", "summary": "Youtube subscription manager", "version": "2.0.3" }, "last_serial": 5590383, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "539b6b90c15370a40bb7ca8e55048b08", "sha256": "9c7d9c96ecb9e2d866cac597b2661e2ed0725b81379d06985b06f6f1a23c723a" }, "downloads": -1, "filename": "youtube-sm-1.0.tar.gz", "has_sig": false, "md5_digest": "539b6b90c15370a40bb7ca8e55048b08", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5542, "upload_time": "2018-03-23T21:04:11", "url": "https://files.pythonhosted.org/packages/cb/ff/a66e80589d2dccd90b7b05f01396883bf1944e3f14cdb4f1008917dde52d/youtube-sm-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "63915671ec4a4e43a533aef315d2b128", "sha256": "e6eb5b602705b9ab1d80feff3d52bd142e01513c50af476f845a079517edcbe6" }, "downloads": -1, "filename": "youtube_sm-1.0.1.tar.gz", "has_sig": false, "md5_digest": "63915671ec4a4e43a533aef315d2b128", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6035, "upload_time": "2018-03-25T00:49:32", "url": "https://files.pythonhosted.org/packages/43/67/398a04a50471fdfb198255eba9fbb1cb99dae2c10d10af07f23105db98c6/youtube_sm-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "15f3bd184fed3f79908f1062e10829d8", "sha256": "b678fea551717e9fb65ab478c5e5e275a6df320404093f67844ffc41f9489468" }, "downloads": -1, "filename": "youtube_sm-1.0.2.tar.gz", "has_sig": false, "md5_digest": "15f3bd184fed3f79908f1062e10829d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6047, "upload_time": "2018-03-25T01:21:12", "url": "https://files.pythonhosted.org/packages/e2/92/b46affa3633b5f3150d322972632b758de3e48f968323ca0a0f2fea55156/youtube_sm-1.0.2.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "f8f481eb9bb75bae0eaf83a0c762c9ce", "sha256": "36af8fe2e416eff668e89f52a719a467669e908d2e8387f448cb923c9a43739e" }, "downloads": -1, "filename": "youtube_sm-1.0.4.tar.gz", "has_sig": false, "md5_digest": "f8f481eb9bb75bae0eaf83a0c762c9ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6574, "upload_time": "2018-04-01T22:46:40", "url": "https://files.pythonhosted.org/packages/7b/b5/ef3ab6e07bc18ea8494321172784677baf58e4e578fe2b54d79921c2e2d0/youtube_sm-1.0.4.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "510c796d7a4c320ef169c4b83005cebb", "sha256": "554695aff8dbd935d0559e0418e976092c0f8f718b4cf9f7c5a400ab1f6913f5" }, "downloads": -1, "filename": "youtube_sm-1.1.0.tar.gz", "has_sig": false, "md5_digest": "510c796d7a4c320ef169c4b83005cebb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12317, "upload_time": "2018-04-22T13:08:02", "url": "https://files.pythonhosted.org/packages/ee/86/408e71bb6f9e5a4012ad6046339972f13bc753e17a7b557d086b979f6be4/youtube_sm-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "3832396733f1a03d448ac7356428e8a4", "sha256": "1f3fdc41b5f6a98febe832de36900449cf888f2835ce763c233547f2cb310142" }, "downloads": -1, "filename": "youtube_sm-1.1.1.tar.gz", "has_sig": false, "md5_digest": "3832396733f1a03d448ac7356428e8a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12859, "upload_time": "2018-04-22T13:49:35", "url": "https://files.pythonhosted.org/packages/81/13/cf8499c1182afa4ad29ea2a399a01abf27cbae19d83dad5f8580325e332f/youtube_sm-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "824ff4097c7792d1d959348a2781fd3e", "sha256": "64b6496fff6a85089edca02df7fff0195e05f1aaafcabb89d72e7e675956b7dc" }, "downloads": -1, "filename": "youtube_sm-1.1.2.tar.gz", "has_sig": false, "md5_digest": "824ff4097c7792d1d959348a2781fd3e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12436, "upload_time": "2018-04-22T17:24:06", "url": "https://files.pythonhosted.org/packages/4c/40/a18ee81d330086e77d6b79f58285f8d709e5ac203357d2bd77202a628863/youtube_sm-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "7485c1e9be78d6c28e398514dffdd7ae", "sha256": "9f344ceafdcb1ebcf8cb92dbbc17b5322fbebe9178c724e6ed4212260446c058" }, "downloads": -1, "filename": "youtube_sm-1.1.3.tar.gz", "has_sig": false, "md5_digest": "7485c1e9be78d6c28e398514dffdd7ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9333, "upload_time": "2018-04-22T17:32:39", "url": "https://files.pythonhosted.org/packages/7e/7f/1cefcec1c29ba3dfd07e84b6c8526b477af31efb66a36b550f58e5859e94/youtube_sm-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "6cfaf2bdf7d59de9431a0afd5d88da71", "sha256": "8dc1ffc40b43edae14347ac8af7711aae4682ada4d9077272664f4ebbaa232fb" }, "downloads": -1, "filename": "youtube_sm-1.1.4-py3.6.egg", "has_sig": false, "md5_digest": "6cfaf2bdf7d59de9431a0afd5d88da71", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 33189, "upload_time": "2018-05-25T20:45:17", "url": "https://files.pythonhosted.org/packages/67/ff/1aa3a8d0aaf8d95534953e203d4a403014774aaad74862660059aad3cfd8/youtube_sm-1.1.4-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "3e9c5f6aa5d3bf318ac544b3fc1aa3c2", "sha256": "0b012d02ceb1a85b184f819870a64cc0f3f8a0d94f15e2f331d10f9b8838a786" }, "downloads": -1, "filename": "youtube_sm-1.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "3e9c5f6aa5d3bf318ac544b3fc1aa3c2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15226, "upload_time": "2018-05-25T20:45:15", "url": "https://files.pythonhosted.org/packages/dd/ed/b86ab9111fbc52fa3521c204f65d8fc99950d8abd4998472f9ec85ccd759/youtube_sm-1.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cfef2895b8c172b73a86e0acaba1da9a", "sha256": "a8988fcf0b901f57fe49628a09de1b966e134f85e51a45bbe89648e7c1db68de" }, "downloads": -1, "filename": "youtube_sm-1.1.4.tar.gz", "has_sig": false, "md5_digest": "cfef2895b8c172b73a86e0acaba1da9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14499, "upload_time": "2018-05-25T20:45:19", "url": "https://files.pythonhosted.org/packages/62/a8/886b298ac7617a84dd843a3c58454a5ec4d8cf0a20bf70db08f14dccd37c/youtube_sm-1.1.4.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "24023c3ce5182cefd81ec08762117ddf", "sha256": "585c4f90eb92822fc3f8bfb493ab3e37929c3c4d16847d75b7306e4a8b77633c" }, "downloads": -1, "filename": "youtube_sm-2.0.0.tar.gz", "has_sig": false, "md5_digest": "24023c3ce5182cefd81ec08762117ddf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18047, "upload_time": "2018-06-12T23:24:30", "url": "https://files.pythonhosted.org/packages/7b/fc/366131f18ef724359c66ab2720b309764b12fa421ce1d25cdc2169eb667b/youtube_sm-2.0.0.tar.gz" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "ebcc037c08831bcd5c56309029b7f6ad", "sha256": "74cb3e5f0809068af4111b8027fcde78a82b0cdb69dc7aa62dbbe59971540973" }, "downloads": -1, "filename": "youtube_sm-2.0.3-py3.7.egg", "has_sig": false, "md5_digest": "ebcc037c08831bcd5c56309029b7f6ad", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": null, "size": 56833, "upload_time": "2019-07-26T19:02:20", "url": "https://files.pythonhosted.org/packages/77/b3/28a7aa7ea1e3565e9bcf70ef177a4b9ee665a712a4b07fe16dcde4ea7874/youtube_sm-2.0.3-py3.7.egg" }, { "comment_text": "", "digests": { "md5": "57696fc9045a2a0d87ee2fd8927d905b", "sha256": "95d4ade40d264fa9d6b76fdbf591db4b8b28483498cf4cabbe7b22d204e22485" }, "downloads": -1, "filename": "youtube_sm-2.0.3.tar.gz", "has_sig": false, "md5_digest": "57696fc9045a2a0d87ee2fd8927d905b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20601, "upload_time": "2019-07-26T19:02:22", "url": "https://files.pythonhosted.org/packages/44/33/27006ca0ca38e3dd3c662549252bd0bc3435c78188a4a9f82d3dc0f1c847/youtube_sm-2.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ebcc037c08831bcd5c56309029b7f6ad", "sha256": "74cb3e5f0809068af4111b8027fcde78a82b0cdb69dc7aa62dbbe59971540973" }, "downloads": -1, "filename": "youtube_sm-2.0.3-py3.7.egg", "has_sig": false, "md5_digest": "ebcc037c08831bcd5c56309029b7f6ad", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": null, "size": 56833, "upload_time": "2019-07-26T19:02:20", "url": "https://files.pythonhosted.org/packages/77/b3/28a7aa7ea1e3565e9bcf70ef177a4b9ee665a712a4b07fe16dcde4ea7874/youtube_sm-2.0.3-py3.7.egg" }, { "comment_text": "", "digests": { "md5": "57696fc9045a2a0d87ee2fd8927d905b", "sha256": "95d4ade40d264fa9d6b76fdbf591db4b8b28483498cf4cabbe7b22d204e22485" }, "downloads": -1, "filename": "youtube_sm-2.0.3.tar.gz", "has_sig": false, "md5_digest": "57696fc9045a2a0d87ee2fd8927d905b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20601, "upload_time": "2019-07-26T19:02:22", "url": "https://files.pythonhosted.org/packages/44/33/27006ca0ca38e3dd3c662549252bd0bc3435c78188a4a9f82d3dc0f1c847/youtube_sm-2.0.3.tar.gz" } ] }