{"id":28203435,"url":"https://github.com/dineshram0212/youtube-analysis","last_synced_at":"2026-06-19T06:32:39.791Z","repository":{"id":62590715,"uuid":"451168439","full_name":"dineshram0212/youtube-analysis","owner":"dineshram0212","description":"This YouTube Analysis Package provides tools for analyzing YouTube video data, including metrics on views, likes, comments, and engagement trends. Ideal for gaining insights into video performance and audience interaction patterns.","archived":false,"fork":false,"pushed_at":"2024-11-07T05:41:26.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-15T04:52:23.210Z","etag":null,"topics":["data","data-visualization","pandas","python","webscraping","youtube-api-v3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dineshram0212.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,"zenodo":null}},"created_at":"2022-01-23T16:49:48.000Z","updated_at":"2024-11-07T09:54:23.000Z","dependencies_parsed_at":"2025-05-17T01:16:16.353Z","dependency_job_id":"8670a243-6711-4bba-b970-1b3ce25af05f","html_url":"https://github.com/dineshram0212/youtube-analysis","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dineshram0212/youtube-analysis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dineshram0212%2Fyoutube-analysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dineshram0212%2Fyoutube-analysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dineshram0212%2Fyoutube-analysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dineshram0212%2Fyoutube-analysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dineshram0212","download_url":"https://codeload.github.com/dineshram0212/youtube-analysis/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dineshram0212%2Fyoutube-analysis/sbom","scorecard":{"id":343630,"data":{"date":"2025-08-11","repo":{"name":"github.com/dineshram0212/youtube-analysis","commit":"812f4c48c413c4e2a2689ab4e62c6139afa01ebb"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.9,"checks":[{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 0/9 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":9,"reason":"binaries present in source code","details":["Warn: binary detected: dist/ytanalysis-0.1.0-py3-none-any.whl:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-18T06:34:11.830Z","repository_id":62590715,"created_at":"2025-08-18T06:34:11.830Z","updated_at":"2025-08-18T06:34:11.830Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34520431,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-19T02:00:06.005Z","response_time":61,"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":["data","data-visualization","pandas","python","webscraping","youtube-api-v3"],"created_at":"2025-05-17T01:16:09.956Z","updated_at":"2026-06-19T06:32:39.786Z","avatar_url":"https://github.com/dineshram0212.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ytanalysis\n\n`ytanalysis` is a Python package designed to analyze YouTube channel statistics using the YouTube Data API. With this package, you can retrieve information about a YouTube channel, including subscriber count, video details, views, likes, comments, and more. It also provides visualization tools to help analyze video views and monthly posting frequency.\n\n## Features\n\n- Retrieve detailed YouTube channel statistics (subscribers, views, total videos, etc.)\n- Extract video statistics such as views, likes, and comments\n- Export video data to a CSV file for further analysis\n- Generate visualizations for top-performing videos and monthly posting frequency\n\n## Installation\n\nTo install this package, use `pip`:\n\n```bash\npip install ytanalysis\n```\n\n## Prerequisites\n\nYou need a YouTube Data API key to use this package. Follow these steps to obtain one:\n\n1. Go to the [Google Cloud Console](https://console.cloud.google.com/).\n2. Create a new project (or select an existing one) and navigate to **APIs \u0026 Services** \u003e **Library**.\n3. Search for \"YouTube Data API v3\" and enable it for your project.\n4. Go to **APIs \u0026 Services** \u003e **Credentials** and create an API key.\n5. Copy the API key for later use.\n\n## Usage\n\n### Initialization\n\nTo initialize the `YTAnalysis` class, replace `YOUR_YOUTUBE_API_KEY` with your actual API key and `CHANNEL_URL` with the YouTube channel URL you want to analyze:\n\n```bash\nfrom ytanalysis import YTAnalysis\n\napi_key = \"YOUR_YOUTUBE_API_KEY\"\nchannel_url = \"https://www.youtube.com/channel/CHANNEL_ID\"\n\nyt = YTAnalysis(channelURL=channel_url, apikey=api_key)\n```\n\n### Methods\n\n#### Get Channel Details\n\n```bash\nchannel_info = yt.getChannelDetail()\nprint(channel_info)\n```\n\n#### Get Video Details\n\n```bash\nvideo_details = yt.getVideoDetail()\nprint(video_details)\n```\n\n#### Export Data to CSV\n\n```bash\nyt.export_csv()\n```\n\n#### Plot Most Viewed Videos\n\n```bash\nyt.plotViews(values=10, mostViewed=True, save=False)\n```\n\n#### Plot Monthly Video Counts\n\n```bash\nyt.plotVideoCount(save=False)\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdineshram0212%2Fyoutube-analysis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdineshram0212%2Fyoutube-analysis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdineshram0212%2Fyoutube-analysis/lists"}