diff --git a/.github/DISCUSSION_TEMPLATE/general.yml b/.github/DISCUSSION_TEMPLATE/general.yml index 2e07c5ab..e047548e 100644 --- a/.github/DISCUSSION_TEMPLATE/general.yml +++ b/.github/DISCUSSION_TEMPLATE/general.yml @@ -49,4 +49,4 @@ body: ---- - [❤️ Love Streamlink? Please consider supporting the project maintainers. Thanks! ❤️](https://streamlink.github.io/donate.html) + [❤️ Love Streamlink? Please consider supporting the project maintainers. Thanks! ❤️](https://streamlink.github.io/latest/donate.html) diff --git a/.github/DISCUSSION_TEMPLATE/q-a.yml b/.github/DISCUSSION_TEMPLATE/q-a.yml index 2e07c5ab..e047548e 100644 --- a/.github/DISCUSSION_TEMPLATE/q-a.yml +++ b/.github/DISCUSSION_TEMPLATE/q-a.yml @@ -49,4 +49,4 @@ body: ---- - [❤️ Love Streamlink? Please consider supporting the project maintainers. Thanks! ❤️](https://streamlink.github.io/donate.html) + [❤️ Love Streamlink? Please consider supporting the project maintainers. Thanks! ❤️](https://streamlink.github.io/latest/donate.html) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index e09c0989..fdb33e38 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1 +1,2 @@ -open_collective: streamlink +custom: + - "https://streamlink.github.io/latest/donate.html" diff --git a/.github/ISSUE_TEMPLATE/1_plugin_issue.yml b/.github/ISSUE_TEMPLATE/1_plugin_issue.yml index b308ddc1..97ee64f4 100644 --- a/.github/ISSUE_TEMPLATE/1_plugin_issue.yml +++ b/.github/ISSUE_TEMPLATE/1_plugin_issue.yml @@ -77,4 +77,4 @@ body: ---- - [❤️ Love Streamlink? Please consider supporting the project maintainers. Thanks! ❤️](https://streamlink.github.io/donate.html) + [❤️ Love Streamlink? Please consider supporting the project maintainers. Thanks! ❤️](https://streamlink.github.io/latest/donate.html) diff --git a/.github/ISSUE_TEMPLATE/2_bug_report.yml b/.github/ISSUE_TEMPLATE/2_bug_report.yml index e4a7f207..a1ac60a9 100644 --- a/.github/ISSUE_TEMPLATE/2_bug_report.yml +++ b/.github/ISSUE_TEMPLATE/2_bug_report.yml @@ -81,4 +81,4 @@ body: ---- - [❤️ Love Streamlink? Please consider supporting the project maintainers. Thanks! ❤️](https://streamlink.github.io/donate.html) + [❤️ Love Streamlink? Please consider supporting the project maintainers. Thanks! ❤️](https://streamlink.github.io/latest/donate.html) diff --git a/.github/ISSUE_TEMPLATE/3_plugin_request.yml b/.github/ISSUE_TEMPLATE/3_plugin_request.yml index 600b18c0..16d443b5 100644 --- a/.github/ISSUE_TEMPLATE/3_plugin_request.yml +++ b/.github/ISSUE_TEMPLATE/3_plugin_request.yml @@ -64,4 +64,4 @@ body: ---- - [❤️ Love Streamlink? Please consider supporting the project maintainers. Thanks! ❤️](https://streamlink.github.io/donate.html) + [❤️ Love Streamlink? Please consider supporting the project maintainers. Thanks! ❤️](https://streamlink.github.io/latest/donate.html) diff --git a/.github/ISSUE_TEMPLATE/4_feature_request.yml b/.github/ISSUE_TEMPLATE/4_feature_request.yml index 87e4ce04..6bdb1d9f 100644 --- a/.github/ISSUE_TEMPLATE/4_feature_request.yml +++ b/.github/ISSUE_TEMPLATE/4_feature_request.yml @@ -50,4 +50,4 @@ body: ---- - [❤️ Love Streamlink? Please consider supporting the project maintainers. Thanks! ❤️](https://streamlink.github.io/donate.html) + [❤️ Love Streamlink? Please consider supporting the project maintainers. Thanks! ❤️](https://streamlink.github.io/latest/donate.html) diff --git a/.github/release_template.md b/.github/release_template.md index c607d286..a11b8b1b 100644 --- a/.github/release_template.md +++ b/.github/release_template.md @@ -13,7 +13,7 @@ Please see the [CLI documentation](https://streamlink.github.io/cli.html) for ho ## ❤️ Support -If you think that Streamlink is useful and if you want to keep the project alive, then please consider supporting its maintainers by sending a small and optionally recurring tip via the [available options](https://streamlink.github.io/donate.html). +If you think that Streamlink is useful and if you want to keep the project alive, then please consider supporting its maintainers by sending a small and optionally recurring tip via the [available options](https://streamlink.github.io/latest/donate.html). Your support is very much appreciated, thank you! {%- if contributors %} diff --git a/README.md b/README.md index 95bb4c0c..aa9df8ad 100644 --- a/README.md +++ b/README.md @@ -1,106 +1,84 @@ -# [Streamlink][streamlink-website] +

Streamlink
Streamlink

-[![Github build status][workflow-status-badge]][workflow-status] -[![codecov.io][codecov-coverage-badge]][codecov-coverage] [![Backers on Open Collective][opencollective-backers-badge]](#backers) [![Sponsors on Open Collective][opencollective-sponsors-badge]](#sponsors) +

+ Supported Python versions + Latest release + License + Open issues + Build status + Overall code coverage +

-Streamlink is a CLI utility which pipes video streams from various services into a video player, such as VLC. +

+ A Python library and command-line interface which pipes streams from various services into a video player.
+ Avoid resource-heavy and unoptimized websites, and still enjoy streamed content. +

-The main purpose of streamlink is to avoid resource-heavy and unoptimized websites, while still allowing the user to enjoy various streamed content. - -Streamlink is a fork of the [Livestreamer][livestreamer] project. - -Please note that by using this application you're bypassing ads run by -sites such as Twitch.tv. Please consider donating or paying for subscription -services when they are available for the content you consume and enjoy. +

+ Streamlink was forked in 2016 from the abandoned Livestreamer project. +

-# [Installation][streamlink-installation] +# 📦 Installation -Please refer to our documentation for different ways to install Streamlink: +Please take a look at the documentation for different ways of installing Streamlink: - [Windows][streamlink-installation-windows] - [macOS][streamlink-installation-macos] - [Linux and BSD][streamlink-installation-linux-and-bsd] - [PyPI package and source code][streamlink-installation-pypi-source] -# Features -Streamlink is built upon a plugin system which allows support for new services to be easily added. -Most of the big streaming services are supported, such as: +# 👍 Features + +Streamlink is built on top of a plugin system which allows support for new services to be added easily. + +Most of the popular streaming services are supported, such as: - [Twitch](https://www.twitch.tv) - [YouTube](https://www.youtube.com) - [Livestream](https://livestream.com) - [Dailymotion](https://www.dailymotion.com) -... and many more. A full list of plugins currently included can be found on the [plugin page][streamlink-plugins]. +... and many more. A list of all plugins currently included can be found on the [plugins page][streamlink-plugins]. -# Quickstart +# 💡 Quickstart -After installing, simply use: +After installing, simply run: -``` -streamlink STREAMURL best +```sh +streamlink "STREAMURL" best ``` -The default behavior of Streamlink is to play back streams in the VLC player. +The default behavior of Streamlink is to play back streams in the [VLC player][player-vlc], but a lot of other options and output methods are available, such as writing the stream to the filesystem, reading stream metadata, etc. -For more in-depth usage and install instructions, please refer to the [detailed documentation][streamlink-documentation]. +For more in-depth usage, please refer to the [CLI documentation][streamlink-documentation-cli]. + +An [API guide][streamlink-documentation-apiguide] and [API reference][streamlink-documentation-apiref] is available for Python implementors of Streamlink. -# Contributing +# 🙏 Contributing All contributions are welcome. Feel free to open a new thread on the issue tracker or submit a new pull request. Please read [CONTRIBUTING.md][contributing] first. Thanks! -[![Contributors][opencollective-contributors]][contributors] + +# ❤️ Support + +If you think that Streamlink is useful and if you want to keep the project alive, then please consider supporting its maintainers by sending a small and optionally recurring tip via the [available options][support]. +Your support is very much appreciated, thank you! -## Backers - -Thank you to all our backers! \[[Become a backer][opencollective-backer]\] - -[![Backers on Open Collective][opencollective-backers-image]][opencollective-backers] - - -## Sponsors - -Support this project by becoming a sponsor. Your logo will show up here with a link to your website. \[[Become a sponsor][opencollective-sponsor]\] - -[![Open Collective Streamlink Sponsor](https://opencollective.com/streamlink/sponsor/0/avatar.svg)](https://opencollective.com/streamlink/sponsor/0/website) -[![Open Collective Streamlink Sponsor](https://opencollective.com/streamlink/sponsor/1/avatar.svg)](https://opencollective.com/streamlink/sponsor/1/website) -[![Open Collective Streamlink Sponsor](https://opencollective.com/streamlink/sponsor/2/avatar.svg)](https://opencollective.com/streamlink/sponsor/2/website) -[![Open Collective Streamlink Sponsor](https://opencollective.com/streamlink/sponsor/3/avatar.svg)](https://opencollective.com/streamlink/sponsor/3/website) -[![Open Collective Streamlink Sponsor](https://opencollective.com/streamlink/sponsor/4/avatar.svg)](https://opencollective.com/streamlink/sponsor/4/website) -[![Open Collective Streamlink Sponsor](https://opencollective.com/streamlink/sponsor/5/avatar.svg)](https://opencollective.com/streamlink/sponsor/5/website) -[![Open Collective Streamlink Sponsor](https://opencollective.com/streamlink/sponsor/6/avatar.svg)](https://opencollective.com/streamlink/sponsor/6/website) -[![Open Collective Streamlink Sponsor](https://opencollective.com/streamlink/sponsor/7/avatar.svg)](https://opencollective.com/streamlink/sponsor/7/website) -[![Open Collective Streamlink Sponsor](https://opencollective.com/streamlink/sponsor/8/avatar.svg)](https://opencollective.com/streamlink/sponsor/8/website) -[![Open Collective Streamlink Sponsor](https://opencollective.com/streamlink/sponsor/9/avatar.svg)](https://opencollective.com/streamlink/sponsor/9/website) - - - [streamlink-website]: https://streamlink.github.io - [streamlink-plugins]: https://streamlink.github.io/plugins.html - [streamlink-documentation]: https://streamlink.github.io/cli.html - [streamlink-installation]: https://streamlink.github.io/install.html [streamlink-installation-windows]: https://streamlink.github.io/install.html#windows [streamlink-installation-macos]: https://streamlink.github.io/install.html#macos [streamlink-installation-linux-and-bsd]: https://streamlink.github.io/install.html#linux-and-bsd [streamlink-installation-pypi-source]: https://streamlink.github.io/install.html#pypi-package-and-source-code - [livestreamer]: https://github.com/chrippa/livestreamer + [streamlink-documentation-cli]: https://streamlink.github.io/cli.html + [streamlink-documentation-apiguide]: https://streamlink.github.io/api_guide.html + [streamlink-documentation-apiref]: https://streamlink.github.io/api.html + [streamlink-plugins]: https://streamlink.github.io/plugins.html + [player-vlc]: https://www.videolan.org/vlc/ [contributing]: https://github.com/streamlink/streamlink/blob/master/CONTRIBUTING.md - [changelog]: https://github.com/streamlink/streamlink/blob/master/CHANGELOG.rst - [contributors]: https://github.com/streamlink/streamlink/graphs/contributors - [workflow-status]: https://github.com/streamlink/streamlink/actions?query=event%3Apush - [workflow-status-badge]: https://github.com/streamlink/streamlink/workflows/Test,%20build%20and%20deploy/badge.svg?branch=master&event=push - [codecov-coverage]: https://codecov.io/github/streamlink/streamlink?branch=master - [codecov-coverage-badge]: https://codecov.io/github/streamlink/streamlink/coverage.svg?branch=master - [opencollective-contributors]: https://opencollective.com/streamlink/contributors.svg?width=890 - [opencollective-backer]: https://opencollective.com/streamlink#backer - [opencollective-backers]: https://opencollective.com/streamlink#backers - [opencollective-backers-image]: https://opencollective.com/streamlink/backers.svg?width=890 - [opencollective-sponsor]: https://opencollective.com/streamlink#sponsor - [opencollective-backers-badge]: https://opencollective.com/streamlink/backers/badge.svg - [opencollective-sponsors-badge]: https://opencollective.com/streamlink/sponsors/badge.svg + [support]: https://streamlink.github.io/latest/donate.html diff --git a/docs/_static/styles/custom.css b/docs/_static/styles/custom.css index 6f5e3f1c..24bc0da1 100644 --- a/docs/_static/styles/custom.css +++ b/docs/_static/styles/custom.css @@ -288,14 +288,16 @@ table.table-custom-layout.table-custom-layout-dependencies tbody td { Content */ -.github-avatar { - float: left; - width: 150px; - height: 150px; - margin: 0 1rem 1rem 0; -} -.github-avatar + .container > ul > li { +.team-members { + display: flex; list-style: none; + justify-content: space-between; +} +.team-members a:after { + display: none !important; +} +.team-members figcaption a.headerlink { + display: none; } section#plugins dl.field-list { diff --git a/docs/donate.rst b/docs/donate.rst index 0474375d..7a99cc05 100644 --- a/docs/donate.rst +++ b/docs/donate.rst @@ -3,67 +3,95 @@ Donating Thank you for considering a donation to the Streamlink team! -Streamlink is an organization composed of a geographically diverse group of -individuals. Donations/tips can be sent in a variety of ways. If you would like -to donate directly to a specific user, please review their details in the -team section below. +Streamlink is an organization composed of a geographically diverse group of individuals. +Donations/tips can be sent in a variety of ways. -If you would prefer to donate to the team as a whole, please use our -`Open Collective `_. +If you want to show your support for the project and its team members by making an optionally recurring financial contribution, +then please take a look at the most recent or past contributions to one of Streamlink's repositories, issue trackers and +discussion forums on GitHub, and send your donations/tips directly to the people involved. +The necessary informations can be found on the respective GitHub profile of each person. -Note that donations are not tax deductible, as Streamlink does not operate as -a charitable organization. Your donation to the team or a team member may be -used in any way and does not come with expectations of work to be provided or +Note that donations are not tax deductible, as Streamlink does not operate as a charitable organization. + +Your donation to any team member may be used in any way and does not come with expectations of work to be provided or as payment for future work. -.. raw:: html - - Donate to our collective - +Team members +============ + +.. rst-class:: team-members -.. raw:: html +- .. figure:: https://github.com/back-to.png?size=100 + :alt: @back-to + :target: https://github.com/back-to + :width: 100 + :height: 100 + :align: center -

Individual team member donations

+ @back-to -Bastimeyer -^^^^^^^^^^ -.. container:: clearfix +- .. figure:: https://github.com/bastimeyer.png?size=100 + :alt: @bastimeyer + :target: https://github.com/bastimeyer + :width: 100 + :height: 100 + :align: center - .. image:: https://github.com/bastimeyer.png?size=150 - :class: github-avatar + @bastimeyer - .. container:: - - `Github `__ - - `Github Sponsors `__ - - `Paypal `__ - - `Bitcoin `__ :code:`1EZg8eBz4RdPb8pEzYD9JEzr9Fyitzj8j8` +- .. figure:: https://github.com/beardypig.png?size=100 + :alt: @beardypig + :target: https://github.com/beardypig + :width: 100 + :height: 100 + :align: center -Beardypig -^^^^^^^^^ + @beardypig -.. container:: clearfix - .. image:: https://github.com/beardypig.png?size=150 - :class: github-avatar +- .. figure:: https://github.com/gravyboat.png?size=100 + :alt: @gravyboat + :target: https://github.com/gravyboat + :width: 100 + :height: 100 + :align: center - .. container:: + @gravyboat - - `Github `__ - - `Bitcoin `__ :code:`1Ey3KZ9SwTj6QyASE6vgJVebUiJsW1HuRh` -Gravyboat -^^^^^^^^^ +- .. figure:: https://github.com/mkbloke.png?size=100 + :alt: @mkbloke + :target: https://github.com/mkbloke + :width: 100 + :height: 100 + :align: center -.. container:: clearfix + @mkbloke - .. image:: https://github.com/gravyboat.png?size=150 - :class: github-avatar - .. container:: +Useful links +============ - - `Github `__ - - `Github Sponsors `__ +- Streamlink's GitHub releases with the changelog summary and commit history of each release: + + https://github.com/streamlink/streamlink/releases + +- Streamlink's monthly repository activity: + + https://github.com/streamlink/streamlink/pulse/monthly + +- All Streamlink repositories: + + https://github.com/orgs/streamlink/repositories + + +**Shutdown of Streamlink's Open Collective account** + +In 2017, Streamlink started using Open Collective as a platform in order to receive tips from financial contributors for +supporting the team and for covering expenses. However, due to the composition of the team and the way work on this free +open source software project is done by individual team members on a variable and voluntary basis, it was determined that +the Open Collective account was not working as planned, and it was eventually shut down in 2023. diff --git a/docs/ext_github.py b/docs/ext_github.py index 12f20e5a..57ae23c6 100644 --- a/docs/ext_github.py +++ b/docs/ext_github.py @@ -63,5 +63,5 @@ class GithubReferences(Transform): def setup(app): app.add_config_value("github_project", None, "env") app.add_config_value("github_issue_pattern", r"#(\d+)", "env") - app.add_config_value("github_mention_pattern", r"@(\w+)", "env") + app.add_config_value("github_mention_pattern", r"@([\w-]+)", "env") app.add_transform(GithubReferences) diff --git a/setup.cfg b/setup.cfg index 470ea94b..751d2d74 100644 --- a/setup.cfg +++ b/setup.cfg @@ -10,7 +10,7 @@ project_urls = Documentation = https://streamlink.github.io/ Tracker = https://github.com/streamlink/streamlink/issues Source = https://github.com/streamlink/streamlink - Funding = https://opencollective.com/streamlink + Funding = https://streamlink.github.io/latest/donate.html license = Simplified BSD license_files = LICENSE classifiers =