Skip to content

Commit 1f12f4a

Browse files
committed
Added new dependency for resolving stereo channels and sample rate from audio files. Added setters for rate and channel to expose them incase the meta data is incorrect.
2 parents 7bb21c2 + 62ff356 commit 1f12f4a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+2988
-221
lines changed

.github/PULL_REQUEST_TEMPLATE.md

-18
This file was deleted.

.github/workflows/publish.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ jobs:
1515
id: latest_version
1616
uses: abatilo/[email protected]
1717
with:
18-
owner: TwitchIO
18+
owner: PythonistaGuild
1919
repo: TwitchIO
2020

2121
- name: Set up Python
2222
uses: actions/setup-python@v1
2323
with:
24-
python-version: '3.9'
24+
python-version: '3.11'
2525

2626
- name: Install dependencies
2727
run: |

.github/workflows/signoff.yaml

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: validate-signoff
2+
on:
3+
pull_request:
4+
types:
5+
- opened
6+
- edited
7+
8+
jobs:
9+
validate:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: PR Description Check
13+
uses: pythonistaguild/[email protected]
14+
with:
15+
content: "[x] I have read and agree to the [Developer Certificate of Origin]"

.readthedocs.yml

-1
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,3 @@ python:
2121
path: .
2222
extra_requirements:
2323
- docs
24-
system_packages: true

README.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
.. image:: https://img.shields.io/pypi/dm/twitchio?color=black
1717
:target: https://pypi.org/project/twitchio
1818
:alt: PyPI - Downloads
19-
19+
2020

2121
TwitchIO is an asynchronous Python wrapper around the Twitch API and IRC, with a powerful command extension for creating Twitch Chat Bots. TwitchIO covers almost all of the new Twitch API and features support for commands, PubSub, Webhooks, and EventSub.
2222

@@ -104,7 +104,7 @@ Thank you to all those who contribute and help TwitchIO grow.
104104

105105
Special thanks to:
106106

107-
`SnowyLuma <https://github.com/SnowyLuma>`_
107+
`LostLuma (Lilly) <https://github.com/LostLuma>`_
108108

109109
`Harmon <https://github.com/Harmon758>`_
110110

docs/changelog.rst

+119-5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,121 @@
11
:orphan:
22

3-
Master
3+
4+
2.10.0
5+
=======
6+
- TwitchIO
7+
- Bug fixes
8+
- fix: :func:`~twitchio.PartialUser.fetch_markers` was passing list of one element from payload, now just passes element
9+
10+
- ext.commands
11+
- Changes
12+
- Added which alias failed to load in the error raised by :func:`~twitchio.ext.commands.Context.add_command`
13+
14+
- ext.eventsub
15+
- Additions
16+
- Added :method:`Twitchio.ext.eventsub.EventSubClient.subscribe_channel_unban_request_create <EventSubClient.subscribe_channel_unban_request_create>` /
17+
:method:`Twitchio.ext.eventsub.EventSubWSClient.subscribe_channel_unban_request_create <EventSubWSClient.subscribe_channel_unban_request_create>`
18+
- Added :method:`Twitchio.ext.eventsub.EventSubClient.subscribe_channel_unban_request_resolve <EventSubClient.subscribe_channel_unban_request_resolve>` /
19+
:method:`Twitchio.ext.eventsub.EventSubWSClient.subscribe_channel_unban_request_resolve <EventSubWSClient.subscribe_channel_unban_request_resolve>`
20+
- ext.sounds
21+
- Additions
22+
- Added TinyTag as a dependency to support retrieving audio metadata using TinyTag in `ext.sounds.__init__.py`.
23+
- added :method:`Twitchio.ext.sounds.rate setter.
24+
- added :method:`Twitchio.ext.sounds.channels setter.
25+
26+
27+
2.9.2
28+
=======
29+
- TwitchIO
30+
- Changes:
31+
- :func:`~twitchio.PartialUser.fetch_moderated_channels` returns "broadcaster_login" api field instead of "broadcaster_name"
32+
33+
- Bug fixes
34+
- fix: :func:`~twitchio.PartialUser.fetch_moderated_channels` used ``user_`` prefix from payload, now uses ``broadcaster_`` instead
35+
36+
- ext.commands
37+
- Bug fixes
38+
- Fixed return type of :func:`~twitchio.ext.commands.Context.get_user` to PartialChatter / Chatter from PartialUser / User.
39+
40+
41+
2.9.1
42+
=======
43+
- ext.eventsub
44+
- Bug fixes
45+
- fix: Special-cased a restart when a specific known bad frame is received.
46+
47+
48+
2.9.0
49+
=======
50+
- TwitchIO
51+
- Additions
52+
- Added :class:`~twitchio.AdSchedule` and :class:`~twitchio.Emote`
53+
- Added the new ad-related methods for :class:`~twitchio.PartialUser`:
54+
- :func:`~twitchio.PartialUser.fetch_ad_schedule`
55+
- :func:`~twitchio.PartialUser.snooze_ad`
56+
- Added new method :func:`~twitchio.PartialUser.fetch_user_emotes` to :class:`~twitchio.PartialUser`
57+
- Added :func:`~twitchio.PartialUser.fetch_moderated_channels` to :class:`~twitchio.PartialUser`
58+
59+
- Bug fixes
60+
- Fixed ``event_token_expired`` not applying to the current request.
61+
62+
- ext.eventsub
63+
- Bug fixes
64+
- Fixed a crash where a Future could be None, causing unintentional errors.
65+
- Special-cased a restart when a specific known bad frame is received.
66+
67+
68+
2.8.2
69+
======
70+
- ext.commands
71+
- Bug fixes
72+
- Fixed an issue where built-in converters would raise an internal ``TypeError``.
73+
74+
2.8.1
75+
======
76+
- ext.commands
77+
- Bug fixes
78+
- Fixed an issue where ``CommandNotFound`` couldn't be processed from ``get_context``.
79+
80+
2.8.0
481
======
582
- TwitchIO
683
- Additions
84+
- Added the new follower / followed endpoints for :class:`~twitchio.PartialUser`:
85+
- :func:`~twitchio.PartialUser.fetch_channel_followers`
86+
- :func:`~twitchio.PartialUser.fetch_channel_following`
87+
- :func:`~twitchio.PartialUser.fetch_channel_follower_count`
88+
- :func:`~twitchio.PartialUser.fetch_channel_following_count`
89+
- The deprecated methods have had warnings added in the docs.
90+
- New models for the new methods have been added:
91+
- :class:`~twitchio.ChannelFollowerEvent`
92+
- :class:`~twitchio.ChannelFollowingEvent`
93+
- New optional ``is_featured`` query parameter for :func:`~twitchio.PartialUser.fetch_clips`
94+
- New attribute :attr:`~twitchio.Clip.is_featured` for :class:`~twitchio.Clip`
95+
96+
- Bug fixes
97+
- Fix IndexError when getting prefix when empty message is sent in a reply.
98+
99+
- ext.eventsub
100+
- Bug fixes
101+
- Fix websocket reconnection event.
102+
- Fix another websocket reconnect issue where it tried to decode nonexistent headers.
103+
104+
- ext.commands
105+
- Additions
106+
- Added support for the following typing constructs in command signatures:
107+
- ``Union[A, B]`` / ``A | B``
108+
- ``Optional[T]`` / ``T | None``
109+
- ``Annotated[T, converter]`` (accessible through the ``typing_extensions`` module on older python versions)
110+
111+
- Docs
112+
- Added walkthrough for ext.commands
113+
114+
2.7.0
115+
======
116+
- TwitchIO
117+
- Additions
118+
- Added :func:`~twitchio.PartialUser.fetch_charity_campaigns` with :class:`~twitchio.CharityCampaign` and :class:`~twitchio.CharityValues`.
7119
- Added :func:`~twitchio.Client.fetch_global_chat_badges`
8120
- Added User method :func:`~twitchio.PartialUser.fetch_chat_badges`
9121
- Added repr for :class:`~twitchio.SearchUser`
@@ -16,18 +128,20 @@ Master
16128
- Added :func:`~twitchio.Client.fetch_content_classification_labels` along with :class:`~twitchio.ContentClassificationLabel`
17129
- Added :attr:`~twitchio.ChannelInfo.content_classification_labels` and :attr:`~twitchio.ChannelInfo.is_branded_content` to :class:`~twitchio.ChannelInfo`
18130
- Added new parameters to :func:`~twitchio.PartialUser.modify_stream` for ``is_branded_content`` and ``content_classification_labels``
19-
131+
20132
- Bug fixes
21133
- Fix :func:`~twitchio.Client.search_categories` due to :attr:`~twitchio.Game.igdb_id` being added to :class:`~twitchio.Game`
22134
- Made Chatter :attr:`~twitchio.Chatter.id` property public
23135
- :func:`~twitchio.Client.event_token_expired` will now be called correctly when response is ``401 Invalid OAuth token``
24136
- Fix reconnect loop when Twitch sends a RECONNECT via IRC websocket
25137
- Fix :func:`~twitchio.CustomReward.edit` so it now can enable the reward
26138

139+
- Other Changes
140+
- Updated the HTTPException to provide useful information when an error is raised.
27141

28-
- ext.sounds
29-
- Bug fixes
30-
- Added setters for Sounds.rate and Sounds.channels properties
142+
- ext.eventsub
143+
- Added websocket support via :class:`~twitchio.ext.eventsub.EventSubWSClient`.
144+
- Added support for charity donation events.
31145

32146
- Other
33147
- [speed] extra

docs/conf.py

+4-5
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626

2727
on_rtd = os.environ.get("READTHEDOCS") == "True"
2828
project = "TwitchIO"
29-
copyright = "2022, TwitchIO"
30-
author = "TwitchIO"
29+
copyright = "2024, TwitchIO"
30+
author = "PythonistaGuild"
3131

3232
# The full version, including alpha/beta/rc tags
3333
release = ''
@@ -46,7 +46,8 @@
4646
"sphinxcontrib.asyncio",
4747
"sphinx.ext.intersphinx",
4848
"attributetable",
49-
"sphinxext.opengraph"
49+
"sphinxext.opengraph",
50+
"sphinx.ext.napoleon"
5051
]
5152

5253
# OpenGraph Meta Tags
@@ -93,8 +94,6 @@
9394
html_js_files = ["js/custom.js"]
9495

9596

96-
extensions.append("sphinx.ext.napoleon")
97-
9897
napoleon_use_rtype = False
9998
napoleon_google_docstring = False
10099
napoleon_numpy_docstring = True

0 commit comments

Comments
 (0)