Deployments
PyStream
Python module to, stream videos via authenticated sessions using FastAPI
Install
pip install stream-localhost
Sample Usage
import asyncio
import os
import pystream
if __name__ == '__main__':
kwargs = dict(
authorization={"Alan Turing": "Pr0gRamM1ng", "Linus Torvalds": "LinuxOS"},
video_source=os.path.join(os.path.expanduser('~'), 'Downloads')
)
# Add the following to host on local IP address, skip for localhost (127.0.0.1)
# kwargs["video_host"] = pystream.utils.get_local_ip()
asyncio.run(pystream.start(**kwargs))
Env Variables
💡 Environment variables can (optionally) be loaded from any plain text file.
Refer the wiki page for more information.
Mandatory
- AUTHORIZATION: Dictionary of key-value pairs with
usernameas key andpasswordas value. - VIDEO_SOURCE: Source path for video files.
💡 Files starting with
_(underscore) and.(dot) will be ignored
Optional
- VIDEO_HOST: IP address to host the video. Defaults to
127.0.0.1 - VIDEO_PORT: Port number to host the application. Defaults to
8000 - FILE_FORMATS: Sequence of supported video file formats. Defaults to
(.mp4, .mov) - WORKERS: Number of workers to spin up the
uvicornserver. Defaults to1 - WEBSITES: List of websites (supports regex) to add to CORS configuration. Required only if tunneled via CDN
- AUTO_THUMBNAIL: Boolean flag to auto generate thumbnail images for preview. Defaults to
True - KEY_FILE: Path to the private key file for SSL certificate. Defaults to
None - CERT_FILE: Path to the full chain file for SSL certificate. Defaults to
None - SECURE_SESSION: Boolean flag to secure the cookie
session_token. Defaults toFalse
💡 If
SECURE_SESSIONto set totrue, the cookiesession_tokenwill only be sent via HTTPS
This means that the server can ONLY be hosted viaHTTPSorlocalhost
Coding Standards
Docstring format: Google
Styling conventions: PEP 8 and isort
Release Notes
Requirement
pip install gitverse
Usage
gitverse-release reverse -f release_notes.rst -t 'Release Notes'
Linting
pre-commit will ensure linting, run pytest, generate runbook & release notes, and validate hyperlinks in ALL
markdown files (including Wiki pages)
Requirement
pip install sphinx==5.1.1 pre-commit recommonmark
Usage
pre-commit run --all-files
Pypi Package
https://pypi.org/project/stream-localhost/
Runbook
https://thevickypedia.github.io/PyStream/
License & copyright
© Vignesh Rao
Licensed under the MIT License
Metadata
Release files for stream-localhost 2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| stream_localhost-2.1-py3-none-any.whl | Python 3 | none | any | Details |
Release files / stream_localhost-2.1-py3-none-any.whl
| Download URL | stream_localhost-2.1-py3-none-any.whl |
|---|---|
| Size | 35.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4ed6ecce6f97e99c347bf4c9a7955b177c0bf4ea1590f933fc88dddde638b7fb
|
|
BLAKE2b-256 checksum How to use checksums |
85ff09458c782c3e0b6d64bc75813a8766b20ac0a0f339b999027cd7b64e036f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.2
|