{"id":22887628,"url":"https://github.com/dedinc/ytty","last_synced_at":"2025-09-01T17:46:02.514Z","repository":{"id":57751512,"uuid":"521160624","full_name":"DedInc/ytty","owner":"DedInc","description":"Powerful tool for parsing, downloading and uploading videos from youtube based on selenium.","archived":false,"fork":false,"pushed_at":"2023-09-03T05:28:44.000Z","size":9,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-17T18:51:26.545Z","etag":null,"topics":["parse-youtube","python-youtube","python-youtube-api","python3","youtube-management","youtube-manager","youtube-parser","ytty"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/ytty","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DedInc.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-04T07:06:26.000Z","updated_at":"2025-08-03T22:13:53.000Z","dependencies_parsed_at":"2025-02-06T23:38:02.983Z","dependency_job_id":null,"html_url":"https://github.com/DedInc/ytty","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/DedInc/ytty","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DedInc%2Fytty","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DedInc%2Fytty/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DedInc%2Fytty/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DedInc%2Fytty/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DedInc","download_url":"https://codeload.github.com/DedInc/ytty/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DedInc%2Fytty/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273166598,"owners_count":25057178,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-01T02:00:09.058Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["parse-youtube","python-youtube","python-youtube-api","python3","youtube-management","youtube-manager","youtube-parser","ytty"],"created_at":"2024-12-13T20:37:21.421Z","updated_at":"2025-09-01T17:46:02.487Z","avatar_url":"https://github.com/DedInc.png","language":"Python","readme":"\u003ch1 align=\"center\"\u003eYtty - Powerful tool for parsing, downloading and uploading videos from youtube based on selenium.\u003c/h1\u003e\n\u003ch1 align=\"center\"\u003e -WARINING!!!- \u003c/h1\u003e\n\n```\nYou must have Google Chrome installed for google auth bypass!\n```\n\n\u003ch1 align=\"center\"\u003e -How to use?- \u003c/h1\u003e\n\n\u003ch2 align=\"center\"\u003e -Quickstart- \u003c/h2\u003e\n\n```python\nfrom ytty import *\n\nif __name__ == '__main__':\n\tsession = shadow_session()\n\toptions = YTOptions()\n\toptions.parse.search = 'FREE FIRE MOD MENU'\n\toptions.parse.period = 1\n\toptions.parse.max = 10\n\tvideos = parse_videos(session, options)\n\tvideo = get_video(videos[0]['link'])\n\tsession.quit()\n\n\tsession = google_session('login', 'password')\n\toptions.upload.video = video\n\toptions.upload.title = videos[0]['title']\n\toptions.upload.description = '''This you can write description for video\n\tThat text written for example, you can write this what do you want :)'''\n\toptions.upload.tags = ['tags', 'writes', 'in a', 'taglist', 'add', 'some tags', 'this']\n\toptions.upload.preview = get_thumbnail(videos[0]['id'])\n\tupload_video(session, options)\n```\n\n\n\u003ch2 align=\"center\"\u003e -Parsing videos- \u003c/h2\u003e\n\n```python\nfrom ytty import *\n\nif __name__ == '__main__':\n\tsession = shadow_session() #headless chrome session without login\n\toptions = YTOptions()\n\toptions.parse.search = 'FREE FIRE MOD MENU' #Search request\n\toptions.parse.period = 1 #Period from 0 to 2 when -\u003e 0 - Today | 1 - a Week | 2 - a Month (Default is 2)\n\toptions.parse.max = 10 #Limit of parsing video (Default is 20)\n\n\tvideos = parse_videos(session, options)\n\tfor video in videos:\n\t\ttitle = video['title'] #video title\n\t\tlink = video['link'] #video link\n\t\tid = video['id'] #video id\n\tsession.quit() #For close session\n```\n\n\u003ch2 align=\"center\"\u003e -Download thumbnails (previews)- \u003c/h2\u003e\n\n```python\nfor video in videos:\n\tget_thumbnail(video['id']) #returns filename of preview\n```\n\n\u003ch2 align=\"center\"\u003e -Download videos- \u003c/h2\u003e\n\n```python\nfor video in videos:\n\tget_video(video['link']) #returns filename of video\n```\n\n\u003ch2 align=\"center\"\u003e -Download video with uniqualization- \u003c/h2\u003e\n\n```python\nfor video in videos:\n\toptions = YTOptions()\n\toptions.download.unique = True # if use vidspinner (ffmpeg to uniqualize, but it for Windows only)\n\tget_video(video['link'], options)\n```\n\n\u003ch2 align=\"center\"\u003e -Upload videos- \u003c/h2\u003e\n\n```python\nfor video in videos:\n\tsession = google_session('login', 'password') #session with login in google (no headless)\n\t\n\toptions = YTOptions()\n\toptions.upload.video = 'C:/path-to/video.mp4'\n\toptions.upload.title = videos[0]['title']\n\toptions.upload.description = '''This you can write description for video\n\tThat text written for example, you can write this what do you want :)'''\n\toptions.upload.tags = ['tags', 'writes', 'in a', 'taglist', 'add', 'some tags', 'this']\n\toptions.upload.preview = 'C:/path-to/thumbnails.jpg'\n\n\tupload_video(session, options)\n```\n\n\u003ch2 align=\"center\"\u003e -Upload video as premiere and access management- \u003c/h2\u003e\n\n```python\nfor video in videos:\n\toptions.upload.acess = 'PUBLIC' #is default | UNLISTED - Acess by link | PRIVATE - Restricted access | SCHEDULE - Planned release (not yet configurable)\n\toptions.upload.premiere = True\n```","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdedinc%2Fytty","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdedinc%2Fytty","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdedinc%2Fytty/lists"}