{ "info": { "author": "Michael Hirsch, Ph.D.", "author_email": "scivision@users.noreply.github.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: End Users/Desktop", "Operating System :: OS Independent", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Topic :: Multimedia :: Graphics :: Capture :: Screen Capture", "Topic :: Multimedia :: Sound/Audio :: Capture/Recording", "Topic :: Multimedia :: Video :: Capture" ], "description": "[![Actions Status](https://github.com/scivision/pylivestream/workflows/ci/badge.svg)](https://github.com/scivision/pylivestream/actions)\n\n[![pypi versions](https://img.shields.io/pypi/pyversions/PyLivestream.svg)](https://pypi.python.org/pypi/PyLivestream)\n[![Maintainability](https://api.codeclimate.com/v1/badges/b6557d474ec050e74629/maintainability)](https://codeclimate.com/github/scivision/ffmpeg-youtube-live/maintainability)\n[![PyPi Download stats](http://pepy.tech/badge/pylivestream)](http://pepy.tech/project/pylivestream)\n\n# Python scripted livestreaming using FFmpeg\n\nStreams to one or **multiple** streaming sites simultaneously, using pure object-oriented Python (no extra packages) and FFmpeg.\nTested with `flake8`, `mypy` type checking and `pytest`.\n`visual_tests.py` is a quick check of several command line scripting scenarios on your laptop.\nFFmpeg is used from Python `subprocess` to stream to sites including:\n\n* [Facebook Live](#facebook-live) (requires FFmpeg >= 4.2 due to mandatory RTMPS)\n* [YouTube Live](#youtube-live)\n* [Periscope](#periscope)\n* [Twitch](#twitch)\n* also Mixer, Ustream, Vimeo, Restream.io and more for streaming broadcasts.\n\n![PyLivestream diagram showing screen capture or webcam simultaneously livestreaming to multiple services.](./doc/logo.png)\n\n\n### PyLivestream benefits\n\n* Python scripts compute good streaming parameters, and emit the command used to copy and paste if desired.\n* Works on any OS (Mac, Linux, Windows) and computing platform, including PC, Mac, and Raspberry Pi.\n* Uses a [pylivestream.ini](./pylivestream/pylivestream.ini) file to adjust all parameters.\n\n### PyLivestream limitations\n\n* does *not* auto-restart if network connection glitches\n* is intended as a bare minimum command generator to run the FFmpeg program\n* is not intended for bidirectional robust streaming--consider a program/system based on Jitsi for that.\n* generally does not work from Windows Subsystem for Linux 1 because of lack of hardware interface in WSL1. It works fine from native Windows.\n\n### Design rationale\n\nWhy not do things without the command line, via linking libffmpeg, libgstreamer or libav?\n\n* the command-line approach does not require a compiler or OS-dependent libraries\n* once you get a setup working once, you don't even need Python anymore--just copy and paste the command line\n\n\n## Install\n\nRequirements:\n\n* FFmpeg ≥ 3.0\n* Python ≥ 3.6\n\nPython ≥ 3.6 is required due to extensive use of type hinting to ensure program quality.\n\n\nLatest release:\n\n python -m pip install PyLivestream\n\nDevelopment version:\n\n git clone https://github.com/scivision/PyLivestream\n\n cd PyLivestream\n\n python -m pip install -e .\n\n## Configuration: pylivestream.ini\n\nYou can skip past this section to \"stream start\" if it's confusing.\nThe defaults might work to get you started.\n\nThe [pylivestream.ini](./pylivestream/pylivestream.ini) file contains parameters relevant to your stream.\nThis file is copied into your `sys.prefix`/share/pylivestream directory upon `pip install pylivestream`.\n\nWe suggest copying this file to another location on your hard drive and editing, then specifying it for your streams.\n\nThe `[DEFAULT]` section has parameters that can be overridden for each site, if desired.\n\n* `screencap_origin`: origin (upper left corner) of screen capture region in pixels.\n* `screencap_res`: resolution of screen capture (area to capture, starting from origin)\n* `screencap_fps`: frames/sec of screen capture\n* `audiofs`: audio sampling frequency. Typically 44100 Hz (CD quality).\n* `audio_bps`: audio data rate--**leave blank if you want no audio** (usually used for \"file\", to make an animated GIF in post-processing)\n* `preset`: `veryfast` or `ultrafast` if CPU not able to keep up.\n\nNext are `sys.platform` specific parameters.\n\nSeek help in FFmpeg documentation, try capturing to a file first and then update\n[pylivestream.ini](./pylivestream/pylivestream.ini) for your `sys.platform`.\n\n* exe: override path to desired FFmpeg executable. In case you have multiple FFmpeg versions installed (say, from Anaconda Python).\n\nFinally are the per-site parameters.\nThe only thing you would possibly need to change here is the `server` for best performance for your geographic region.\nThe included [pylivestream.ini](./pylivestream/pylivestream.ini) is with default servers for the Northeastern USA.\n\n## Stream Start\n\nThe program will load a `*.key` file according to the configuration file key for the website.\nFor example, Periscope expects to see the stream hexadecimal key in `~/periscope.key`, as obtained from phone Periscope app.\nLikewise, YouTube expects a file `~/youtube.key` with the hexadecimal stream key and so on.\n\n### YouTube Live\n\n1. [configure](https://www.youtube.com/live_dashboard) YouTube Live.\n2. Edit file `youtube.key` to have the YouTube hexadecimal stream key\n3. Run Python script and chosen input will stream on YouTube Live.\n\n\n ScreenshareLivestream youtube\n\n### Facebook Live\n\nFacebook Live requires FFmpeg >= 4.2 due to mandatory RTMPS\n\n1. configure your Facebook Live stream\n2. Put stream ID from\n [](https://www.facebook.com/live/create)\n into the file `facebook.key`\n3. Run Python script for Facebook with chosen input\n\n\n ScreenshareLivestream facebook\n\n### Periscope\n\n1. create a new stream by EITHER:\n\n * from phone Periscope app, go to Profile -> Settings -> Periscope Producer and see your Stream Key.\n The \"checking source\" button will go to \"preview stream\" once you do step #2.\n * from computer web browser, go to\n [](https://www.periscope.tv/account/producer)\n and Create New Source.\n2. Put the hexadecimal stream key into `periscope.key`\n3. Run Python script for Periscope with chosen input\n\n\n ScreenshareLivestream periscope\n\nI prefer using the Phone method as then the phone is a \"second screen\"\nwhere I can see if the stream is lagging, and if I \"leave broadcast\" and\ncome back in, I can comment from my phone etc.\n\n### Twitch\n\n1. create stream from [Twitch Dashboard](http://www.twitch.tv/broadcast/dashboard). If you are not in the Northeast US, edit [pylivestream.ini](./pylivestream/pylivestream.ini) to have the [closest server](http://bashtech.net/twitch/ingest.php).\n2. put Twitch stream key into file `twitch.key`\n3. Run Python script for Twitch with chosen input\n\n\n ScreenshareLivestream twitch\n\n\n## Usage\n\nDue to the complexity of streaming and the non-specific error codes FFmpeg emits, the default behavior is that if FFmpeg detects one stream has failed, ALL streams will stop streaming and the program ends.\n\n* [pylivestream.ini](./pylivestream/pylivestream.ini) is setup for your computer and desired parameters\n* `site` is `facebook`, `periscope`, `youtube`, etc.\n* For `WebcamLivestream` and `ScreenshareLivestream`, more than one `site` can be specified for simultaneous multi-streaming\n* remember to setup a `*.key` file with the hexadecimal stream key for EACH site first, OR input the stream key into the \"key:\" field of your `*.ini` file.\n\n### Webcam\n\nNote: your system may not have a webcam, particularly if it's a virtual machine.\n\nConfig:\n\n* `webcam_res`: webcam resolution -- find from `v4l2-ctl --list-formats-ext` or webcam spec sheet.\n* `webcam_fps`: webcam fps -- found from command above or webcam spec sheet\n\nFind webcam name by:\n\n* Windows:\n\n ```sh\n ffmpeg -list_devices true -f dshow -i dummy\n ```\n* MacOS:\n\n ```sh\n ffmpeg -f avfoundation -list_devices true -i \"\"\n\n* Linux:\n\n ```sh\n v4l2-ctl --list-devices\n ```\n\n\nStream to multiple sites, in this example Periscope and YouTube Live simultaneously:\n\n```sh\nWebcamLivestream youtube periscope\n```\n\nor from devlopment code:\n\n```sh\npython Webcam.py youtube periscope\n```\n\n\n### Screen Share Livestream\n\nStream to multiple sites, in this example Periscope and YouTube Live simultaneously:\n\n```sh\nScreenshareLivestream youtube periscope\n```\n\nor from development code:\n\n```sh\npython Screenshare.py youtube periscope\n```\n\n\n### Image + Audio Livestream\n\nMicrophone audio + static image is accomplished by\n\n```sh\npython Microphone.py youtube periscope -image doc/logo.jpg\n```\nor wherever your image file is.\n\n### Audio-only Livestream\n\nAudio-only streaming is not typically allowed by the Video streaming sites.\nYou can test it to your own computer by:\n\n```sh\npython Microphone.py localhost\n```\n\n### File Livestream\n\nCaptions: if you have installed the optional `tinytag` Python module,\nthe Title - Artist will be added automatically onto the video from the\naudio/video files.\n\n#### Loop single video endlessly\n\n FileLoopLivestream site videofile\n\n#### several video files\n\nGlob list of video files to stream:\n\n```sh\nFileGlobLivestream path site -glob glob_pattern\n```\n\nor from development code:\n\n```sh\npython Glob.py path site -glob glob_pattern\n```\n\n* `-glob` glob pattern of files to stream e.g. \"*.avi\"\n* `-loop` optionally loop endlessly the globbed file list\n* `-shuffle` optionally shuffle the globbed file list\n* `-image` if you have AUDIO files, you should normally set an image to display, as most/all streaming sites REQUIRE a video feed--even a static image.\n* `-nometa` disable Title - Artist text overlay\n\n#### stream all videos in directory\n\nExample: all AVI videos in directory `~/Videos`:\n\n FileGlobLivestream ~/Videos youtube -glob \"*.avi\"\n\n#### stream endlessly looping videos\n\nExample: all AVI videos in `~/Videos` are endlessly looped:\n\n```sh\nFileGlobLivestream ~/Videos youtube -glob \"*.avi\" -loop\n```\n\n#### stream all audio files in directory\n\nGlob list of video files to stream. Suggest including a static -image (could be your logo):\n\n```sh\nFileGlobLivestream path site -glob glob_pattern -image image\n```\n\n* `path` path to where video files are\n* `glob_pattern` e.g. `*.avi` pattern matching video files\n* `-image` filename of image to use as stream background (REQUIRED for most websites)\n\nExample: stream all .mp3 audio under `~/music` directory:\n```sh\nFileGlobLivestream ~/music youtube -glob \"*.mp3\" -image mylogo.jpg\n```\n\nExample: stream all .mp3 audio in `~/music` with an animated GIF or video clip repeating:\n```sh\nFileGlobLivestream ~/music youtube -glob \"*.mp3\" -image myclip.avi\n```\nor\n```sh\nFileGlobLivestream ~/music youtube -glob \"*.mp3\" -image animated.gif\n```\n\n### Screen capture to disk\n\nThis script saves your screen capture to a file on your disk:\n\n ScreenCapture2disk myvid.avi\n\n## Utilities\n\n\n* `PyLivestream.get_framerate(vidfn)` gives the frames/sec of a video file.\n* `PyLivestream.get_resolution(vidfn)` gives the resolution (width x height) of video file.\n\n## Notes\n\n* Linux requires X11, not Wayland (choose at login)\n* `x11grab` was deprecated in FFmpeg 3.3, was previously replaced by `xcbgrab`\n* Reference [webpage](https://www.scivision.dev/youtube-live-ffmpeg-livestream/)\n* [Test videos](http://www.divx.com/en/devices/profiles/video) for looping/globbing\n\nComments on dropouts / lag for livestreaming in general (not just with this program):\n\n* Low CPU machines (like Raspberry Pi) may need to cut back on resolution.\n* live streaming takes an excellent quality (not necessarily high\n speed) Internet connection in general. Some DSL / wireless internet\n provider have really spotty performance. You might not notice this\n with HD Netflix due to deep buffering, but it will show up on livestreaming.\n* Do Skype / Duo / FaceTime work excellently for you on your network?\n If not, live streaming will not work well.\n* Try a wired (Ethernet) connection to the Internet.\n I have seen very expensive consumer WiFi APs that had bad performance in real world strenuous use (like live streaming).\n\n### Troubleshooting\n\nBlack / Blank desktop sharing video.\nIn general since this program generates command lines that are run by FFmpeg, try just using FFmpeg by itself to write to a video file.\nThis is a known issue with Wayland--instead use X11.\nSee [FFmpeg Desktop capture docs](https://trac.ffmpeg.org/wiki/Capture/Desktop).\n\n### YouTube stream health\n\nParticularly when streaming with a static background `-image`, YouTube will often warn in \"Stream Health\":\n\n> The stream's current bitrate is lower than the recommended bitrate.\n\nDisregard this warning as long as your image looks OK.\n\n### FFmpeg References\n\n* [streaming](https://trac.ffmpeg.org/wiki/EncodingForStreamingSites)\n* [webcam](https://trac.ffmpeg.org/wiki/Capture/Webcam)\n* webcam [overlay](https://trac.ffmpeg.org/wiki/EncodingForStreamingSites#Withwebcamoverlay)\n\n#### Windows\n\n* [gdigrab](https://ffmpeg.org/ffmpeg-devices.html#gdigrab)\n\nDirectShow didn't work for me on Windows 10, so I used gdigrab instead.\n\n* [DirectShow](https://trac.ffmpeg.org/wiki/DirectShow) device selection\n* DirectShow [examples](https://ffmpeg.org/ffmpeg-devices.html#Examples-4)\n\n### Stream References\n\n* [Twitch parameters](https://help.twitch.tv/customer/portal/articles/1253460-broadcast-requirements)\n* Twitch [servers](http://bashtech.net/twitch/ingest.php)\n* Twitch [encoding](https://stream.twitch.tv/encoding/)\n\n* [Periscope parameters](https://www.pscp.tv/help/external-encoders)\n* [YouTube Live parameters](https://support.google.com/youtube/answer/2853702)\n* [Facebook Live parameters](https://www.facebook.com/facebookmedia/get-started/live)\n* [Mixer parameters](https://watchbeam.zendesk.com/hc/en-us/articles/210090606-Stream-Settings-the-basics)\n* Mixer [server list](https://watchbeam.zendesk.com/hc/en-us/articles/209659883-How-to-change-your-Ingest-Server)\n* [Ustream parameters](https://support.ustream.tv/hc/en-us/articles/207852117-Internet-connection-and-recommended-encoding-settings)\n* Vimeo [config](https://help.vimeo.com/hc/en-us/articles/115012811168)\n* Vimeo [parameters](https://help.vimeo.com/hc/en-us/articles/115012811208-Encoder-guides)\n\n### Logo Credits\n\n* Owl PC: Creative Commons no attrib. commercial\n* YouTube: YouTube Brand Resources\n* Facebook: Wikimedia Commons\n* [Periscope](periscope.tv/press)", "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/scivision/pylivestream", "keywords": "youtube,ffmpeg,twitch,periscope,facebook live,restream.io", "license": "", "maintainer": "", "maintainer_email": "", "name": "pylivestream", "package_url": "https://pypi.org/project/pylivestream/", "platform": "", "project_url": "https://pypi.org/project/pylivestream/", "project_urls": { "Homepage": "https://github.com/scivision/pylivestream" }, "release_url": "https://pypi.org/project/pylivestream/1.9.5/", "requires_dist": null, "requires_python": ">= 3.6", "summary": "Livestream using FFmpeg to YouTube Live, Periscope, Facebook Live, Twitch, Mixer, and many more", "version": "1.9.5" }, "last_serial": 5903059, "releases": { "1.1.0": [ { "comment_text": "", "digests": { "md5": "2e01de565fbb6413715088a15c085674", "sha256": "7b724e3b10fa49f595d09ba7eb256dae58baedfc5f1416b5b0e82529014081c9" }, "downloads": -1, "filename": "PyLivestream-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2e01de565fbb6413715088a15c085674", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 11004, "upload_time": "2018-01-30T15:19:53", "url": "https://files.pythonhosted.org/packages/4a/ef/86ea66680af3dcca1c2f60958a3cfcf1948ebcde331035b2c2329796c9ec/PyLivestream-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e981b6a332d143c79a288a9089e994aa", "sha256": "e1e733fbd53bc1eebc37d7e8d73b0e120b3e712113522c7fe41d5a982f18fef6" }, "downloads": -1, "filename": "PyLivestream-1.1.0.tar.gz", "has_sig": false, "md5_digest": "e981b6a332d143c79a288a9089e994aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5942, "upload_time": "2018-01-30T15:19:52", "url": "https://files.pythonhosted.org/packages/04/d8/07ddeb61a679c37128270d8f3888284df9ebc509a88d69c58a87b4e4b715/PyLivestream-1.1.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "6319d1b804e3e84189c22574039a3602", "sha256": "6448f056aef1326214abb6ed60b118b504a46e9125d1a1ce77e5623cdca149f9" }, "downloads": -1, "filename": "PyLivestream-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6319d1b804e3e84189c22574039a3602", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 11050, "upload_time": "2018-01-31T06:43:24", "url": "https://files.pythonhosted.org/packages/5d/74/3c55c2a1afd0b0888d18982caba40e8d1e04c7dadfeac894060073110818/PyLivestream-1.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4fe07381039ec229c678115e0e103fd2", "sha256": "ac4695650cd9f1af5b0bbb148974f5340f50ec8981c9a42f6030315ae676a627" }, "downloads": -1, "filename": "PyLivestream-1.3.0.tar.gz", "has_sig": false, "md5_digest": "4fe07381039ec229c678115e0e103fd2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7757, "upload_time": "2018-01-31T06:43:23", "url": "https://files.pythonhosted.org/packages/80/e5/d7345797ddb167f14697437cfc642ef893957310e985b2768e539f45bb8a/PyLivestream-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "2893e766e09ef4a4fc4001723e49cdd5", "sha256": "ee798ea560473edd1977786101709c163c9471f7c0470fe05bc2eaacff37b20e" }, "downloads": -1, "filename": "PyLivestream-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2893e766e09ef4a4fc4001723e49cdd5", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 16490, "upload_time": "2018-02-10T23:50:17", "url": "https://files.pythonhosted.org/packages/e8/67/cd4feb43d6232644571a49d5b959f2e78561080ce27050fdf9a42da64e07/PyLivestream-1.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "183df85db8e3ab51d7542aa5c8757f13", "sha256": "b7ae882942a0b40f65d425d99776502c13372eb6eea27e12b98e10cbad865176" }, "downloads": -1, "filename": "PyLivestream-1.4.0.tar.gz", "has_sig": false, "md5_digest": "183df85db8e3ab51d7542aa5c8757f13", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12233, "upload_time": "2018-02-10T23:50:16", "url": "https://files.pythonhosted.org/packages/c8/16/acd3962c38970bef3c1fdde1223d10a95c02b74d91acf6ee77c80b5c7047/PyLivestream-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "f1c4944cf9a6f6b96f01577fbc7c8ad8", "sha256": "23eadba36820f0bbf9e31abb84e64f5ac7db445e4fa60b7eeb8bfe28b77e1fa1" }, "downloads": -1, "filename": "PyLivestream-1.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f1c4944cf9a6f6b96f01577fbc7c8ad8", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 16462, "upload_time": "2018-02-22T03:46:36", "url": "https://files.pythonhosted.org/packages/57/8e/e5aaf8c0599ed16ac63a2ae8475d8e880f3e2fa857619661b7e3be9927ce/PyLivestream-1.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ff62b30afd9257161a6d6dbf2238151b", "sha256": "28d3a2c9a3bd9964fc44879f2f8d53d857cf188b9733ebecd2157df6482e9bac" }, "downloads": -1, "filename": "PyLivestream-1.4.1.tar.gz", "has_sig": false, "md5_digest": "ff62b30afd9257161a6d6dbf2238151b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12212, "upload_time": "2018-02-22T03:46:35", "url": "https://files.pythonhosted.org/packages/8f/19/57f7b347a25e179bee74166062ef9fbd45701d04cda0d147eb33b250396e/PyLivestream-1.4.1.tar.gz" } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "dd20f2665a9e24322f415b1f25c0eafb", "sha256": "3737681ad90f3f39c9431b66498c9dc08a217e120a3e03fe6c092404b0fc9932" }, "downloads": -1, "filename": "PyLivestream-1.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "dd20f2665a9e24322f415b1f25c0eafb", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 16460, "upload_time": "2018-02-22T04:54:42", "url": "https://files.pythonhosted.org/packages/22/bf/f4328cf5aed8313e33e8745015eceb388d6b50e6836852bd721e73319f73/PyLivestream-1.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ab4077f01edc5cbaccbb7bb5f74a27cf", "sha256": "db2b6ea88d06749c1b5a4b81eee3a4236224485b8e3d51d82c43efc57b7f2ad4" }, "downloads": -1, "filename": "PyLivestream-1.4.2.tar.gz", "has_sig": false, "md5_digest": "ab4077f01edc5cbaccbb7bb5f74a27cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12204, "upload_time": "2018-02-22T04:54:41", "url": "https://files.pythonhosted.org/packages/77/ee/199a64b859f6241d8d339d1ae9a59331082c3596d2a984f71924b69d9924/PyLivestream-1.4.2.tar.gz" } ], "1.4.3": [ { "comment_text": "", "digests": { "md5": "2735e4412286db9dc8b9fb4192e38113", "sha256": "635d9fddf64fd7e0166f4aaf909ef7087f1e017ac124101b9b01d8efb1baef58" }, "downloads": -1, "filename": "PyLivestream-1.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "2735e4412286db9dc8b9fb4192e38113", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 16463, "upload_time": "2018-02-22T05:52:34", "url": "https://files.pythonhosted.org/packages/ee/e7/a8e25698b42689e9bbbfb31fdf99e0881c894968b1d1960804d822c4a670/PyLivestream-1.4.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d926ab0040cfcf509affb172feae4975", "sha256": "fc2c5a0ed3aa7109f9d3a1e59bc02ffb2bf036418fa7eacc4d0c75e26fa70c0e" }, "downloads": -1, "filename": "PyLivestream-1.4.3.tar.gz", "has_sig": false, "md5_digest": "d926ab0040cfcf509affb172feae4975", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12206, "upload_time": "2018-02-22T05:52:33", "url": "https://files.pythonhosted.org/packages/f1/4e/cb9169969102b2198f35d43e7a74c98a5dd95149de3dbef5f591f9cb6ce0/PyLivestream-1.4.3.tar.gz" } ], "1.4.5": [ { "comment_text": "", "digests": { "md5": "34752d52d81d78059ab8273147e8f892", "sha256": "505091a759f0a6443adcb0858e34229bef42f5415ced71329eae11c4204f11d2" }, "downloads": -1, "filename": "PyLivestream-1.4.5-py3-none-any.whl", "has_sig": false, "md5_digest": "34752d52d81d78059ab8273147e8f892", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 16912, "upload_time": "2018-03-02T05:06:34", "url": "https://files.pythonhosted.org/packages/e9/b5/0d8c0691525bcac8d12170341f687efe426b206e8acdbfb4be67bef836f4/PyLivestream-1.4.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "661fc4922066ea96f8e9b11e7958d639", "sha256": "e1f1b41aaaff43e7e0959dc8ba2df72258a80361c3a0400219a19830d2e70658" }, "downloads": -1, "filename": "PyLivestream-1.4.5.tar.gz", "has_sig": false, "md5_digest": "661fc4922066ea96f8e9b11e7958d639", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12582, "upload_time": "2018-03-02T05:06:36", "url": "https://files.pythonhosted.org/packages/60/5d/59f5d29acd7f4a6d9fa6f9da83af3f8beaac7792bcd82e7844bf878ce56e/PyLivestream-1.4.5.tar.gz" } ], "1.4.6": [ { "comment_text": "", "digests": { "md5": "62dd98e2eb03e8aa20d0dc2198ef471c", "sha256": "7393ec6707d60ba6fac8388cdc5d954b248a5125546292af660d8c36ed1ed92f" }, "downloads": -1, "filename": "PyLivestream-1.4.6-py3-none-any.whl", "has_sig": false, "md5_digest": "62dd98e2eb03e8aa20d0dc2198ef471c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 17090, "upload_time": "2018-03-02T19:43:15", "url": "https://files.pythonhosted.org/packages/25/72/3048737befec02b7706a92cb19d37a423a284a004fa2172a54f06ddddb57/PyLivestream-1.4.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3e1e9d3e394c0944d691e6650fad6da1", "sha256": "92f6395893f4b84f6b1bb2a59151089b9eaed3dae312ee295cd232d4f6ee2242" }, "downloads": -1, "filename": "PyLivestream-1.4.6.tar.gz", "has_sig": false, "md5_digest": "3e1e9d3e394c0944d691e6650fad6da1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12738, "upload_time": "2018-03-02T19:43:17", "url": "https://files.pythonhosted.org/packages/b2/4c/b4bbb70918d90825ea0ec165752b196eb4005d35e18179e0c493e0c1c9ae/PyLivestream-1.4.6.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "c5cf5728e089cceecba60aa5d3d7dee1", "sha256": "293c88589a92477ca4954a0303500c3065d413d90a00a2770a82ff28f5c71f77" }, "downloads": -1, "filename": "PyLivestream-1.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c5cf5728e089cceecba60aa5d3d7dee1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 17327, "upload_time": "2018-03-25T09:12:02", "url": "https://files.pythonhosted.org/packages/d8/39/56d5926c98bbeb549cb07c1861f5c8cbf161a0ca3c19ad6e5bd300995f2f/PyLivestream-1.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "640d0e0256b0ca106eae6a9266b0b4ca", "sha256": "35522589d1b275fe7437d1fffcb6c98a63baaacdbedba43c8a9b0a80fabd95c7" }, "downloads": -1, "filename": "PyLivestream-1.5.0.tar.gz", "has_sig": false, "md5_digest": "640d0e0256b0ca106eae6a9266b0b4ca", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 232515, "upload_time": "2018-03-25T09:12:03", "url": "https://files.pythonhosted.org/packages/27/f3/ee9205c5d5c6b30181e87ec5098e192c93ec515a5a5c062d758eec7d9ca1/PyLivestream-1.5.0.tar.gz" } ], "1.5.1": [ { "comment_text": "", "digests": { "md5": "8b268299f212315cbb904e4473d726ee", "sha256": "8cd34277df529fb8f52d639a90b780efaf184d05e3c54ca887b6feb4d67f12c8" }, "downloads": -1, "filename": "PyLivestream-1.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "8b268299f212315cbb904e4473d726ee", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 17354, "upload_time": "2018-03-25T09:20:59", "url": "https://files.pythonhosted.org/packages/50/ce/d81ececc6dcb502c7bb14458e754f4a74fb00ca29c18433a4728b9a922ac/PyLivestream-1.5.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3fec44bd3775ef5a98fc5365dd2803ab", "sha256": "bea93c59cbaff3f08025cfbd96c3fb8dd27b19ea41f1b483ce80b2f87c68a536" }, "downloads": -1, "filename": "PyLivestream-1.5.1.tar.gz", "has_sig": false, "md5_digest": "3fec44bd3775ef5a98fc5365dd2803ab", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 232539, "upload_time": "2018-03-25T09:21:01", "url": "https://files.pythonhosted.org/packages/13/00/26640d96e16f759cc9a4abe848ea0d3e7b2a9ddd46723adfe631f54cb9fd/PyLivestream-1.5.1.tar.gz" } ], "1.6.0": [ { "comment_text": "", "digests": { "md5": "32330d98b356fafd55fea42b89f5cae7", "sha256": "5921e9810f05d9099d9f0e036d51688a013d6999beda7839afe398d4605b2173" }, "downloads": -1, "filename": "PyLivestream-1.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "32330d98b356fafd55fea42b89f5cae7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 18472, "upload_time": "2018-04-04T19:01:49", "url": "https://files.pythonhosted.org/packages/10/ef/59afb21dd22cee031491996753cad6f7310dee9abbdac1648d09cfa05b4f/PyLivestream-1.6.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0186705f019aba5555bf24ae89652126", "sha256": "08ebf05e30f87f89b385ee64cd339db99882ce55237f765993896173abeec99d" }, "downloads": -1, "filename": "PyLivestream-1.6.0.tar.gz", "has_sig": false, "md5_digest": "0186705f019aba5555bf24ae89652126", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 233560, "upload_time": "2018-04-04T19:01:53", "url": "https://files.pythonhosted.org/packages/50/e6/29a430f7321ac089fd99506a38358097d4ac32360a5b9322eb3fcf1c0af3/PyLivestream-1.6.0.tar.gz" } ], "1.6.1": [ { "comment_text": "", "digests": { "md5": "2855627ac58e138d0ccd228a4c3167e9", "sha256": "addde2d0dbe992fa7a58accd30d2f0fd6f7a8d9e0870b94837f548037dd20777" }, "downloads": -1, "filename": "PyLivestream-1.6.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2855627ac58e138d0ccd228a4c3167e9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 18596, "upload_time": "2018-04-04T19:22:49", "url": "https://files.pythonhosted.org/packages/00/af/913d73dddf027adf24d4150fe5273b7185a1e86718bdb803f7e5843c52d5/PyLivestream-1.6.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c5514aca4aa1779782df4bf3c4874ebd", "sha256": "4ada50112bdf08c73f5302bc09842ea9cfa0d36b1a62be8f47b6f44bad8a1b30" }, "downloads": -1, "filename": "PyLivestream-1.6.1.tar.gz", "has_sig": false, "md5_digest": "c5514aca4aa1779782df4bf3c4874ebd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 233698, "upload_time": "2018-04-04T19:22:51", "url": "https://files.pythonhosted.org/packages/dd/a3/7572605c718298bea418cf771ce0b25c16965e020a748a9fca901a47f778/PyLivestream-1.6.1.tar.gz" } ], "1.6.1a0": [ { "comment_text": "", "digests": { "md5": "db3e34e7e4668d1a0bc44e9b3a629908", "sha256": "6dad0bcdc3479e0120b902d2991d3ae9fe7cbfeb43161e5254f2b6774d96b3ec" }, "downloads": -1, "filename": "PyLivestream-1.6.1a0-py3-none-any.whl", "has_sig": false, "md5_digest": "db3e34e7e4668d1a0bc44e9b3a629908", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 18644, "upload_time": "2018-04-04T19:26:16", "url": "https://files.pythonhosted.org/packages/c4/d0/c5bc82cd2216135268b9b9e155d2450e988f47392fd24d8598917499681b/PyLivestream-1.6.1a0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e96f2da4a86de7d5ca86af29cd972dbb", "sha256": "80c10fcfba7424757270b8b27a6dcb5fdd31597325ef063d2410367bde5afa7a" }, "downloads": -1, "filename": "PyLivestream-1.6.1a0.tar.gz", "has_sig": false, "md5_digest": "e96f2da4a86de7d5ca86af29cd972dbb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 233709, "upload_time": "2018-04-04T19:26:17", "url": "https://files.pythonhosted.org/packages/4c/0f/a120e3ab4e1e3eadbe652fafa5828a37912160b01a713e8da75957f0c2e1/PyLivestream-1.6.1a0.tar.gz" } ], "1.6.2": [ { "comment_text": "", "digests": { "md5": "73da5c5b7ff2e61799f6d44462225b84", "sha256": "f02e9efa68379d093ec868fb5a2dc45eacaabb903717b20151c387810c564d0c" }, "downloads": -1, "filename": "PyLivestream-1.6.2-py3-none-any.whl", "has_sig": false, "md5_digest": "73da5c5b7ff2e61799f6d44462225b84", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 19988, "upload_time": "2018-05-29T21:05:18", "url": "https://files.pythonhosted.org/packages/c2/51/7b106aa803507922668258d546ff764c2cd61b2531fbab232915159c55a8/PyLivestream-1.6.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c6557a34d9c842a128e0736caa0b973a", "sha256": "b16fc2cd020b3566ecd3099ad2d1a91380967631d8e951063312afbf35597efc" }, "downloads": -1, "filename": "PyLivestream-1.6.2.tar.gz", "has_sig": false, "md5_digest": "c6557a34d9c842a128e0736caa0b973a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 230503, "upload_time": "2018-05-29T21:05:20", "url": "https://files.pythonhosted.org/packages/77/9b/5e9fdfcb641da6b9e7ec0dfd369e0dc147d4e2c5fdc106e12257a4e20463/PyLivestream-1.6.2.tar.gz" } ], "1.6.3": [ { "comment_text": "", "digests": { "md5": "ffea09ea62d9cdf6b42b0cdfd2e54a3b", "sha256": "9cb698d05a49cb5ac3047b93afdf51fa89dfb075de9e65d48774e1dec3143c0a" }, "downloads": -1, "filename": "PyLivestream-1.6.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ffea09ea62d9cdf6b42b0cdfd2e54a3b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 20405, "upload_time": "2018-05-30T19:32:58", "url": "https://files.pythonhosted.org/packages/41/14/ce49841a637fbbc2f5d9911dbfebd07a66d519338234b8200d4e83f4f8ec/PyLivestream-1.6.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b26f91a9d3703780e72b053b2b4486e2", "sha256": "324d03dffb035f575bce65955db2b050f476c702f64b5ac8bccd542c77e5bce7" }, "downloads": -1, "filename": "PyLivestream-1.6.3.tar.gz", "has_sig": false, "md5_digest": "b26f91a9d3703780e72b053b2b4486e2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 230752, "upload_time": "2018-05-30T19:32:59", "url": "https://files.pythonhosted.org/packages/41/c3/eb8ba954e6daf1003723de2afaf4cbf6c98d91c4b9565bb010cb0e15303b/PyLivestream-1.6.3.tar.gz" } ], "1.6.4": [ { "comment_text": "", "digests": { "md5": "5bda3af90cc621d69021e46ee8ecdb29", "sha256": "76555691525b39adbfe3f06e62d5a7de27ce0c1009c0632fe50930f3f3b38008" }, "downloads": -1, "filename": "PyLivestream-1.6.4-py3-none-any.whl", "has_sig": false, "md5_digest": "5bda3af90cc621d69021e46ee8ecdb29", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 21562, "upload_time": "2018-05-30T21:31:10", "url": "https://files.pythonhosted.org/packages/ff/12/3dee3ffac6bf07386f845eb50440b7249d0c8bafef7c604ef8af3cbfb804/PyLivestream-1.6.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1577b8f3280096d67de02a34541b4025", "sha256": "6f30603142d3d69d1b5f30f537ebc5454f0b87189e3210d8690b91e6b63bd71f" }, "downloads": -1, "filename": "PyLivestream-1.6.4.tar.gz", "has_sig": false, "md5_digest": "1577b8f3280096d67de02a34541b4025", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 231105, "upload_time": "2018-05-30T21:31:12", "url": "https://files.pythonhosted.org/packages/3f/a5/6430273af8a65c62a84e09eb4c1bf167cff6614c776fd80e89ac5adb7418/PyLivestream-1.6.4.tar.gz" } ], "1.6.5": [ { "comment_text": "", "digests": { "md5": "243f9adedebc6e9c35ff38d5c005b6eb", "sha256": "5efbde8a809325dfe2accf0d733dda26e0a9c071e61d4c2d16d9dc8bfd58ba6f" }, "downloads": -1, "filename": "PyLivestream-1.6.5-py3-none-any.whl", "has_sig": false, "md5_digest": "243f9adedebc6e9c35ff38d5c005b6eb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 22759, "upload_time": "2018-05-31T16:59:24", "url": "https://files.pythonhosted.org/packages/7d/eb/dc51cf5f6a0e5f06a67222539960f434cc9ca3fc519fb39774877a47bd00/PyLivestream-1.6.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ecc911cf38d7ad9eb65a4fb73618a109", "sha256": "2fc94dac5e0f1fbcbdfcfe50e611e9b54e12692b9e33c1c13ab6213a9790bd25" }, "downloads": -1, "filename": "PyLivestream-1.6.5.tar.gz", "has_sig": false, "md5_digest": "ecc911cf38d7ad9eb65a4fb73618a109", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 170308, "upload_time": "2018-05-31T16:59:25", "url": "https://files.pythonhosted.org/packages/4b/8c/eb06844c3da89ca2d586e8d6095425deae4cb252e58012c181987e75c391/PyLivestream-1.6.5.tar.gz" } ], "1.6.6": [ { "comment_text": "", "digests": { "md5": "2b505498eed5a980b498e9520a6a88ee", "sha256": "9074c5f706df3ab13d05d51845b5696fc5bc78cba708a369d28d146f9fcea318" }, "downloads": -1, "filename": "PyLivestream-1.6.6-py3-none-any.whl", "has_sig": false, "md5_digest": "2b505498eed5a980b498e9520a6a88ee", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 23603, "upload_time": "2018-06-01T17:41:54", "url": "https://files.pythonhosted.org/packages/95/f4/6844d50389d4a57c7f348b64cd974cb935a9bd96d40278bcdd463e5b73b5/PyLivestream-1.6.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "93e0dba55d45fedbd0a2d63d9005bf01", "sha256": "c9ea0064979923942c39c200329c82c73eda40463e1677b1fd7f2e0bac26fdd8" }, "downloads": -1, "filename": "PyLivestream-1.6.6.tar.gz", "has_sig": false, "md5_digest": "93e0dba55d45fedbd0a2d63d9005bf01", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 170833, "upload_time": "2018-06-01T17:41:56", "url": "https://files.pythonhosted.org/packages/4d/f7/20cae1d89c4a88d431edd1a12e25c0fb2ce2e935eb853a12519d945fb567/PyLivestream-1.6.6.tar.gz" } ], "1.7.0": [ { "comment_text": "", "digests": { "md5": "6c82864c39dac3b7ef973d2e5138765f", "sha256": "d414dd83eccf459770c196ec9bc67f9a22aa95429e1d71c8c8b2d2264ece0a83" }, "downloads": -1, "filename": "PyLivestream-1.7.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6c82864c39dac3b7ef973d2e5138765f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 25811, "upload_time": "2018-06-03T17:05:54", "url": "https://files.pythonhosted.org/packages/19/89/ce6fa1b63ecdacbe563ef4aa66b3044b0eb9248d1c46b0043d3a3708c34f/PyLivestream-1.7.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c43552b7ac87871159f29dfa4b3f95b0", "sha256": "c4250f3de69fabd01be0854ebe9ca0d6b8b885d5431f8df96b0b0a3ef93f98d1" }, "downloads": -1, "filename": "PyLivestream-1.7.0.tar.gz", "has_sig": false, "md5_digest": "c43552b7ac87871159f29dfa4b3f95b0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 172561, "upload_time": "2018-06-03T17:05:56", "url": "https://files.pythonhosted.org/packages/ac/41/0b09f4d351efba9bb318bd773e4cda2b1f9086c1826afc99cae15745ea08/PyLivestream-1.7.0.tar.gz" } ], "1.7.1": [ { "comment_text": "", "digests": { "md5": "648b3483a7819743360a3da292f610fb", "sha256": "499764eb305a6fb687c39bc53b9882dfeca708dfbcf239a826696fffd62f5ea9" }, "downloads": -1, "filename": "PyLivestream-1.7.1-py3-none-any.whl", "has_sig": false, "md5_digest": "648b3483a7819743360a3da292f610fb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">= 3.6", "size": 26287, "upload_time": "2018-07-08T03:35:24", "url": "https://files.pythonhosted.org/packages/c3/60/c257fc39443a875abc59cea6ce4a730d2116855de2800b3e2022a3996dc8/PyLivestream-1.7.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "543ccca61d9bacfe8598172bd8ba8811", "sha256": "ed8772f7dabede6dd75e9b5cdc0354e9329f87c70634fbdc966a00c8937cc9c8" }, "downloads": -1, "filename": "PyLivestream-1.7.1.tar.gz", "has_sig": false, "md5_digest": "543ccca61d9bacfe8598172bd8ba8811", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6", "size": 177615, "upload_time": "2018-07-08T03:35:26", "url": "https://files.pythonhosted.org/packages/2a/82/bd4ff55b528ddf95fb686b2ade01a059486a3e5b66a582c94533ee386c19/PyLivestream-1.7.1.tar.gz" } ], "1.7.2": [ { "comment_text": "", "digests": { "md5": "74939754cff36d6586176a033fc2a0a0", "sha256": "1532a6229d1a01bf738d01def6c23fff8d002d2120a6654308525790a56755f4" }, "downloads": -1, "filename": "PyLivestream-1.7.2.tar.gz", "has_sig": false, "md5_digest": "74939754cff36d6586176a033fc2a0a0", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6", "size": 177960, "upload_time": "2018-07-26T15:24:17", "url": "https://files.pythonhosted.org/packages/ea/bb/05f86895b3a9c409d50490018ae9ca7b8965e74c1a7b8cf9a2449d3e7bcd/PyLivestream-1.7.2.tar.gz" } ], "1.7.3": [ { "comment_text": "", "digests": { "md5": "6bb63df230ce3502de7b5e15de3996d8", "sha256": "9462202c33d68d072f53ee67abdaac8e2238c4509a60ac479b4e34db917394bd" }, "downloads": -1, "filename": "pylivestream-1.7.3.tar.gz", "has_sig": false, "md5_digest": "6bb63df230ce3502de7b5e15de3996d8", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6", "size": 178028, "upload_time": "2018-08-14T16:36:11", "url": "https://files.pythonhosted.org/packages/f4/4e/b6074a93275cf5dd3912e108d55bcb8235769cc970e75b286e614912f679/pylivestream-1.7.3.tar.gz" } ], "1.8.0": [ { "comment_text": "", "digests": { "md5": "c99e9d5bcf5b175f40b3a9bbb797c645", "sha256": "268c5e23dc8aafbfb18e0d60aa6e9fac4f7de925e167091389cc0e185358940b" }, "downloads": -1, "filename": "pylivestream-1.8.0.tar.gz", "has_sig": false, "md5_digest": "c99e9d5bcf5b175f40b3a9bbb797c645", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6", "size": 178930, "upload_time": "2019-01-11T20:44:00", "url": "https://files.pythonhosted.org/packages/c6/10/cfe104ad0c6cef05cc42608a78c6a6969da3797dccdd163de688a295f032/pylivestream-1.8.0.tar.gz" } ], "1.9.0": [ { "comment_text": "", "digests": { "md5": "cac47df78468017b8520d31b6e42d39e", "sha256": "1edd68674c94c9dfdbe038edfa0076e4d012181a8ab4f8686f139d9443f37b17" }, "downloads": -1, "filename": "pylivestream-1.9.0.tar.gz", "has_sig": false, "md5_digest": "cac47df78468017b8520d31b6e42d39e", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6", "size": 3274339, "upload_time": "2019-05-30T17:01:15", "url": "https://files.pythonhosted.org/packages/3d/0f/b9fe0ed1b96fdcc6810564c83be475f81ce9e3e2cf99dc96a5bb99216c9e/pylivestream-1.9.0.tar.gz" } ], "1.9.1": [ { "comment_text": "", "digests": { "md5": "07a604a4d4cb517eb9305b9f0737659b", "sha256": "3dc2cfd04171793b781076ca81fcdd76806a712da2afc2d7e6336b9e7f193ae7" }, "downloads": -1, "filename": "pylivestream-1.9.1.tar.gz", "has_sig": false, "md5_digest": "07a604a4d4cb517eb9305b9f0737659b", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6", "size": 3274393, "upload_time": "2019-05-30T17:18:07", "url": "https://files.pythonhosted.org/packages/96/0c/648f9e17209aa7a4748a9f11b73da2c77714f38c07fa0958e40638d4576e/pylivestream-1.9.1.tar.gz" } ], "1.9.1.1": [ { "comment_text": "", "digests": { "md5": "3b3c90b454a5e4a2d92d832798274f4a", "sha256": "25e050da92ac352e314430762bab0afdc2863471e1bdc7629ccee24a2e3bc664" }, "downloads": -1, "filename": "pylivestream-1.9.1.1.tar.gz", "has_sig": false, "md5_digest": "3b3c90b454a5e4a2d92d832798274f4a", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6", "size": 3275226, "upload_time": "2019-05-30T17:30:08", "url": "https://files.pythonhosted.org/packages/cd/ef/9be9f1ff3b337779ba4af8aa81ac763f8f75cc949f8c6fb68158073bdcfe/pylivestream-1.9.1.1.tar.gz" } ], "1.9.2.0": [ { "comment_text": "", "digests": { "md5": "be7d37a13bc5e595888919435e3ad747", "sha256": "70076ec8cd7089f330bf0a28b17412ed2ddca2ec5f469f4d9b2d4e715e5158e2" }, "downloads": -1, "filename": "pylivestream-1.9.2.0.tar.gz", "has_sig": false, "md5_digest": "be7d37a13bc5e595888919435e3ad747", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6", "size": 329953, "upload_time": "2019-05-30T20:46:49", "url": "https://files.pythonhosted.org/packages/e1/35/938200de5c93db5bd79799076537202467ec4179b1cef0f540b4e5b193ce/pylivestream-1.9.2.0.tar.gz" } ], "1.9.3.0": [ { "comment_text": "", "digests": { "md5": "c4949d19e7a72a4ca693c4c00e272663", "sha256": "3978610d8d26e374b8b99563e9b7a839fa4fca2e2a328b6a6e1ecd2d807e480c" }, "downloads": -1, "filename": "pylivestream-1.9.3.0.tar.gz", "has_sig": false, "md5_digest": "c4949d19e7a72a4ca693c4c00e272663", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6", "size": 330367, "upload_time": "2019-05-31T17:35:49", "url": "https://files.pythonhosted.org/packages/ac/5d/e3e376473bedd13b72e32ebbec2928e78b0edf305c571ad7634d8bea2af0/pylivestream-1.9.3.0.tar.gz" } ], "1.9.4": [ { "comment_text": "", "digests": { "md5": "d62f30e820f93b3a5b81ed058b630e98", "sha256": "a69751734ce0d1c247c8777b3edab409bb6f66456ef2cc14efd257b7ddfb7fdf" }, "downloads": -1, "filename": "pylivestream-1.9.4.tar.gz", "has_sig": false, "md5_digest": "d62f30e820f93b3a5b81ed058b630e98", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6", "size": 318856, "upload_time": "2019-07-02T00:53:01", "url": "https://files.pythonhosted.org/packages/4d/93/5889842c17299698e18f6ae25d526fc2ada32d3a06177a7e5b3a6c994833/pylivestream-1.9.4.tar.gz" } ], "1.9.5": [ { "comment_text": "", "digests": { "md5": "484623fe985506d19d03ca5bffae9927", "sha256": "cf05cbc0a80b94e6cda4c028e3bf702db762d74626a315a12ec25dcc03176cb9" }, "downloads": -1, "filename": "pylivestream-1.9.5.tar.gz", "has_sig": false, "md5_digest": "484623fe985506d19d03ca5bffae9927", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6", "size": 173465, "upload_time": "2019-09-29T16:45:36", "url": "https://files.pythonhosted.org/packages/bc/05/96aaa285c34dec65f8b9f196dd086cb57b4a98e16f6d0656ee7f9ca91672/pylivestream-1.9.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "484623fe985506d19d03ca5bffae9927", "sha256": "cf05cbc0a80b94e6cda4c028e3bf702db762d74626a315a12ec25dcc03176cb9" }, "downloads": -1, "filename": "pylivestream-1.9.5.tar.gz", "has_sig": false, "md5_digest": "484623fe985506d19d03ca5bffae9927", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6", "size": 173465, "upload_time": "2019-09-29T16:45:36", "url": "https://files.pythonhosted.org/packages/bc/05/96aaa285c34dec65f8b9f196dd086cb57b4a98e16f6d0656ee7f9ca91672/pylivestream-1.9.5.tar.gz" } ] }