- Add `python_version<"3.11"` environment marker to `exceptiongroup`:
It's a no-op package on Python 3.11 and above, so we don't have to
require it on all Python versions.
- Update compatibility imports
- Update dependency docs
Add the `exceptiongroup` dependency directly to Streamlink, so we
can write `ExceptionGroup` handling code on all supported versions
of Python without having to rely on `trio`'s conditional dependency.
- Replace `tool.versioningit.onbuild` hook with a custom implementation
which replaces the entire `streamlink._version` module (similar to
before) and which additionally removes `versioningit` from the
`build-system.requires` field in `pyproject.toml` and which sets
a static version string in `setup.py`
- Rewrite `streamlink._version` module
- Add and update comments
- Update docs
- Add tests
Move Streamlink's project metadata from setuptools's own `setup.cfg`
to the standardized `pyproject.toml` format (PEP621)
- Bump setuptools to `>=64.0.0`
- Bump pip dev-requirement to `>=21.0.0`
- Set two `author` entries, to keep the same `Author` and `Author-email`
core metadata in the resulting sdist and bdist packages
- Set `license.text` field instead of `license.file` and add the
setuptools-specific `license-files` config attribute, so that
the `License` and `License-File` core metadata doesn't change.
License data will receive another change in the future once PEP639
comes into effect
- By switching to PEP621 metadata, implicitly move the `Home-page`
core metadata to `Project-URL: Homepage, ...`
- Remove upper version constraint from `requires-python`
- Reformat some version strings of the `dependencies` field
- Add header grid-cards for quickly choosing the OS or PyPI package
- Rename "AppImages" section to "Linux AppImages"
- Greatly reduce noise in the "Windows binaries" and "Linux AppImages"
sections by replacing texts and lists with grid-cards and tables,
and remove "stable/nightly builds" sub-sections respectively
- Add SVG logos for Python and FFmpeg, obtained from original sources,
with slight modifications and optimizations applied
- Move up "Dependencies" section by one level
- Rewrite some texts for better clarity and fix some grammar errors
- Upgrade font-awesome from 5 to 6
Installing python header files is only relevant when building
dependencies with Python C extensions from source, like lxml or
pycryptodome, which is out of scope of the Streamlink docs.
- Add `certifi` as a direct dependency (already defined by `requests`)
and don't set a version range
- Set the `ca_certs` SSL option in `WebsocketClient` which defaults to
the CA certs file bundled by `certifi`, similar to HTTPS requests
made by `requests`