Skip to content

Commit

Permalink
Merge pull request #480 from PythonistaGuild/dev/3.0
Browse files Browse the repository at this point in the history
Merge 3.0 into main
  • Loading branch information
EvieePy authored Jan 27, 2025
2 parents da59652 + a5c5187 commit 2cffcbd
Show file tree
Hide file tree
Showing 183 changed files with 37,223 additions and 20,484 deletions.
2 changes: 1 addition & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# These are supported funding model platforms

github: [IAmTomahawkx, chillymosh]
github: [EvieePy, chillymosh]

File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.7", "3.10", "3.11"]
python-version: ["3.11", "3.x"]

steps:
- name: Checkout
Expand All @@ -28,10 +28,10 @@ jobs:
- name: Install deps
run: |
pip install -U wheel setuptools pip Cython
pip install '.[speed,sound]'
pip install '.[starlette]'
- name: Build wheels
run: pip wheel -w ./wheelhouse/ '.[speed,sound]'
run: pip wheel -w ./wheelhouse/ '.[starlette]'

- uses: actions/upload-artifact@v4
with:
Expand Down Expand Up @@ -62,40 +62,55 @@ jobs:
- name: Install CPython
uses: actions/setup-python@v5
with:
python-version: 3.7
python-version: 3.11

- name: Install Deps
run: |
sudo apt update
sudo apt install -y libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0
python -m ensurepip
pip install -r docs/requirements.txt
pip install -r requirements.txt
pip install -U '.[starlette,docs]'
- name: Build Docs
run: |
cd docs
make html
lint:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.11", "3.x"]

name: "Type Coverage and Linting @ ${{ matrix.python-version }}"
steps:
- name: checkout
- name: "Checkout Repository"
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Python
- name: "Setup Python @ ${{ matrix.python-version }}"
id: setup-python
uses: actions/setup-python@v5
with:
python-version: 3.7
python-version: "${{ matrix.python-version }}"
cache: "pip"

- name: install black
- name: "Install Python deps @ ${{ matrix.python-version }}"
run: |
python -m ensurepip
pip install black
pip install -Ur requirements.txt starlette uvicorn
- name: "Run Pyright @ ${{ matrix.python-version }}"
uses: jakebailey/pyright-action@v2
with:
annotate: ${{ matrix.python-version != '3.x' }}
warnings: false

- name: Lint with Ruff
uses: astral-sh/ruff-action@v3

- name: run linter
- name: Check formatting with Ruff
run: |
black twitchio --line-length 120 --verbose --check
ruff format --check
upload_pypi:
if: github.event_name == 'push' && github.ref_type == 'tag'
Expand Down
15 changes: 0 additions & 15 deletions .github/workflows/issues.yml

This file was deleted.

File renamed without changes.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -220,3 +220,8 @@ $RECYCLE.BIN/
### Casual test files
testing.py
testing/
test*.py

# So we don't accidentally commit tokens while testing...
.tio.tokens.json
TOKENS.py
19 changes: 7 additions & 12 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,12 @@
formats: []

version: 2

build:
os: ubuntu-20.04
tools: {"python": "3.7"}
sphinx:
configuration: docs/conf.py

apt_packages:
- libasound-dev
- portaudio19-dev
- libportaudio2
- libportaudiocpp0
- ffmpeg
- python3-pyaudio
build:
os: ubuntu-22.04
tools:
python: "3.12"

python:
install:
Expand All @@ -21,3 +15,4 @@ python:
path: .
extra_requirements:
- docs
- starlette
41 changes: 41 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
> [!IMPORTANT]
> Version **3** is currently a BETA release.

![](https://raw.githubusercontent.com/TwitchIO/TwitchIO/master/logo.png)
[![](https://img.shields.io/badge/Python-3.11%20%7C%203.12%20%7C%203.13-blue.svg)](https://www.python.org)
![Pyright Strict](https://img.shields.io/badge/Pyright-Strict-b8dbb4)
![GitHub License](https://img.shields.io/github/license/PythonistaGuild/twitchio)


### TwitchIO is a powerful, asynchronous Python library for [twitch.tv](https://twitch.tv).

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.

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.

**Features:**

- Modern ``async`` Python using ``asyncio``
- Fully annotated and complies with the ``pyright`` strict type-checker
- Intuitive with ease of use, using modern object orientated design
- Feature full including extensions for ``chat bots``, running ``routine tasks`` and ``playing sounds`` on stream (Conduits support soon...)
- Easily manage ``OAuth Tokens`` and data
- Built-in ``EventSub`` support via both ``Webhook`` and ``Websockets``

### Documentation
[Documentation](https://twitchio.dev/)

Getting Started
--------------------------------
[Installing](https://twitchio.dev/en/getting-started/installing.html)

[Quickstart](https://twitchio.dev/en/getting-started/quickstart.html)

[Examples](/examples)

### Support
For support using TwitchIO, please join the official [support server](https://discord.gg/RAKc3HF) on [Discord](https://discord.com/)

[![Discord Banner](https://discordapp.com/api/guilds/490948346773635102/widget.png?style=banner2)](https://discord.gg/RAKc3HF)

121 changes: 0 additions & 121 deletions README.rst

This file was deleted.

2 changes: 1 addition & 1 deletion docs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@ help:
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
Loading

0 comments on commit 2cffcbd

Please sign in to comment.