{ "info": { "author": "Kyle Luce ", "author_email": "nomadmtb@users.noreply.github.com", "bugtrack_url": null, "classifiers": [], "description": "Twitchvod (v0.1.1) [![Build Status](https://travis-ci.com/nomadmtb/twitchvod.svg?branch=master)](https://travis-ci.com/nomadmtb/twitchvod)\n=========\n\n##### Installation\n`pip install twitchvod`\n\n---\n\n##### Compatibility\nThis package is python3 compatible. There is no support for python2 currently.\n\n`>= python 3.5.2`\n\n---\n\n**Please note that this library is to be used at your own risk. Using undocumented api interfaces is against the Twitch terms of service. I take no responsibility if your developer tokens get\nrevoked etc. However, if you would like to learn how this library works, please feel free to read through the source.**\n\nOkay now for the more interesting stuff.\n\n---\n\nThis API client will use your provided Twitch developer client_id to make several requests to Twitch API endpoints to fetch information related to a particular VOD. You can even query for all of the MPEG-2 Transport Stream files to which you can download however you wish. For this example, let's say you want to download VOD [372739399](https://www.twitch.tv/videos/372739399).\n\n```\n>>> from twitchvod import Client\n\n# Create client...\n>>> client = Client(\"TWITCH-DEV-APP-CLIENT-ID\")\n>>> client\n\n\n# Generate access token for VOD 372739399...\n>>> token = client.get_access_token(372739399)\n>>> token\n\n\n# Fetch the different vod qualities w/ token...\n>>> vods = client.get_vods(token)\n>>> vods\n[\n ,\n ,\n ,\n ,\n ,\n ,\n \n]\n\n# Get VOD chunks... There are 364 of them...\n>>> vod_chunk = client.get_chunks(vods[0])\n>>> vod_chunk\n\n\n# Get the MPEG-2 transport stream files... Boom!\n>>> mpeg2_ts_chunks = [c for c in vod_chunks.chunks()]\n>>> mpeg2_ts_chunks[:3]\n[\n ('1988.ts', 'https://vod-metro.twitch.tv/.../chunked/1988.ts'),\n ('1989.ts', 'https://vod-metro.twitch.tv/.../chunked/1989.ts'),\n ('1990.ts', 'https://vod-metro.twitch.tv/.../chunked/1990.ts')\n]\n```\n\n---\n\n##### Development Environment / Setup\nThis package is early in development, so if anyone has any questions or concerns you can raise a PR or Issue on the github repo.\n\n[nomadmtb/twitchvod on GitHub](https://github.com/nomadmtb/twitchvod)\n\n1. Git clone the above repo.\n`git clone git@github.com:nomadmtb/twitchvod.git`\n2. Move into the project.\n`cd twitchvod`\n3. Create virtualenv (assuming your have 3.7)\n`python3.7 -m venv .env`\n4. Activate virtualenv.\n`source .env/bin/activate`\n5. Install dev requirements.\n`pip install -r requirements.txt`\n\nWith the above set-up you can perform the following to get started.\n\n1. Run the unittests w/ pytest.\n`make test`\n2. Run the unittests w/ coverage + pytest.\n`make coverage`\n3. Install a local copy of the package.\n`python setup.py install`\n4. Remove the local copy of the package.\n`pip uninstall twitchvod`\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/nomadmtb/twitchvod", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "twitchvod", "package_url": "https://pypi.org/project/twitchvod/", "platform": "", "project_url": "https://pypi.org/project/twitchvod/", "project_urls": { "Homepage": "https://github.com/nomadmtb/twitchvod" }, "release_url": "https://pypi.org/project/twitchvod/0.1.1/", "requires_dist": [ "requests (<=2.21.0,>=2.13.0)" ], "requires_python": ">=3.5.2", "summary": "Fetch Twitch VOD MPEG-2 Stream Information", "version": "0.1.1" }, "last_serial": 4769200, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "d23c64fa698d8ea76245eba757fb3c8f", "sha256": "a51a86cc4a9c0e6e98faeb4d7dc7ac229abbedc07a8b96fa3b715c36f459d8bd" }, "downloads": -1, "filename": "twitchvod-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d23c64fa698d8ea76245eba757fb3c8f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.2", "size": 12162, "upload_time": "2019-02-01T03:02:11", "url": "https://files.pythonhosted.org/packages/25/a4/6809c52e7f4b23435b54232d86ee56d06f3f7b86bf3e71863051d88c103d/twitchvod-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9c2506e3b80e1d0346c3ae128fcc8f37", "sha256": "f440600dc49ed462c0f2f4f541ae115ee984a1b3ccb5dc1fe13483bb9923d820" }, "downloads": -1, "filename": "twitchvod-0.1.0.tar.gz", "has_sig": false, "md5_digest": "9c2506e3b80e1d0346c3ae128fcc8f37", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.2", "size": 8053, "upload_time": "2019-02-01T03:02:13", "url": "https://files.pythonhosted.org/packages/05/f5/4a3c1fd2db7ea291f1165e016c8f8821fd77da60049518bc2a5c1e82eeac/twitchvod-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "442a6b472addda6d28e7417a1d5fe9bb", "sha256": "bb8f85a3bf55c6bdc013980bc8c4b0e7d54830f4c2a453486248291eb21b9013" }, "downloads": -1, "filename": "twitchvod-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "442a6b472addda6d28e7417a1d5fe9bb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.2", "size": 12764, "upload_time": "2019-02-01T17:06:51", "url": "https://files.pythonhosted.org/packages/c2/cc/ef6c7e9bfdedf15a31dda94e1e7e1c6508d2ad4a44fd3f26b0b06d30752c/twitchvod-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "33fc471597263667e7102ad191861765", "sha256": "09ef5c8e072db3d231f289733c33b2fc4d4583be3c5ee22f488040d211f648f0" }, "downloads": -1, "filename": "twitchvod-0.1.1.tar.gz", "has_sig": false, "md5_digest": "33fc471597263667e7102ad191861765", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.2", "size": 9198, "upload_time": "2019-02-01T17:06:52", "url": "https://files.pythonhosted.org/packages/0a/6d/be1405080af84ac49d84d66ef08adcde4269478545ac2f4dc66c5e505c99/twitchvod-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "442a6b472addda6d28e7417a1d5fe9bb", "sha256": "bb8f85a3bf55c6bdc013980bc8c4b0e7d54830f4c2a453486248291eb21b9013" }, "downloads": -1, "filename": "twitchvod-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "442a6b472addda6d28e7417a1d5fe9bb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.2", "size": 12764, "upload_time": "2019-02-01T17:06:51", "url": "https://files.pythonhosted.org/packages/c2/cc/ef6c7e9bfdedf15a31dda94e1e7e1c6508d2ad4a44fd3f26b0b06d30752c/twitchvod-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "33fc471597263667e7102ad191861765", "sha256": "09ef5c8e072db3d231f289733c33b2fc4d4583be3c5ee22f488040d211f648f0" }, "downloads": -1, "filename": "twitchvod-0.1.1.tar.gz", "has_sig": false, "md5_digest": "33fc471597263667e7102ad191861765", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.2", "size": 9198, "upload_time": "2019-02-01T17:06:52", "url": "https://files.pythonhosted.org/packages/0a/6d/be1405080af84ac49d84d66ef08adcde4269478545ac2f4dc66c5e505c99/twitchvod-0.1.1.tar.gz" } ] }