Skip to content

Commit 2cffcbd

Browse files
authored
Merge pull request #480 from PythonistaGuild/dev/3.0
Merge 3.0 into main
2 parents da59652 + a5c5187 commit 2cffcbd

File tree

183 files changed

+37223
-20484
lines changed

Some content is hidden

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

183 files changed

+37223
-20484
lines changed

.github/FUNDING.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# These are supported funding model platforms
22

3-
github: [IAmTomahawkx, chillymosh]
3+
github: [EvieePy, chillymosh]
44

File renamed without changes.

.github/workflows/build.yml renamed to .github/workflows/coverage_lint_build.yml

Lines changed: 31 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
strategy:
1313
fail-fast: false
1414
matrix:
15-
python-version: ["3.7", "3.10", "3.11"]
15+
python-version: ["3.11", "3.x"]
1616

1717
steps:
1818
- name: Checkout
@@ -28,10 +28,10 @@ jobs:
2828
- name: Install deps
2929
run: |
3030
pip install -U wheel setuptools pip Cython
31-
pip install '.[speed,sound]'
31+
pip install '.[starlette]'
3232
3333
- name: Build wheels
34-
run: pip wheel -w ./wheelhouse/ '.[speed,sound]'
34+
run: pip wheel -w ./wheelhouse/ '.[starlette]'
3535

3636
- uses: actions/upload-artifact@v4
3737
with:
@@ -62,40 +62,55 @@ jobs:
6262
- name: Install CPython
6363
uses: actions/setup-python@v5
6464
with:
65-
python-version: 3.7
65+
python-version: 3.11
6666

6767
- name: Install Deps
6868
run: |
6969
sudo apt update
70-
sudo apt install -y libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0
7170
python -m ensurepip
72-
pip install -r docs/requirements.txt
73-
pip install -r requirements.txt
74-
71+
pip install -U '.[starlette,docs]'
7572
- name: Build Docs
7673
run: |
7774
cd docs
7875
make html
7976
8077
lint:
8178
runs-on: ubuntu-latest
79+
strategy:
80+
fail-fast: false
81+
matrix:
82+
python-version: ["3.11", "3.x"]
83+
84+
name: "Type Coverage and Linting @ ${{ matrix.python-version }}"
8285
steps:
83-
- name: checkout
86+
- name: "Checkout Repository"
8487
uses: actions/checkout@v4
88+
with:
89+
fetch-depth: 0
8590

86-
- name: Setup Python
91+
- name: "Setup Python @ ${{ matrix.python-version }}"
92+
id: setup-python
8793
uses: actions/setup-python@v5
8894
with:
89-
python-version: 3.7
95+
python-version: "${{ matrix.python-version }}"
96+
cache: "pip"
9097

91-
- name: install black
98+
- name: "Install Python deps @ ${{ matrix.python-version }}"
9299
run: |
93-
python -m ensurepip
94-
pip install black
100+
pip install -Ur requirements.txt starlette uvicorn
101+
102+
- name: "Run Pyright @ ${{ matrix.python-version }}"
103+
uses: jakebailey/pyright-action@v2
104+
with:
105+
annotate: ${{ matrix.python-version != '3.x' }}
106+
warnings: false
107+
108+
- name: Lint with Ruff
109+
uses: astral-sh/ruff-action@v3
95110

96-
- name: run linter
111+
- name: Check formatting with Ruff
97112
run: |
98-
black twitchio --line-length 120 --verbose --check
113+
ruff format --check
99114
100115
upload_pypi:
101116
if: github.event_name == 'push' && github.ref_type == 'tag'

.github/workflows/issues.yml

Lines changed: 0 additions & 15 deletions
This file was deleted.
File renamed without changes.

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,3 +220,8 @@ $RECYCLE.BIN/
220220
### Casual test files
221221
testing.py
222222
testing/
223+
test*.py
224+
225+
# So we don't accidentally commit tokens while testing...
226+
.tio.tokens.json
227+
TOKENS.py

.readthedocs.yml

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,12 @@
1-
formats: []
2-
31
version: 2
42

5-
build:
6-
os: ubuntu-20.04
7-
tools: {"python": "3.7"}
3+
sphinx:
4+
configuration: docs/conf.py
85

9-
apt_packages:
10-
- libasound-dev
11-
- portaudio19-dev
12-
- libportaudio2
13-
- libportaudiocpp0
14-
- ffmpeg
15-
- python3-pyaudio
6+
build:
7+
os: ubuntu-22.04
8+
tools:
9+
python: "3.12"
1610

1711
python:
1812
install:
@@ -21,3 +15,4 @@ python:
2115
path: .
2216
extra_requirements:
2317
- docs
18+
- starlette

README.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
> [!IMPORTANT]
2+
> Version **3** is currently a BETA release.
3+
4+
5+
![](https://raw.githubusercontent.com/TwitchIO/TwitchIO/master/logo.png)
6+
[![](https://img.shields.io/badge/Python-3.11%20%7C%203.12%20%7C%203.13-blue.svg)](https://www.python.org)
7+
![Pyright Strict](https://img.shields.io/badge/Pyright-Strict-b8dbb4)
8+
![GitHub License](https://img.shields.io/github/license/PythonistaGuild/twitchio)
9+
10+
11+
### TwitchIO is a powerful, asynchronous Python library for [twitch.tv](https://twitch.tv).
12+
13+
TwitchIO aims to be intuitive and easy to use, using modern async Python and following strict typing with stateful objects and plug-and-play extensions.
14+
15+
TwitchIO is more than a simple wrapper, providing ease of use when accessing the Twitch API with powerful extensions to help create and manage applications and Twitch Chat Bots.
16+
17+
**Features:**
18+
19+
- Modern ``async`` Python using ``asyncio``
20+
- Fully annotated and complies with the ``pyright`` strict type-checker
21+
- Intuitive with ease of use, using modern object orientated design
22+
- Feature full including extensions for ``chat bots``, running ``routine tasks`` and ``playing sounds`` on stream (Conduits support soon...)
23+
- Easily manage ``OAuth Tokens`` and data
24+
- Built-in ``EventSub`` support via both ``Webhook`` and ``Websockets``
25+
26+
### Documentation
27+
[Documentation](https://twitchio.dev/)
28+
29+
Getting Started
30+
--------------------------------
31+
[Installing](https://twitchio.dev/en/getting-started/installing.html)
32+
33+
[Quickstart](https://twitchio.dev/en/getting-started/quickstart.html)
34+
35+
[Examples](/examples)
36+
37+
### Support
38+
For support using TwitchIO, please join the official [support server](https://discord.gg/RAKc3HF) on [Discord](https://discord.com/)
39+
40+
[![Discord Banner](https://discordapp.com/api/guilds/490948346773635102/widget.png?style=banner2)](https://discord.gg/RAKc3HF)
41+

README.rst

Lines changed: 0 additions & 121 deletions
This file was deleted.

docs/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@ help:
1717
# Catch-all target: route all unknown targets to Sphinx using the new
1818
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
1919
%: Makefile
20-
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
20+
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

0 commit comments

Comments
 (0)