From 31c86b7f7e650e31539daac3bae3121a6962da55 Mon Sep 17 00:00:00 2001 From: mozman Date: Sat, 22 Apr 2023 11:57:50 +0200 Subject: [PATCH] numpy requires Python version >= 3.8 --- .github/workflows/deploy_manylinux2010_x86_64.yml | 2 +- .github/workflows/deploy_manylinux2014_aarch64.yml | 2 +- .github/workflows/deploy_win_macos.yml | 2 +- .github/workflows/testcext.yml | 2 +- .github/workflows/testing.yml | 2 +- NEWS.md | 2 +- README.md | 2 +- docs/source/index.rst | 2 +- docs/source/introduction.rst | 6 +++--- docs/source/setup.rst | 7 +++---- setup.py | 2 +- 11 files changed, 15 insertions(+), 16 deletions(-) diff --git a/.github/workflows/deploy_manylinux2010_x86_64.yml b/.github/workflows/deploy_manylinux2010_x86_64.yml index 13e07eb80..65ad027ed 100644 --- a/.github/workflows/deploy_manylinux2010_x86_64.yml +++ b/.github/workflows/deploy_manylinux2010_x86_64.yml @@ -19,7 +19,7 @@ jobs: CIBW_ARCHS_LINUX: "x86_64" CIBW_MANYLINUX_X86_64_IMAGE: manylinux2010 # cp310 is deployed for manylinux2014 - CIBW_BUILD: cp37-* cp38-* cp39-* + CIBW_BUILD: cp38-* cp39-* - name: Upload manylinux2010_x86_64 wheels to PyPI env: TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }} diff --git a/.github/workflows/deploy_manylinux2014_aarch64.yml b/.github/workflows/deploy_manylinux2014_aarch64.yml index f5591d552..9e7bf390f 100644 --- a/.github/workflows/deploy_manylinux2014_aarch64.yml +++ b/.github/workflows/deploy_manylinux2014_aarch64.yml @@ -19,7 +19,7 @@ jobs: CIBW_BEFORE_BUILD: "pip install wheel cython" CIBW_ARCHS_LINUX: "aarch64" CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 - CIBW_BUILD: cp37-* cp38-* cp39-* cp310-* cp311-* + CIBW_BUILD: cp38-* cp39-* cp310-* cp311-* - name: Upload manylinux2014_aarch64 wheels to PyPI env: TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }} diff --git a/.github/workflows/deploy_win_macos.yml b/.github/workflows/deploy_win_macos.yml index 1e25c9b99..f13629f43 100644 --- a/.github/workflows/deploy_win_macos.yml +++ b/.github/workflows/deploy_win_macos.yml @@ -27,7 +27,7 @@ jobs: CIBW_ARCHS_WINDOWS: "AMD64" CIBW_ARCHS_MACOS: "x86_64 arm64 universal2" # Does not fail at unsupported Python versions! - CIBW_BUILD: cp37-* cp38-* cp39-* cp310-* cp311-* + CIBW_BUILD: cp38-* cp39-* cp310-* cp311-* - name: Upload wheels env: TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }} diff --git a/.github/workflows/testcext.yml b/.github/workflows/testcext.yml index 728c8e9b4..7980eda7d 100644 --- a/.github/workflows/testcext.yml +++ b/.github/workflows/testcext.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] + python-version: ['3.8', '3.9', '3.10', '3.11'] steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index d002c1b2b..b464081e8 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', 'pypy-3.7'] + python-version: ['3.8', '3.9', '3.10', '3.11', 'pypy-3.8'] steps: - uses: actions/checkout@v2 diff --git a/NEWS.md b/NEWS.md index bc9058a8b..2446442b1 100644 --- a/NEWS.md +++ b/NEWS.md @@ -6,7 +6,7 @@ Version 1.0.4b1 - dev --------------------- - Release notes: https://ezdxf.mozman.at/release-v1-0.html -- NEW: `numpy` is a hard dependency +- NEW: `numpy` is a hard dependency, requires Python version >= 3.8 - NEW: added setter to `BlockLayout.base_point` property - NEW: optimized `Matrix44.fast_2d_transform()` method - BUGFIX: invalid bulge to Bezier curve conversion for bulge values >= 1 diff --git a/README.md b/README.md index 37b4b1f46..fd97a7209 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ Quick-Info existing DXF documents - MIT-License - the intended audience are programmers -- requires at least Python 3.7 +- requires at least Python 3.8 - OS independent - tested with CPython and pypy3 - has type annotations and passes `mypy --ignore-missing-imports -p ezdxf` successful diff --git a/docs/source/index.rst b/docs/source/index.rst index 952bd94cd..b56f8e5bf 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -16,7 +16,7 @@ Quick-Info existing DXF documents - MIT-License - the intended audience are programmers -- requires at least Python 3.7 +- requires at least Python 3.8 - OS independent - tested with CPython and pypy3 - has type annotations and passes ``mypy --ignore-missing-imports -p ezdxf`` successful diff --git a/docs/source/introduction.rst b/docs/source/introduction.rst index 691d7e9e7..20c3575c2 100644 --- a/docs/source/introduction.rst +++ b/docs/source/introduction.rst @@ -42,8 +42,8 @@ Supported Python Versions CPython version and the latest stable release of pypy3 during development. `Ezdxf` is written in pure Python with optional Cython implementations of some -low level math classes and requires only `pyparser` and `typing_extensions` as -additional library beside the Python Standard Library. +low level math classes and requires only `pyparsing`, `numpy` and `typing_extensions` +as additional library beside the Python Standard Library. `Pytest` is required to run the unit and integration tests. Data to run the stress and audit test can not be provided, because I don't have the rights for publishing these DXF files. @@ -52,7 +52,7 @@ Supported Operating Systems --------------------------- `Ezdxf` is OS independent and runs on all platforms which provide an appropriate -Python interpreter (>=3.7). +Python interpreter (>=3.8). Supported DXF Versions ---------------------- diff --git a/docs/source/setup.rst b/docs/source/setup.rst index d92e7c32e..e46121ed6 100644 --- a/docs/source/setup.rst +++ b/docs/source/setup.rst @@ -9,13 +9,12 @@ easy way to install them on `Windows`, `Linux` and `macOS`, preferably as:: pip3 install ezdxf -The `pyparsing`_ package and the `typing_extensions`_ are the only hard dependency -and will be installed automatically by `pip3`! +The `pyparsing`_ package, `numpy`_ and the `typing_extensions`_ are the only hard +dependency and will be installed automatically by `pip3`! The minimal required Python version is determined by the latest stable version of `pypy3`_ and the Python version deployed by the `Raspberry Pi`_ OS, which -would be Python 3.9 in 2022, but Python 3.7 will be kept as the minimal version -for the 1.0 release. +would be Python 3.9 in 2022. Basic Installation ------------------ diff --git a/setup.py b/setup.py index 103523490..62851ca3a 100644 --- a/setup.py +++ b/setup.py @@ -134,7 +134,7 @@ def read_until(lines): url="https://ezdxf.mozman.at", download_url="https://pypi.org/project/ezdxf/", author_email="me@mozman.at", - python_requires=">=3.7", + python_requires=">=3.8", package_dir={"": "src"}, packages=find_packages("src"), zip_safe=False,