pax_global_header00006660000000000000000000000064147670431720014525gustar00rootroot0000000000000052 comment=9d8307df5671bbdcd1a5e0eb4c536aaf8c84dd58 aiocoap-0.4.14/000077500000000000000000000000001476704317200132265ustar00rootroot00000000000000aiocoap-0.4.14/.github/000077500000000000000000000000001476704317200145665ustar00rootroot00000000000000aiocoap-0.4.14/.github/ISSUE_TEMPLATE/000077500000000000000000000000001476704317200167515ustar00rootroot00000000000000aiocoap-0.4.14/.github/ISSUE_TEMPLATE/new_issue.md000066400000000000000000000004441476704317200212760ustar00rootroot00000000000000--- # SPDX-FileCopyrightText: Christian Amsüss # SPDX-License-Identifier: MIT name: New issue about: Template for any newly opened issue --- aiocoap-0.4.14/.gitignore000066400000000000000000000005031476704317200152140ustar00rootroot00000000000000# SPDX-FileCopyrightText: Christian Amsüss # SPDX-License-Identifier: MIT __pycache__ build *.egg-info dist # managed by doc/aiocoap_index.py doc/module # generated by coverage tests .coverage* htmlcov # generated by `setup.py tests` .eggs # generated by tox .tox # left behind by the formatter sometimes .ruff_cache aiocoap-0.4.14/.readthedocs.yaml000066400000000000000000000012431476704317200164550ustar00rootroot00000000000000# SPDX-FileCopyrightText: Christian Amsüss # SPDX-License-Identifier: MIT version: 2 build: # from the limited choice there is; preferred would be a Python image os: ubuntu-22.04 tools: python: "3.11" sphinx: builder: html configuration: ./doc/conf.py python: install: - method: pip path: . extra_requirements: - docs # all except dtls (because DTLSSocket doesn't have wheels, and # readthedocs shouldn't be bothered with compiling C code, but then, # that module can be imported even when DTLSSocket is not available) # # also synced with .woodpecker.yml - oscore - ws - prettyprint aiocoap-0.4.14/.woodpecker.yml000066400000000000000000000146401476704317200161760ustar00rootroot00000000000000# SPDX-FileCopyrightText: Christian Amsüss # SPDX-License-Identifier: MIT when: - event: push # While we're still on the GitHub issue tracker, the pull_request event stays off, and we evaluate every single branch. # branch: [main, woodpecker] # - event: pull_request # running tests twice, so if something breaks when optional dependencies are # missing, it still shows up. (full coverage would mean running each # combination, but let's not blow the test matrix out of proportion). # --skip-env is often used to mask out Python versions that are installed on # the system but are not what we want to test here (for example, the Python # 3.13 image is based on a Debian that ships its own older Python). # Generally, all can run in parallel; setting depends_on to one hero test so # that we don't waste resources if one already fails. steps: test:tox-bookworm: image: debian:bookworm depends_on: [test:3.13] environment: FORCE_COLOR: "1" commands: - apt-get update - apt-get -y install tox build-essential python3.11-dev libssl-dev autoconf python3-setuptools python3-pip iproute2 libffi-dev libgirepository1.0-dev libcairo2-dev # Separate run so I don't waste time telling errors in setup apart from errors at runtime - tox --notest - "AIOCOAP_TEST_MCIF=\"$(ip -j -6 route list default | python3 -c 'import sys, json; print(json.load(sys.stdin)[0][\"dev\"])')\" tox" - mkdir collected-coverage/tox-bookworm/ -p - mv .coverage* collected-coverage/tox-bookworm/ test:pypy: image: docker.io/pypy:3 depends_on: [test:3.13] environment: FORCE_COLOR: "1" commands: - apt-get update - apt-get -y install build-essential libssl-dev autoconf iproute2 libffi-dev # lakers-python is not yet built for pypy; tracked at - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh /dev/stdin -y - . ~/.cargo/env - pip install tox - tox --notest --skip-env '^py[^p]' - "AIOCOAP_TEST_MCIF=\"$(ip -j -6 route list default | python3 -c 'import sys, json; print(json.load(sys.stdin)[0][\"dev\"])')\" tox --skip-env '^py[^p]'" - mkdir collected-coverage/pypy/ -p - mv .coverage* collected-coverage/pypy/ test:py312: image: docker.io/python:3.12 depends_on: [test:3.13] environment: FORCE_COLOR: "1" commands: - apt-get update # cmake, libgirepository1.0-dev: required for building pygobject - apt-get -y install iproute2 cmake libgirepository1.0-dev - pip install tox # Separate run so I don't waste time telling errors in setup apart from errors at runtime - tox --notest --skip-env '^py31[^2]' - "AIOCOAP_TEST_MCIF=\"$(ip -j -6 route list default | python3 -c 'import sys, json; print(json.load(sys.stdin)[0][\"dev\"])')\" tox --skip-env '^py31[^2]'" - mkdir collected-coverage/tox-3.12/ -p - mv .coverage* collected-coverage/tox-3.12/ test:3.13: image: docker.io/python:3.13 depends_on: [] environment: # Possibly necessary because the image uses some Debian as a base might have another Python installed TOXENV: "py313-noextras,py313-allextras" FORCE_COLOR: "1" commands: - apt-get update - apt-get -y install iproute2 - pip install tox # Separate run so I don't waste time telling errors in setup apart from errors at runtime - tox --notest --skip-env '^py31[^3]' - "AIOCOAP_TEST_MCIF=\"$(ip -j -6 route list default | python3 -c 'import sys, json; print(json.load(sys.stdin)[0][\"dev\"])')\" tox --skip-env '^py31[^3]'" - mkdir collected-coverage/tox-3.13/ -p - mv .coverage* collected-coverage/tox-3.13/ mypy: image: docker.io/python:3.12 depends_on: [] environment: FORCE_COLOR: "1" commands: - pip install mypy - pip install '.[all]' - mypy --install-types --non-interactive src/aiocoap ruff: image: python:3 depends_on: [] environment: FORCE_COLOR: "1" commands: - pip install ruff - ruff format --check # Excluding the client scripts as their heavy reliance on `from aiocoap # import *` would decrease their usefullness as easy quick-start script - ruff check src reuse: image: python:3 depends_on: [] environment: FORCE_COLOR: "1" commands: - pip install reuse - reuse lint doc: image: python:3.13 depends_on: [] environment: FORCE_COLOR: "1" commands: # synced with .readthedocs.yaml and pyproject.toml - pip install '.[docs,oscore,prettyprint]' - python3 -m sphinx doc public/doc/ - python3 -m docutils README.rst --strict > /dev/null build-wheel: image: python:3.13 depends_on: [] environment: FORCE_COLOR: "1" commands: - pip install build - python3 -m build - mkdir -p public - cp -r dist/ public/ build-pages: image: docker.io/python:3 depends_on: - test:tox-bookworm - test:py312 - test:3.13 - test:pypy - doc - build-wheel environment: FORCE_COLOR: "1" commands: - python3 -m pip install coverage - mv collected-coverage/*/.coverage* . - python3 -m coverage combine - python3 -m coverage report - python3 -m coverage html - mkdir -p public - mv htmlcov public/coverage/ # Link for the wheel goes to the `raw.` URI because that allows CORS, # making it useful as a pyodide source. - echo 'aiocoap build artifacts' > public/index.html - echo '

aiocoap build artifacts