streamsnapper


Namestreamsnapper JSON
Version 0.3.0 PyPI version JSON
download
home_pageNone
SummaryStreamSnapper is an intuitive library designed to simplify, improve, and organize YouTube and Youtube Music media streams. It offers scraping functions with higher speed extraction and efficiency with the latest tools to perform such processes.
upload_time2025-01-17 19:31:53
maintainerhenrique-coder
docs_urlNone
authorhenrique-coder
requires_python<4.0,>=3.9
licenseMIT
keywords stream snapper scraper downloader merger youtube
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## StreamSnapper

![PyPI - Version](https://img.shields.io/pypi/v/streamsnapper?style=flat&logo=pypi&logoColor=blue&color=blue&link=https://pypi.org/project/streamsnapper)
![PyPI - Downloads](https://img.shields.io/pypi/dm/streamsnapper?style=flat&logo=pypi&logoColor=blue&color=blue&link=https://pypi.org/project/streamsnapper)
![PyPI - Code Style](https://img.shields.io/badge/code%20style-ruff-blue?style=flat&logo=ruff&logoColor=blue&color=blue&link=https://github.com/astral-sh/ruff)
![PyPI - Format](https://img.shields.io/pypi/format/streamsnapper?style=flat&logo=pypi&logoColor=blue&color=blue&link=https://pypi.org/project/streamsnapper)
![PyPI - Python Compatible Versions](https://img.shields.io/pypi/pyversions/streamsnapper?style=flat&logo=python&logoColor=blue&color=blue&link=https://pypi.org/project/streamsnapper)

StreamSnapper is an intuitive library designed to simplify, improve, and organize YouTube and Youtube Music media streams. It offers scraping functions with higher speed extraction and efficiency with the latest tools to perform such processes.

#### Installation (from [PyPI](https://pypi.org/project/streamsnapper))

```bash
pip install -U streamsnapper
```

### Example Usage

```python
from streamsnapper import YouTube


youtube = YouTube(logging=False)

youtube.extract(url="https://www.youtube.com/watch?v=***********", ytdlp_data=None)
youtube.analyze(check_thumbnails=False, retrieve_dislike_count=False)
youtube.analyze_video_streams(preferred_quality="all")
youtube.analyze_audio_streams(preferred_language="local")
youtube.analyze_subtitle_streams()

youtube.download(
    video_stream=None,
    audio_stream=None,
    output_path="path/to/file",
    ffmpeg_path="local",
    pre_allocate_space=False,
    use_ram_buffer=True,
    max_connections="auto",
    connection_speed=80,
    overwrite=True,
    show_progress_bar=True,
    timeout=None,
    logging=False,
)


from streamsnapper import YouTubeExtractor


youtube_extractor = YouTubeExtractor()

print(youtube_extractor.identify_platform(url="https://music.youtube.com/watch?v=***********"))

print(youtube_extractor.extract_video_id(url="https://www.youtube.com/watch?v=***********"))

print(
    youtube_extractor.extract_playlist_id(
        url="https://www.youtube.com/playlist?list=**********************************", include_private=False
    )
)

print(youtube_extractor.search(query="A cool music name", sort_by="relevance", results_type="video", limit=1))

print(
    youtube_extractor.get_playlist_videos(
        url="https://www.youtube.com/playlist?list=**********************************", limit=None
    )
)

print(
    youtube_extractor.get_channel_videos(
        channel_id="************************",
        channel_url="https://www.youtube.com/@********",
        channel_username="********",
        sort_by="newest",
        content_type="videos",
        limit=None,
    )
)

# All functions are documented and have detailed typings, use your development IDE to learn more.

```

```python
from streamsnapper import Merger


merger = Merger(
    logging=False
)

merger.merge(
    video_path='path/to/video',
    audio_path='path/to/audio',
    output_path='path/to/output',
    ffmpeg_path='local'
)

# All functions are documented and have detailed typings, use your development IDE to learn more.

```

### Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.

If you have a suggestion that would make this better, fork the repository and create a pull request. You can also simply open an issue and describe your ideas or report bugs. **Don't forget to give the project a star if you like it!**

1. Fork the project;
2. Create your feature branch ・ `git checkout -b feature/{feature_name}`;
3. Commit your changes ・ `git commit -m "{commit_message}"`;
4. Push to the branch ・ `git push origin feature/{feature_name}`;
5. Open a pull request, describing the changes you made and wait for a review.

### Disclaimer

Please note that downloading copyrighted content from some media services may be illegal in your country. This tool is designed for educational purposes only. Use at your own risk.


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "streamsnapper",
    "maintainer": "henrique-coder",
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": "hjyz6rqyb@mozmail.com",
    "keywords": "stream, snapper, scraper, downloader, merger, youtube",
    "author": "henrique-coder",
    "author_email": "hjyz6rqyb@mozmail.com",
    "download_url": "https://files.pythonhosted.org/packages/75/cd/653831c3e9ab663d98c20c6064ad881a11b5df6e4ab3ed23a2d7ed3e72de/streamsnapper-0.3.0.tar.gz",
    "platform": null,
    "description": "## StreamSnapper\n\n![PyPI - Version](https://img.shields.io/pypi/v/streamsnapper?style=flat&logo=pypi&logoColor=blue&color=blue&link=https://pypi.org/project/streamsnapper)\n![PyPI - Downloads](https://img.shields.io/pypi/dm/streamsnapper?style=flat&logo=pypi&logoColor=blue&color=blue&link=https://pypi.org/project/streamsnapper)\n![PyPI - Code Style](https://img.shields.io/badge/code%20style-ruff-blue?style=flat&logo=ruff&logoColor=blue&color=blue&link=https://github.com/astral-sh/ruff)\n![PyPI - Format](https://img.shields.io/pypi/format/streamsnapper?style=flat&logo=pypi&logoColor=blue&color=blue&link=https://pypi.org/project/streamsnapper)\n![PyPI - Python Compatible Versions](https://img.shields.io/pypi/pyversions/streamsnapper?style=flat&logo=python&logoColor=blue&color=blue&link=https://pypi.org/project/streamsnapper)\n\nStreamSnapper is an intuitive library designed to simplify, improve, and organize YouTube and Youtube Music media streams. It offers scraping functions with higher speed extraction and efficiency with the latest tools to perform such processes.\n\n#### Installation (from [PyPI](https://pypi.org/project/streamsnapper))\n\n```bash\npip install -U streamsnapper\n```\n\n### Example Usage\n\n```python\nfrom streamsnapper import YouTube\n\n\nyoutube = YouTube(logging=False)\n\nyoutube.extract(url=\"https://www.youtube.com/watch?v=***********\", ytdlp_data=None)\nyoutube.analyze(check_thumbnails=False, retrieve_dislike_count=False)\nyoutube.analyze_video_streams(preferred_quality=\"all\")\nyoutube.analyze_audio_streams(preferred_language=\"local\")\nyoutube.analyze_subtitle_streams()\n\nyoutube.download(\n    video_stream=None,\n    audio_stream=None,\n    output_path=\"path/to/file\",\n    ffmpeg_path=\"local\",\n    pre_allocate_space=False,\n    use_ram_buffer=True,\n    max_connections=\"auto\",\n    connection_speed=80,\n    overwrite=True,\n    show_progress_bar=True,\n    timeout=None,\n    logging=False,\n)\n\n\nfrom streamsnapper import YouTubeExtractor\n\n\nyoutube_extractor = YouTubeExtractor()\n\nprint(youtube_extractor.identify_platform(url=\"https://music.youtube.com/watch?v=***********\"))\n\nprint(youtube_extractor.extract_video_id(url=\"https://www.youtube.com/watch?v=***********\"))\n\nprint(\n    youtube_extractor.extract_playlist_id(\n        url=\"https://www.youtube.com/playlist?list=**********************************\", include_private=False\n    )\n)\n\nprint(youtube_extractor.search(query=\"A cool music name\", sort_by=\"relevance\", results_type=\"video\", limit=1))\n\nprint(\n    youtube_extractor.get_playlist_videos(\n        url=\"https://www.youtube.com/playlist?list=**********************************\", limit=None\n    )\n)\n\nprint(\n    youtube_extractor.get_channel_videos(\n        channel_id=\"************************\",\n        channel_url=\"https://www.youtube.com/@********\",\n        channel_username=\"********\",\n        sort_by=\"newest\",\n        content_type=\"videos\",\n        limit=None,\n    )\n)\n\n# All functions are documented and have detailed typings, use your development IDE to learn more.\n\n```\n\n```python\nfrom streamsnapper import Merger\n\n\nmerger = Merger(\n    logging=False\n)\n\nmerger.merge(\n    video_path='path/to/video',\n    audio_path='path/to/audio',\n    output_path='path/to/output',\n    ffmpeg_path='local'\n)\n\n# All functions are documented and have detailed typings, use your development IDE to learn more.\n\n```\n\n### Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, fork the repository and create a pull request. You can also simply open an issue and describe your ideas or report bugs. **Don't forget to give the project a star if you like it!**\n\n1. Fork the project;\n2. Create your feature branch \u30fb `git checkout -b feature/{feature_name}`;\n3. Commit your changes \u30fb `git commit -m \"{commit_message}\"`;\n4. Push to the branch \u30fb `git push origin feature/{feature_name}`;\n5. Open a pull request, describing the changes you made and wait for a review.\n\n### Disclaimer\n\nPlease note that downloading copyrighted content from some media services may be illegal in your country. This tool is designed for educational purposes only. Use at your own risk.\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "StreamSnapper is an intuitive library designed to simplify, improve, and organize YouTube and Youtube Music media streams. It offers scraping functions with higher speed extraction and efficiency with the latest tools to perform such processes.",
    "version": "0.3.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/henrique-coder/streamsnapper/issues",
        "Changelog": "https://github.com/henrique-coder/streamsnapper/releases/latest",
        "Documentation": "https://github.com/henrique-coder/streamsnapper/blob/main/README.md",
        "Homepage": "https://github.com/henrique-coder/streamsnapper",
        "Repository": "https://github.com/henrique-coder/streamsnapper"
    },
    "split_keywords": [
        "stream",
        " snapper",
        " scraper",
        " downloader",
        " merger",
        " youtube"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "085b03452e88b7e9c7e7bd3d52b056328d9110f4e89ca894fc79aa46084e6ddc",
                "md5": "38cd6be2f0b38ce4cc5c943a813d0cf6",
                "sha256": "14b27c6c6ff0da7f195672a4d8ea5a95fe0aff028e309e40b9c5a3e32a344505"
            },
            "downloads": -1,
            "filename": "streamsnapper-0.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "38cd6be2f0b38ce4cc5c943a813d0cf6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 15881,
            "upload_time": "2025-01-17T19:31:51",
            "upload_time_iso_8601": "2025-01-17T19:31:51.351351Z",
            "url": "https://files.pythonhosted.org/packages/08/5b/03452e88b7e9c7e7bd3d52b056328d9110f4e89ca894fc79aa46084e6ddc/streamsnapper-0.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "75cd653831c3e9ab663d98c20c6064ad881a11b5df6e4ab3ed23a2d7ed3e72de",
                "md5": "1f68fbe2ea6f1ea4b7613aa1efb82b81",
                "sha256": "68a608721dabaf00f3255a5758059669b518c7c3cbb733d32500422549564ea9"
            },
            "downloads": -1,
            "filename": "streamsnapper-0.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "1f68fbe2ea6f1ea4b7613aa1efb82b81",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 15560,
            "upload_time": "2025-01-17T19:31:53",
            "upload_time_iso_8601": "2025-01-17T19:31:53.172767Z",
            "url": "https://files.pythonhosted.org/packages/75/cd/653831c3e9ab663d98c20c6064ad881a11b5df6e4ab3ed23a2d7ed3e72de/streamsnapper-0.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-17 19:31:53",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "henrique-coder",
    "github_project": "streamsnapper",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "streamsnapper"
}
        
Elapsed time: 0.44736s