diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ab63e5b162..9623bbf3ba 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -223,11 +223,11 @@ jobs: - os: macos-latest python: pypy3.10 - # Minimum Supported Python Version = 3.7 + # Minimum Supported Python Version = 3.8 # This is the minimum version for which manylinux Python wheels are # built. Test it with minimum supported Rust version. - os: ubuntu-latest - python: 3.7 + python: 3.8 runs-on: ${{ matrix.os }} steps: @@ -277,9 +277,9 @@ jobs: - os: macos-latest python: pypy3.10 - # Minimum Supported Python Version = 3.7 + # Minimum Supported Python Version = 3.8 - os: ubuntu-latest - python: 3.7 + python: 3.8 runs-on: ${{ matrix.os }} steps: diff --git a/deltachat-rpc-client/pyproject.toml b/deltachat-rpc-client/pyproject.toml index 1ee74be088..7e3dc9296b 100644 --- a/deltachat-rpc-client/pyproject.toml +++ b/deltachat-rpc-client/pyproject.toml @@ -13,7 +13,6 @@ classifiers = [ "Operating System :: POSIX :: Linux", "Operating System :: MacOS :: MacOS X", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", @@ -24,6 +23,7 @@ classifiers = [ "Topic :: Communications :: Email" ] readme = "README.md" +requires-python = ">=3.8" [tool.setuptools.package-data] deltachat_rpc_client = [ diff --git a/deltachat-rpc-client/src/deltachat_rpc_client/rpc.py b/deltachat-rpc-client/src/deltachat_rpc_client/rpc.py index fc8dba5573..dcf955ac8e 100644 --- a/deltachat-rpc-client/src/deltachat_rpc_client/rpc.py +++ b/deltachat-rpc-client/src/deltachat_rpc_client/rpc.py @@ -131,10 +131,7 @@ def __exit__(self, _exc_type, _exc, _tb): def reader_loop(self) -> None: try: - while True: - line = self.process.stdout.readline() - if not line: # EOF - break + while line := self.process.stdout.readline(): response = json.loads(line) if "id" in response: response_id = response["id"] @@ -150,10 +147,7 @@ def reader_loop(self) -> None: def writer_loop(self) -> None: """Writer loop ensuring only a single thread writes requests.""" try: - while True: - request = self.request_queue.get() - if not request: - break + while request := self.request_queue.get(): data = (json.dumps(request) + "\n").encode() self.process.stdin.write(data) self.process.stdin.flush() diff --git a/python/pyproject.toml b/python/pyproject.toml index d5a493a177..7da8f49ef4 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -7,7 +7,7 @@ name = "deltachat" version = "1.153.0" description = "Python bindings for the Delta Chat Core library using CFFI against the Rust-implemented libdeltachat" readme = "README.rst" -requires-python = ">=3.7" +requires-python = ">=3.8" authors = [ { name = "holger krekel, Floris Bruynooghe, Bjoern Petersen and contributors" }, ] diff --git a/scripts/run_all.sh b/scripts/run_all.sh index 50c0ced539..efeab4d877 100755 --- a/scripts/run_all.sh +++ b/scripts/run_all.sh @@ -31,6 +31,6 @@ unset CHATMAIL_DOMAIN # Try to build wheels for a range of interpreters, but don't fail if they are not available. # E.g. musllinux_1_1 does not have PyPy interpreters as of 2022-07-10 -tox --workdir "$TOXWORKDIR" -e py37,py38,py39,py310,py311,py312,py313,pypy37,pypy38,pypy39,pypy310 --skip-missing-interpreters true +tox --workdir "$TOXWORKDIR" -e py38,py39,py310,py311,py312,py313,pypy38,pypy39,pypy310 --skip-missing-interpreters true auditwheel repair "$TOXWORKDIR"/wheelhouse/deltachat* -w "$TOXWORKDIR/wheelhouse"