Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 39 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
python-version: ['3.10', '3.11']
python-version: ['3.10', '3.11', '3.12', '3.13', '3.14']
runs-on: ${{ matrix.os }}
name: ${{ matrix.os }} Unit test ${{ matrix.python-version }}
steps:
Expand All @@ -32,3 +32,41 @@ jobs:
run: poetry install
- name: Unit tests
run: make test
test-free-threaded:
strategy:
fail-fast: false
matrix:
python-version: ['3.13t', '3.14t']
runs-on: ubuntu-latest
name: ubuntu-latest Unit test ${{ matrix.python-version }} (PYTHON_GIL=0)
steps:
- uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Setup Poetry
# pipx is Poetry's recommended installation method, and it keeps Poetry
# on the runner's regular Python, independent of the interpreter under test
run: pipx install poetry
- name: Install pypi deps
# the dev group (linters, docs, orjson for the examples) is not needed
# to run the tests, and orjson does not support free-threaded Python
run: |
poetry env use python${{ matrix.python-version }}
poetry install --only main,test
- name: Unit tests
env:
PYTHON_GIL: '0'
run: |
poetry run python - <<'EOF'
import sys, sysconfig
state = (
f"version={sys.version!r} "
f"Py_GIL_DISABLED={sysconfig.get_config_var('Py_GIL_DISABLED')!r} "
f"_is_gil_enabled={sys._is_gil_enabled()!r}"
)
print(state)
assert not sys._is_gil_enabled(), f"the GIL is enabled: {state}"
EOF
make test
10 changes: 10 additions & 0 deletions docs/source/WebSocket.rst
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,16 @@ Unsubscribe
============================
.. automethod:: massive.WebSocketClient.unsubscribe

============================
Set subscriptions
============================
.. automethod:: massive.WebSocketClient.set_subscriptions

============================
Resubscribe
============================
.. automethod:: massive.WebSocketClient.resubscribe

============================
Close
============================
Expand Down
Loading
Loading