From 74626a48ea357fae1ad443372dac621d80089f39 Mon Sep 17 00:00:00 2001 From: joncrall Date: Fri, 13 Sep 2024 10:52:04 -0400 Subject: [PATCH] Drop 3.6 and 3.7 support, bump to 4.2.0 Update xcookie Update github artifacts Rotate secrets Remove explicit osx13 Fixup setup.py --- .github/workflows/tests.yml | 120 +++++++++++++++--------------- CHANGELOG.rst | 3 +- dev/ci_public_gpg_key.pgp.enc | 62 +++++++-------- dev/ci_secret_gpg_subkeys.pgp.enc | 48 ++++++------ dev/gpg_owner_trust.enc | 15 ++-- docs/source/conf.py | 2 +- kernprof.py | 2 +- line_profiler/__init__.py | 2 +- line_profiler/line_profiler.py | 2 +- pyproject.toml | 5 +- setup.py | 4 +- 11 files changed, 131 insertions(+), 134 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1b186a7e..fdb21d23 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -23,7 +23,7 @@ jobs: - name: Checkout source uses: actions/checkout@v4.1.1 - name: Set up Python 3.12 for linting - uses: actions/setup-python@v5.0.0 + uses: actions/setup-python@v5.1.1 with: python-version: '3.12' - name: Install dependencies @@ -51,7 +51,7 @@ jobs: - name: Checkout source uses: actions/checkout@v4.1.1 - name: Set up Python 3.12 - uses: actions/setup-python@v5.0.0 + uses: actions/setup-python@v5.1.1 with: python-version: '3.12' - name: Upgrade pip @@ -62,9 +62,9 @@ jobs: - name: Build sdist shell: bash run: |- - python -m pip install pip -U - python -m pip install setuptools>=0.8 wheel build + python -m pip install setuptools>=0.8 wheel build twine python -m build --sdist --outdir wheelhouse + python -m twine check ./wheelhouse/line_profiler*.tar.gz - name: Install sdist run: |- ls -al wheelhouse @@ -98,11 +98,11 @@ jobs: echo "MOD_DPATH = $MOD_DPATH" python -m pytest --verbose --cov=line_profiler $MOD_DPATH ../tests cd .. - - uses: actions/upload-artifact@v3.1.3 + - uses: actions/upload-artifact@v4.3.1 name: Upload sdist artifact with: name: sdist_wheels - path: wheelhouse/*.tar.gz + path: ./wheelhouse/line_profiler*.tar.gz build_binpy_wheels: ## # Build the binary wheels. Note: even though cibuildwheel will test @@ -123,7 +123,6 @@ jobs: - ubuntu-latest - macOS-latest - windows-latest - - macos-13 cibw_skip: - '*-win32' arch: @@ -135,12 +134,12 @@ jobs: uses: ilammy/msvc-dev-cmd@v1 if: matrix.os == 'windows-latest' && ${{ contains(matrix.cibw_skip, '*-win32') }} - name: Set up QEMU - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@v3.0.0 if: runner.os == 'Linux' && matrix.arch != 'auto' with: platforms: all - name: Build binary wheels - uses: pypa/cibuildwheel@v2.17.0 + uses: pypa/cibuildwheel@v2.21.0 with: output-dir: wheelhouse config-file: pyproject.toml @@ -151,7 +150,7 @@ jobs: shell: bash run: ls -la wheelhouse - name: Set up Python 3.12 to combine coverage - uses: actions/setup-python@v5.0.0 + uses: actions/setup-python@v5.1.1 if: runner.os == 'Linux' with: python-version: '3.12' @@ -172,13 +171,21 @@ jobs: pwd - uses: codecov/codecov-action@v4.0.1 name: Codecov Upload + env: + HAVE_CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN != '' }} + if: ${{ env.HAVE_PERSONAL_TOKEN == 'true' }} with: file: ./coverage.xml token: ${{ secrets.CODECOV_TOKEN }} - - uses: actions/upload-artifact@v3.1.3 + - uses: codecov/codecov-action@v4.0.1 + name: Codecov Upload + with: + file: ./coverage.xml + token: ${{ secrets.CODECOV_TOKEN }} + - uses: actions/upload-artifact@v4.3.1 name: Upload wheels artifact with: - name: wheels + name: wheels-${{ matrix.os }}-${{ matrix.arch }} path: ./wheelhouse/line_profiler*.whl test_binpy_wheels: ## @@ -197,15 +204,15 @@ jobs: # Xcookie generates an explicit list of environments that will be used # for testing instead of using the more concise matrix notation. include: - - python-version: '3.6' + - python-version: '3.8' install-extras: tests-strict,runtime-strict - os: ubuntu-20.04 + os: ubuntu-latest arch: auto - - python-version: '3.6' + - python-version: '3.8' install-extras: tests-strict,runtime-strict - os: macos-13 + os: macOS-latest arch: auto - - python-version: '3.6' + - python-version: '3.8' install-extras: tests-strict,runtime-strict os: windows-latest arch: auto @@ -229,14 +236,6 @@ jobs: install-extras: tests os: windows-latest arch: auto - - python-version: '3.6' - install-extras: tests,optional - os: ubuntu-20.04 - arch: auto - - python-version: '3.7' - install-extras: tests,optional - os: ubuntu-latest - arch: auto - python-version: '3.8' install-extras: tests,optional os: ubuntu-latest @@ -257,14 +256,6 @@ jobs: install-extras: tests,optional os: ubuntu-latest arch: auto - - python-version: '3.6' - install-extras: tests,optional - os: macos-13 - arch: auto - - python-version: '3.7' - install-extras: tests,optional - os: macos-13 - arch: auto - python-version: '3.8' install-extras: tests,optional os: macOS-latest @@ -285,14 +276,6 @@ jobs: install-extras: tests,optional os: macOS-latest arch: auto - - python-version: '3.6' - install-extras: tests,optional - os: windows-latest - arch: auto - - python-version: '3.7' - install-extras: tests,optional - os: windows-latest - arch: auto - python-version: '3.8' install-extras: tests,optional os: windows-latest @@ -320,18 +303,19 @@ jobs: uses: ilammy/msvc-dev-cmd@v1 if: matrix.os == 'windows-latest' - name: Set up QEMU - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@v3.0.0 if: runner.os == 'Linux' && matrix.arch != 'auto' with: platforms: all - name: Setup Python - uses: actions/setup-python@v5.0.0 + uses: actions/setup-python@v5.1.1 with: python-version: ${{ matrix.python-version }} - - uses: actions/download-artifact@v2.1.1 + - uses: actions/download-artifact@v4.1.2 name: Download wheels with: - name: wheels + pattern: wheels-* + merge-multiple: true path: wheelhouse - name: Install wheel ${{ matrix.install-extras }} shell: bash @@ -343,11 +327,23 @@ jobs: echo "Installing helpers" pip install setuptools>=0.8 setuptools_scm wheel build -U pip install tomli pkginfo - export WHEEL_FPATH=$(python -c "import pathlib; print(str(sorted(pathlib.Path('wheelhouse').glob('line_profiler*.whl'))[-1]).replace(chr(92), chr(47)))") - export MOD_VERSION=$(python -c "from pkginfo import Wheel; print(Wheel('$WHEEL_FPATH').version)") - echo "$WHEEL_FPATH=WHEEL_FPATH" - echo "$INSTALL_EXTRAS=INSTALL_EXTRAS" - echo "$MOD_VERSION=MOD_VERSION" + export WHEEL_FPATH=$(python -c "if 1: + import pathlib + dist_dpath = pathlib.Path('wheelhouse') + candidates = list(dist_dpath.glob('line_profiler*.whl')) + candidates += list(dist_dpath.glob('line_profiler*.tar.gz')) + fpath = sorted(candidates)[-1] + print(str(fpath).replace(chr(92), chr(47))) + ") + export MOD_VERSION=$(python -c "if 1: + from pkginfo import Wheel, SDist + fpath = '$WHEEL_FPATH' + cls = Wheel if fpath.endswith('.whl') else SDist + print(cls(fpath).version) + ") + echo "WHEEL_FPATH=$WHEEL_FPATH" + echo "INSTALL_EXTRAS=$INSTALL_EXTRAS" + echo "MOD_VERSION=$MOD_VERSION" pip install --prefer-binary "line_profiler[$INSTALL_EXTRAS]==$MOD_VERSION" -f wheelhouse echo "Install finished." - name: Test wheel ${{ matrix.install-extras }} @@ -402,7 +398,7 @@ jobs: file: ./coverage.xml token: ${{ secrets.CODECOV_TOKEN }} test_deploy: - name: Uploading Test to PyPi + name: Deploy Test runs-on: ubuntu-latest if: github.event_name == 'push' && ! startsWith(github.event.ref, 'refs/tags') && ! startsWith(github.event.ref, 'refs/heads/release') needs: @@ -411,12 +407,13 @@ jobs: steps: - name: Checkout source uses: actions/checkout@v4.1.1 - - uses: actions/download-artifact@v2.1.1 + - uses: actions/download-artifact@v4.1.2 name: Download wheels with: - name: wheels + pattern: wheels-* + merge-multiple: true path: wheelhouse - - uses: actions/download-artifact@v2.1.1 + - uses: actions/download-artifact@v4.1.2 name: Download sdist with: name: sdist_wheels @@ -465,7 +462,7 @@ jobs: ots stamp wheelhouse/*.whl wheelhouse/*.tar.gz wheelhouse/*.asc ls -la wheelhouse twine upload --username __token__ --password "$TWINE_PASSWORD" --repository-url "$TWINE_REPOSITORY_URL" wheelhouse/*.whl wheelhouse/*.tar.gz --skip-existing --verbose || { echo "failed to twine upload" ; exit 1; } - - uses: actions/upload-artifact@v3.1.3 + - uses: actions/upload-artifact@v4.3.1 name: Upload deploy artifacts with: name: deploy_artifacts @@ -476,7 +473,7 @@ jobs: wheelhouse/*.asc wheelhouse/*.ots live_deploy: - name: Uploading Live to PyPi + name: Deploy Live runs-on: ubuntu-latest if: github.event_name == 'push' && (startsWith(github.event.ref, 'refs/tags') || startsWith(github.event.ref, 'refs/heads/release')) needs: @@ -485,12 +482,13 @@ jobs: steps: - name: Checkout source uses: actions/checkout@v4.1.1 - - uses: actions/download-artifact@v2.1.1 + - uses: actions/download-artifact@v4.1.2 name: Download wheels with: - name: wheels + pattern: wheels-* + merge-multiple: true path: wheelhouse - - uses: actions/download-artifact@v2.1.1 + - uses: actions/download-artifact@v4.1.2 name: Download sdist with: name: sdist_wheels @@ -539,7 +537,7 @@ jobs: ots stamp wheelhouse/*.whl wheelhouse/*.tar.gz wheelhouse/*.asc ls -la wheelhouse twine upload --username __token__ --password "$TWINE_PASSWORD" --repository-url "$TWINE_REPOSITORY_URL" wheelhouse/*.whl wheelhouse/*.tar.gz --skip-existing --verbose || { echo "failed to twine upload" ; exit 1; } - - uses: actions/upload-artifact@v3.1.3 + - uses: actions/upload-artifact@v4.3.1 name: Upload deploy artifacts with: name: deploy_artifacts @@ -560,7 +558,7 @@ jobs: steps: - name: Checkout source uses: actions/checkout@v4.1.1 - - uses: actions/download-artifact@v2.1.1 + - uses: actions/download-artifact@v4.1.2 name: Download artifacts with: name: deploy_artifacts diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 88154436..2d0115e1 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,9 +1,10 @@ Changes ======= -4.1.4 +4.2.0 ~~~~~ * FIX: Fix issue with auto-profile of editable installs #279 +* CHANGE: Drop support for Python 3.6 and Python 3.7 4.1.3 ~~~~~ diff --git a/dev/ci_public_gpg_key.pgp.enc b/dev/ci_public_gpg_key.pgp.enc index 4e4fd721..5a1b7ca7 100644 --- a/dev/ci_public_gpg_key.pgp.enc +++ b/dev/ci_public_gpg_key.pgp.enc @@ -1,31 +1,31 @@ -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 diff --git a/dev/ci_secret_gpg_subkeys.pgp.enc b/dev/ci_secret_gpg_subkeys.pgp.enc index 532a3a1c..595cb84a 100644 --- a/dev/ci_secret_gpg_subkeys.pgp.enc +++ b/dev/ci_secret_gpg_subkeys.pgp.enc @@ -1,24 +1,24 @@ -U2FsdGVkX1815MoM9p0PN0YcxcByf4Whx7zYwgnsZhqXLrD07u+oE314+Hbzfexo -NVrdl3iPWjaXOZECKOWpBrq7RWmfCuY1GR8QM46U+CK0cHEMPFXSOD77RSwGI1W4 -e2Czl5fF074JaRNaPH1oJWCUwkshvnSC6tCGTmlUNxETSh4Bvor3gWn2odpo2DDn -0RgrHOP5qabPxHZSMOwdam1mrfLHp2yKeFAUzsHYI+YuzyUCYJUjx/pQYspXAX+q -843w5aMT7NkWXF02/wHYMT6RVk6DDTWE/4jJLqsIosey48Yb906s8eboTVRGOZaz -DEhEmh/5a4GB4SZxinT8d2fmLqdRl4mwkHyxC5iYjG6io0+6RDSpr+qpF/Ew0nQk -b9hQ6e/LR7Q2Q/0kyjsMtLaozAx/xo2HOSo0EGwKLa1LIcTmmXdzVe/bm2Tf46Z1 -+5AGPQb3FW3Sttnm5y7dj0c3d7sJmm0c2e5co8dloldXilEMAfWe2HUJ8cj3P30N -y/MbPdIJSVpEqucwx0+VUAOKc5lcjcXbB0bMGEl3AtnkkwYAVXC2+fHViHxu6Gy2 -klTwB6idzFm7I0C/iVwMbeusMXhyDIxOABfLNr6ODTHt1blfMq3rf2+d6L2dQ3KW -HHimNTMxGCjPf7FnLO+1fP9x/xUN1eLO8EYJBqgeEf1dJcbFgaTvQ2N4txpJiXrr -MXawuTNBBVSmeCh3F95cCXkd0MpGj8Dq/NIAnZygs7hhS9BPwo2V3r/PLgBqsPWZ -v0HOhUjjRwQAUvZBRBxZr0rZUifFMBErmLVpsqvVdIwGox1GVJvctI31Ik7xarne -jt4XDoQI8s1Mo3oveu/2UNWsm6jtjonnROjMIWUCCKdq2mVQvJhJq4gZHjZThWLl -DTQCGnHSs09nmaFe5z8egRPWqZkF06ypjI1ycQ0JmqdZtFCftLnTWoACM65Drgz+ -vq1CvpqEjs0oLQWHcHBJDlMY1BU8MZ/55z5o/DgUEjUHmRoOqj5LF/DS0c5Vk3FS -+nekrkXhiERqI42Qo2It1Qq8egXcSRma91ufKVVX5Kz4UplNyvTDVIoA01ZYkKcB -wNW5QKsjzsIPUcxcOt1LOxoDkUyh/js+wZjh/UFoGahzn9JIJmxzLEg/ZBGu4Shp -M8f+4pFkufdNihLXOEX8OoT58a4A2TdOxnswtkEgfRXMRTzFrH3p2HIeYGsQ3l8l -lTE1GyRbWqWgbm0cDBv5++EOEqcKjc+FeLW9pkB3WFUGRZ76zN3Ha8heVJ95g/xs -EuKCyiq15hIYn2hs1LjmzvaXDwPJKJ/u9PFQwL2ixkC4byyE3ez3xCbO5O/TLwqn -ZgfLKwiW16+PK+DA2koyElPVOD6W/XRp1dEPFEzBSz3C7y3OmqpN2xNQs76sTZEm -HczxjEyCRenq3029aPM2Y+MdvzekM78/h5g0JlaNMTr25Rwy6u6I5wvtlDZMMnev -+CWwEjqbpR2lUnZuUyMgeg== +U2FsdGVkX19Mycs2tkJx6j6uE2Gixs5czGqGs/8vKMlS8YBocOJLRscdSLWCh+0g +ipAsrjkD/VH6qHZCZtEN8voN2WFTtY3fgiIXksEUdEK1ZXHupBenyFq1Aah2Fsjx +j/SMy1s3ElOQ6Rf8ICpU1M229d5oRHrPmYNmiu2WWM+a6le0owVXdvv9vxEF0BFc +1RKxMnnOdZWxeAZH+5GmZfqNyvgUKC5Js2wSuXIU2WU7E1OjDpEfqrrl4kAeS2ze +nYp97VKdX/6A1NbqKVOyQ9sxG7/Mtwq9fC47Pk7I1+uFjRivRZu6g0K+t5+/ZAkF +UZ2QgiMn56PR1YC9BQWCQ4ryv79sFIPLozj72x9/YMSj3GUilIAE3UG6hKuQ5UgQ +gFbcnnR7zHktx2zz3tMk9oYSXGmMi8Frfd6/MdnhbY8M2ApFrChS9Wg3SizFNSgb +2keDlCQRnIxpOdjzFhlvT6PW9CeLXmtAkiRMBxuUnOhX3/OeZXpAyns4mDW7hu1t +suYF91B3/TD4l9xW/wGtefOdp4hYAfOv1tD9VPffN2vjfcLP+TEHSX/e8/kLhqT9 +nwGHXGvlKJZmloXc7EwOAqIcGUI0MP90nyugqYUoQYO3eDwHkU7Aaqbp6FAAVQzV +s//gSCrhYDShR7xgVDbdyntShB0dB8cQiImozFbVDpRyqOv5IBd2kcUct+uFp90H +rKSitpi0yDxC3GRwrBDY0aPbBjRZkpNNqwwZ59OtgYoUBij5WSVsIMC/CuA0NwtL +f8TTrzfgOx8W/Fr7FLcwsXNcaXmIR6Ztpqj0NJw1iRCDiyTgAg/eT+L4+AWSLRlo +kWRmYjBF8iIsCxaWNyh5dnPI1DM9/u6wGh4o+3FRsBH/hgwavSMXoq59cLhsPY+U +R97sOnaiWLOujBydwiy56DZc6PAqARVAh7Gu8iJ2hqqok6UJ3LfJ9xzRhJAZVrNC +GIhW9R270AHi0g9qpkdavznNpkibeucIazhbhMcRIsvIfaLYKEBN6nqW7yn8v8v9 +twI64MCiIJq3vBSyeII0XTZ1So1CWsumn0nXZOtlMilUv/5cDwWpo/Hg2Wyq9e8T +RBODIT4AGaFuGLmwhz9vPl1BxjLfPDcvZ9ilMzfr3lYjWjXTAd7dD8ItSIqYwrAT +5JM2+1CfikN4RrIlZYvuNpc8lOto1RVxwmexyrJ2pEZ9+Htd9e/0MpRZnWyhd5Vq +CdiZo0x4gtaCub8px+Bji0Jw1RC17puWKT7xJyGIZnTZMBtB0yUgZ0/P9XRYRF9x +A11QBGhqPpAhWjQgG+3yzAVFPnNSXBZsciQpFglaca8oBXGpmONR4P3JdisarxDe +OlZ29ugBcTDto0xA8YbZVtkdFNwntRlpvCZmIqTy8VJnGotiR9njBQgz3AjFr0Gd +1dDhNvbru6Iwo4wdmfF+LGLg2dSWQdofJuqiz8DLLYUDZ0FXZhud69zcz5PywqYt +VP9xo9gZi7AexBYdmYD8mQ== diff --git a/dev/gpg_owner_trust.enc b/dev/gpg_owner_trust.enc index 1d3961ec..114854e2 100644 --- a/dev/gpg_owner_trust.enc +++ b/dev/gpg_owner_trust.enc @@ -1,8 +1,7 @@ -U2FsdGVkX1+4PZRvEPTWDI49GG9yUC89Zfid9ZHwX/jxhNN0Aps30cn0xoIXlIBF -lkvsRA3071ZEQ4d/udQrlU+FeUCyvR6+hc7r+HFU6kwZ503p6Oc27azbxsVSXmrV -ozW9dbeGiJTyB628NP/efmH5VviTP55ezx2eRHdllAYmqvogar43T8J8eOff6ZkE -QHaGtcW6YJtIRCzwiBenE87ppS45MlqXERW/05yaKlY/cEouQUL/YsZ1Xr1MTEUY -ygQx3gbdsdI1eoXnWuQqc4pNc5lIZIPXlCg41aQNXm3sykpK+gBfeOMvMjddGf+a -2/RgAJZoSuwgsoDN38eZGmv3GYkrvz/kqytxSB0Z6eyZu30NepgGRPcpaAi+yrbU -DSgtJzChyUI03VJYl7asHq9AtdB3mDUlv869J2Yd2nGgDDvJ8yDs2GeWDtXFpBTt -Z2qhsFNbIUBaDB8vGQP247Ji13nmoSwdn3vVJdoigKo= +U2FsdGVkX181M7YcB1QicnfpGAr36md/a/Cwzs+qRcMMPVXErLF8hKCO84yv8NBA +KyEesD2RB4UUdslf0LNUP3P/N0+f2H8cs0Z3l9A85orTftaqE+qrOsgCWdFhEgpQ +UkNKk7OQYA3m889DBvjaSbLxBY0OF7o58cUs5JdSNQ/rFxc4WJZ5J9vdEk6w02ma +zZ4d4btNjaJtUgPJdQMkP/ih0qUbn5w4C7ZTxSPeZZpNkDooX4ja4PazEbDlWpuD +Elmg9L6/RzqHHstDms+GoJeb7IKGO2rhDH00Vx2WOQ4CDaAlpOwzgGGxyU9ddhqI +Ib0j4FXTrGWALyXEsgWHwhgH8zkWe+wJF4fTKpLLcD/X9HzDXphAViTbhDZZNqbU +PPEQ1EKXmyl50R2E+2d8KwPq3mQCuHOUHIdXuINfE6E= diff --git a/docs/source/conf.py b/docs/source/conf.py index 596d0eb1..049f62db 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -17,7 +17,7 @@ # need to edit the conf.py cd ~/code/line_profiler/docs - sphinx-apidoc --private --separate -f -o ~/code/line_profiler/docs/source/auto ~/code/line_profiler/line_profiler + sphinx-apidoc --private --separate --force --output-dir ~/code/line_profiler/docs/source/auto ~/code/line_profiler/line_profiler # Note: the module should importable before running this # (e.g. install it in developer mode or munge the PYTHONPATH) diff --git a/kernprof.py b/kernprof.py index d4883383..6b4aa2bc 100755 --- a/kernprof.py +++ b/kernprof.py @@ -91,7 +91,7 @@ def main(): # NOTE: This version needs to be manually maintained in # line_profiler/line_profiler.py and line_profiler/__init__.py as well -__version__ = '4.1.4' +__version__ = '4.2.0' # Guard the import of cProfile such that 3.x people # without lsprof can still use this script. diff --git a/line_profiler/__init__.py b/line_profiler/__init__.py index 57204094..1ccb36dc 100644 --- a/line_profiler/__init__.py +++ b/line_profiler/__init__.py @@ -159,7 +159,7 @@ def main(): # from .line_profiler import __version__ # NOTE: This needs to be in sync with ../kernprof.py and line_profiler.py -__version__ = '4.1.4' +__version__ = '4.2.0' from .line_profiler import (LineProfiler, load_ipython_extension, load_stats, main, diff --git a/line_profiler/line_profiler.py b/line_profiler/line_profiler.py index 7fb3a249..bb30198f 100755 --- a/line_profiler/line_profiler.py +++ b/line_profiler/line_profiler.py @@ -22,7 +22,7 @@ ) # NOTE: This needs to be in sync with ../kernprof.py and __init__.py -__version__ = '4.1.4' +__version__ = '4.2.0' def load_ipython_extension(ip): diff --git a/pyproject.toml b/pyproject.toml index f504262b..235d1a06 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -35,7 +35,7 @@ omit =[ ] [tool.cibuildwheel] -build = "cp36-* cp37-* cp38-* cp39-* cp310-* cp311-* cp312-*" +build = "cp38-* cp39-* cp310-* cp311-* cp312-*" build-frontend = "build" build-verbosity = 1 #test-requires = [ "-r requirements/tests-strict.txt",] @@ -56,7 +56,7 @@ mod_name = "line_profiler" repo_name = "line_profiler" rel_mod_parent_dpath = "." os = [ "all", "linux", "osx", "win",] -min_python = 3.6 +min_python = '3.8' author = "Robert Kern" author_email = "robert.kern@enthought.com" description = "Line-by-line profiler" @@ -64,6 +64,7 @@ url = "https://github.com/pyutils/line_profiler" license = "BSD" dev_status = "stable" typed = true +skip_autogen = ["MANIFEST.in", "CHANGELOG.md"] [tool.xcookie.entry_points] # the console_scripts entry point creates the xdoctest executable diff --git a/setup.py b/setup.py index 5f31319a..4cb9490a 100755 --- a/setup.py +++ b/setup.py @@ -278,7 +278,7 @@ def run_cythonize(force=False): setupkw["license"] = "BSD" setupkw["packages"] = list(setuptools.find_packages()) setupkw["py_modules"] = ['kernprof', 'line_profiler'] - setupkw["python_requires"] = ">=3.6" + setupkw["python_requires"] = ">=3.8" setupkw['license_files'] = ['LICENSE.txt', 'LICENSE_Python.txt'] setupkw["package_data"] = {"line_profiler": ["py.typed", "*.pyi"]} setupkw['keywords'] = ['timing', 'timer', 'profiling', 'profiler', 'line_profiler'] @@ -289,8 +289,6 @@ def run_cythonize(force=False): 'Operating System :: OS Independent', 'Programming Language :: C', 'Programming Language :: Python', - 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10',