diff --git a/.circleci/config.yml b/.circleci/config.yml index 63a7e1ef..8c4d6892 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -35,7 +35,7 @@ jobs: .common_template: &common_template docker: - - image: circleci/python + - image: cimg/python steps: - checkout @@ -60,7 +60,7 @@ jobs: VERSION=$(python -c "import setup; print(setup.VERSION)") export CIBW_BUILD="${MB_PYTHON_TAG}-*" docker info - pip install cibuildwheel + pip install -r requirements/build.txt cibuildwheel --platform=linux --arch=native - persist_to_workspace: root: . @@ -97,7 +97,7 @@ jobs: environment: - MB_PYTHON_TAG=cp39 docker: - - image: circleci/python:3.9 + - image: cimg/python:3.9 working_directory: ~/repo-full-cp39 test_full/cp38-cp38-manylinux2010: @@ -105,7 +105,7 @@ jobs: environment: - MB_PYTHON_TAG=cp38 docker: - - image: circleci/python:3.8 + - image: cimg/python:3.8 working_directory: ~/repo-full-cp38 test_full/cp37-cp37m-manylinux2010: @@ -113,7 +113,7 @@ jobs: environment: - MB_PYTHON_TAG=cp37 docker: - - image: circleci/python:3.7 + - image: cimg/python:3.7 working_directory: ~/repo-full-cp37 test_full/cp36-cp36m-manylinux2010: @@ -121,7 +121,7 @@ jobs: environment: - MB_PYTHON_TAG=cp36 docker: - - image: circleci/python:3.6 + - image: cimg/python:3.6 working_directory: ~/repo-full-cp36 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 3d807eba..b0c030fc 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -17,7 +17,7 @@ jobs: - name: Checkout source uses: actions/checkout@v3 - name: Set up Python 3.8 - uses: actions/setup-python@v4.2.0 + uses: actions/setup-python@v4.3.0 with: python-version: 3.8 - name: Install dependencies @@ -40,7 +40,7 @@ jobs: - name: Checkout source uses: actions/checkout@v3 - name: Set up Python 3.8 - uses: actions/setup-python@v4.2.0 + uses: actions/setup-python@v4.3.0 with: python-version: 3.8 - name: Upgrade pip @@ -127,7 +127,7 @@ jobs: with: platforms: all - name: Build binary wheels - uses: pypa/cibuildwheel@v2.9.0 + uses: pypa/cibuildwheel@v2.10.0 with: output-dir: wheelhouse config-file: pyproject.toml @@ -138,7 +138,7 @@ jobs: shell: bash run: ls -la wheelhouse - name: Set up Python 3.8 to combine coverage Linux - uses: actions/setup-python@v4.2.0 + uses: actions/setup-python@v4.3.0 if: runner.os == 'Linux' with: python-version: 3.8 diff --git a/comp.py b/comp.py deleted file mode 100644 index cab7656d..00000000 --- a/comp.py +++ /dev/null @@ -1,29 +0,0 @@ -import multiprocessing -import os -import sys -from setuptools import Extension, setup - -from Cython.Build import cythonize - -def run_cythonize(force=False): - return cythonize( - Extension( - name="line_profiler._line_profiler", - sources=[f"line_profiler/_line_profiler.pyx", "line_profiler/timers.c", "line_profiler/unset_trace.c"], - language="c++", - define_macros=[("CYTHON_TRACE", (1 if os.getenv("DEV") == "true" else 0))], - ), - compiler_directives={"language_level": 3, "infer_types": True, "linetrace": (True if os.getenv("DEV") == "true" else False)}, - include_path=["line_profiler/python25.pxd"], - force=force, - nthreads=multiprocessing.cpu_count(), - ) - -def run_setup(force=False): - setup( - ext_modules=run_cythonize() - ) - - -if __name__ == "__main__": - run_setup(force=True) diff --git a/dev/ci_public_gpg_key.pgp.enc b/dev/ci_public_gpg_key.pgp.enc index af5241ac..9e36203a 100644 --- a/dev/ci_public_gpg_key.pgp.enc +++ b/dev/ci_public_gpg_key.pgp.enc @@ -1,31 +1,31 @@ -U2FsdGVkX18J0Lf7ce/Zt2cPIRmGb28m4mVSXDIWOoFd00jP0+BWzDXhjOsqQ3uN -+j0wd7AXGNVLbNRpJyoc5ktvpb/w8UZNEvHU2yKykxgMBs3j6SiG7R/vu10M1R+A -UmYGFEUHxT8a6xw+NUKer8ovrlRv71OFEK4AdtfjKLFRoB7FgM4mUuRwWUacA3cg -EY8OSAgx18srXjJ7TA58IyKpt8DAaQGFZahh2G6VQjB33HkyPEGu8waNjWadDAY9 -Bq5EmaQSzL3T+nComyAgRWr6cYqgO/iLsi9C9Pa4jCvwZHzFYnMDt0uemYGIqPQ3 -kTkXt+A/ESQCOlRMBEfD6MFKDUk4ZU67bvEcnOF7TdPR82d/2BgMuFd2mEe9uXs9 -kqSKixGrY0khUNfxjVb37GJyHwjOFEfKbtzHDe+yNa2d8LPamjZq81Yp7hSKoY1O -P83XyzkyGnaU/vn7CX7LF8Yk5RuHZWqcG4pEkWqmn5yr0qhMTS7X0ikewrfnmhHQ -nPjwgRRSshWCysOvEKfeTbXLadbdqrVWEHmVcuXWOBZrmphRkaZbHsGxnVjmLWlU -8ZLGW/xS7m/RL3eH8HHlMoc86vloZK5pB3xkGS8nMnVDASHtDf6UVvF1sXQpUNXo -xSfjlgETk+pyMGhveSbu1M5ouVzXP0NhSeh/RijS7OS2lNpnbOzadGiVgbE46whv -N+e2uIotb/R4Dvh6iQE/vIm39CkX5tozDC32OVHAhHJAtW9gUeuW+hx69+91r5YJ -RmMBd9USRL7iV12WIhRl0w2rYXTwX13PxtDpMcYJZ3Hcy2SmX5WLG0sN0ey1TT36 -0EfDhcoor0LgJbMynmtWGvlqPMebB/zH2oy0D1LTCcR245KV9DrRbvF+3uNy+qwC -3Nlw/SLU8fsvieUL6X+TPLJmMWANk6GEpQ79AUsGXNPuVZFV8HYNz1Jhnh6dzjHC -xcx88Huw1TG1lMB8ofniEsdbusgCNBO4N3FMCd91e/wNp/1ymHE9Tt+ONhWzP0RN -NQGmyJLRFCPDNQc52/As7wvfJz8h5oLmHxKTpinYY16WdLcsJZGlS2wpqt1efeOq -KnGwpO18UwRGsA37/XGLLJ/O2fJQ6DwvA65twQrJ131ApstphraJVc/GS4KVkbvy -YX1Nv68NFyJj1kJD9irLe5Ud2A3nrhH4/WAQi+K1G6k/1quIt2k7K8hzuJStsvgy -lHwecmqZVmJzlvVGoPIqmR349nRKFbv2GLdI23hLshSZDynOfxo2bqy3a0F40U8k -QF1C8A0Wsi1NWAhBrrG4iYF3Jl/pfOs+1C5OH7+AZWS0PhgcYJ7h0PXBzYl5mf4y -JNXcnYd9WKaFVTighseGNeVH81v+I/Xyuu4sipWVoF1wQFijol1viogNZV6guceP -ILxWFxywXCQuwmiIujM4YfNhZXYkK2nnN4cksNuWqu0IPoaYqr7bW3OBrsqyBNnc -bePTmVSem0kjFDmY1i5qOxNjQprJLytea8k1wX7Xa0ZZGM3REAMeNNa5rJsXxR4l -Ahp06ieJY5Z/7eABGA+t8n+MjYPxwNA+Cvp3sKKk3XqyuXaa7e1QuVa3b/OjMJE+ -Ccwx/wPitjC1ybWJpvmhHJJNmY80bh4RtBaN+8gRfmjFIDaWHGLm4zFai3tcQt+X -tv0UKlPPJpKksZy9rJa14SBp3js9TeDfz5OBkqssQjE0eQcmrOEqp5pFVaR50jtZ -u4uxJvTNAtCrGveSGbBKW5eN3ooHi5SUJ9QRAgNnmAy0JYdc+cbYv57ckZA1zJ12 -QKG9IgJD8WtVkcHfy55c1QPhJ5Iy+y75065V47Qg0DMkMEhzOu+y8pUXoJM+gxIE -cR72gHV1v6Gz8NtYomPT1KyzRxDJKYpdylAAg5sdeo+TQU/JKz7O8K4n2wbXkkQL -UBQBchuNW2JtTiUpFSFUKhWXHJKRaRLEpYO/9hzriOjRB+EJ8oPm7jav/O3+3p1u +U2FsdGVkX1+qPKg9Cb2XjakyhUJn2P6eAD8akDWJ9k9qlFY/C6vZCWjcOzw8Em/7 +/VMY09zTYVb5EhhZIjxiFPjvcK7EKXi0WaZ5qmNDIE1qV1VlNP8UQB66/Q5rPz/R +NDQmfPJvI2675vRbqreGA8n1+5wwwszpY4EIfzfDDnBV96kNLXE7q7gHGR0aGEz9 +1c5gCXbjbFBuGD/9eW4IffQWvUr0AieI+uvre+ggnBCFGnrkdYEB5g4GRu5SKOdb +heMM3QFPd3giTMIdJQvucXYCIDJ7bQJpTXtovY/1Ni/FDbeGquuXx6w+mJrDlQxM +iHQg7tOMl5Lgn9WlU+PWndJHyo7x3yUxHUh+8+R/3og3Z7XaN8zApdj3Y6fMja8s +a9IomJGYxmTkuQ43YPe8P6RsBwLAwaxWAgUoZJ67DELdlejZNuga6iXQvA4nld+A +eGIX+S2cmfCC5oU4eWBIfNsAHoP3lBE84JTC+mDeOfiRY2ZMTIT4VIyznq1H0unb +Ws8mtzwFAW9b2a/E6dFqUMfu0h4n3R+g+IvuhxU6CV/jkFPrVq/Er8A5RyyVJxn4 +xL5X3X7tagmM4SOdWztF0koFy7PEQIYoLwCbedPn9Ew3zOR4O05xk3/CvGH/bVzR +/53rwlrtFzE3oDVXWH9gzdKvLv52PUTV7Rv5xFXlqyNAajLSZe7X7xC9PSv94T8I +kJWGSOq+5uSXJpgBdT5BYaHlM7QPzC58Qs3c+h3LNb9UzPHIyP0q6bYRRkZ1dY1t +QRyuHaQearqkFrcsLg7CXKL+etI5mV+3m9KXZKHBLYigY5YcaJnW6NM4A8LzUJrV +CC4JwetxtFY3hSrRuX+5GgzciJiVkkSupDo8guWhXCIPt0G8jIQYOXjk9y+w6Qng +GuJJmI+rgQczWBdYH3ZzC0iZHv0eNdBoeXZ2NmFkiXFjtUWugBQYT8grgy35z7ZZ +uR4XaR7pdICB4IRgiyKh4KzguQhnZbtdgj3poBx4iooUHMKAKa7nus67okVBbCqZ +ZamJAnD0jBBVY09Gxh/yNGpU56hGYd95mk5pE41TID3D5qZnXuCFulhC4P5CE/l1 +FCWuqwwOoGR+83ThQc1UGSKEat/K5dWYq1rN4J3iYho7B/ppruubCpdn4UQvsMaD +SQnRPghp3MHKU3768liH1bdijku0kAjmCCHqngXMMh9Zq1XFaU74UN5Si3zdcrBI +Lh963rPoqs3zqGHZcMzLOhilXt9Px5JFbjnGZIzWbNSdDz2tdaRp/DIbjAwVpcT/ +6FRmnDN0aATwWcoFc1P8itidQQOL4T7fxttt7JtJZPA0kXxtynqNs2G3uvpzeGr0 +7pDMzCXVcK0B5dUnJWZFU/i39ixDIfxJdD1UzaYpVUSUVdv0vNaqQoXC2YnENlqQ +94AoLWr04f/I0oh4x/ooWSd6ONrMflgpWNV7Tr9DyZKgQdZ7A7qWShby0BhUDbDf +85x+B9QnWcW6ueRfdgwRVePIpZAo9cwUeYD77uBK1+wH2UhnPhK1Qkhb7y/9d/4m ++xFYrfNoy5drzLCYZi0xdXo026D/dFJ87x/KA9C6bwnCQd6K+whdMH6/tmAyrCU7 +rAfcnBaZOs/glYK/ak1y9uQd+M+16XNs7ev2i9JH8gqTm30zVE4nmHXU8AWPXf6m +dXyg8I7htnr3Hpvk7l7yQpur+FKEEuthzq9OLFTuCEJ0UNyL6+jwnnMpxLlPfXud +glNnoYom+0k4okcWa7m33VHXzYuSxaIzrqLSDQHOdWo6W7pn+gMVwUCGmxNfuK5j +5wv5LWM1+GaaGPN2WNuo3kRpsxBY98wBjaAAZLklR/9waAziCMSbR98BBQzCK1sV +US0pSIP5+9ALL/V4xFAP+7Dz1Xmp9fAEzgXnt1bL3P39FkdpO2TQCUH+qQogkCsC +UVVrmVYCm/8fMJbNamFW3s0OHmNe2C9DpZHIvjfwg1r0gmHgZ/j5/MuYo4kFFqzK diff --git a/dev/ci_secret_gpg_subkeys.pgp.enc b/dev/ci_secret_gpg_subkeys.pgp.enc index 000011fa..fcc81faa 100644 --- a/dev/ci_secret_gpg_subkeys.pgp.enc +++ b/dev/ci_secret_gpg_subkeys.pgp.enc @@ -1,24 +1,24 @@ -U2FsdGVkX1+e9LWZeD/TOTnPwr+m2TgW05W+m3IdvfSSBQxY/Xgfpm5oTp/33iE7 -n5E3ZMw2UkoqScNmmAIsQnGdh9q8Or2algaClA3qaIecg5i9VQmaN0xD4hq6prTR -Rs3HnAChTYD0E/2HOhcD8jau1x2m6amh6LbYGlx6rmhxWc1YwDIRePXysZeqfiWv -iACAFJoNroURLs23MRNfPrIdKzUWDKOe4qyGtHCXFhYrsvi8zfLRR+SwFGalrbdl -aodEcjgnLxVxKFAa6m7HhC7DS7eDj6RguLEyYzGQDVQrXK9oN5MSgDVYlhzZwIM7 -3k5E6qsKjYWDLN8PF1w8DS+pb7H/DxdF2k91OS7DyJPG9ALz5mRhmnS+YziF2Izc -5z5Nzw2fbQSwinPIrc11gtf9CQxUOnrGTlwaR8bU066MWn3wS5im8tGEVeIUL2pr -EZq/8FKFKFibviPdxH+9KRA5DN/lcS1sSxRrRuL3HF3EZILDQuEKgIDFHWriw7K7 -OndFalEgdpKnHLNovd/cerXXf1z5ue+TBgt3QetskmobYNbRsY/2zSWbOU76WUpZ -bj/+Xmla/rsKhKnJ7S86UZLD4oMWz+W1QCPjDbQyfOkI98QLmXP6tPomis+Stg8y -HJqSFZlUmfb4xjDpsONmInhLgqrwQ8okf5blJ4DkTMJtnFeBZ7C0QSwvci1GdCjx -EXaYKU/7VBPIqw6QFd3N/TTA01zuyJ/w9ttsNZJeoMUKIoatyJrJLBlDQOcOvDK/ -L8C1dNN29DPPufDWXbLOIiGHVJJdEmHhp9JUTSrySS6WWS/LTeIv0JllCDDfndtd -IkRjea2u3AG2oamv0p7ygBeEqcDIltC83fIrBZ8XTkV0jDSOoMtplgmgJ/hNcj3A -tsszP/J1H7W8eoyS08yMFxZpE4oSxlldeh7+GXxvfXdqvZga+OJ5LQ1cp0HHLyvE -AlDI/CKfeKOSvC260my2OTf2vQennliRSrnOsSnvik+D9lH54qFvwivcHLkK37Ia -sw41ryjusNZ0ergwTD4XpSfnrZ3eLpqkrL8eOR3uDEKpbsvg5CHG6pP8L3NjSM4T -atgPr+OQ9cf5LzaPAWnyteCDQc2dTfQjw81V8Y6cYVLnxewn6MRvVhDTVVb80So6 -9P8WlwEjG2p6WF16V92LrmNRYCbNUDMzVEqI2MzJUkgx+WMchMmw5CetUVziwfW/ -kXrx0DQhOgf1iTbpzTN7pkJIO3dVfRKPgjvK7K7J+B+5ySXoVmprYZAAv1uCaM2v -EGrH0FvKUClbGsKYsz9BbiEW9sQXxK2bvVphzfZQHa177SmrLnzktpcrrXiAvIL1 -qtfonY2ocnMQzOuUKRdtMPMWMSqgg38tkoESvyKFC9qYx4W6kvCjUQup5XnDFc+I -MlpJ1qAtqW+viG9N2sdS6NQyblBU3t5jsIVUTYK2kt6kBK+EAWsbAdKG58N/nU2y -bgiiYOIffhfNKKTIqz1etw== +U2FsdGVkX1/pRjQeonOw8CdJoiHMQzb6Cv4CEJKTf1q5JaEcwQgfz+2Z7bNKr7yQ +YvW4ydsaRVEuJ09NWqhdg+C46yJvJrQ9CAd7Flp4TLVxtczdY+YVoe2zejPAJbDR +Rm/B/1egxwmFoKbiFy1DH6cZiZlpqwlX9nnY257Vquyu/4xv/w3ziOF3A0knQFwF +3RjEMbnZXd1/zh5JdF9W3oAdn0dSfjDDf/jJZVyHb7riPnTyDN+NEgKRnqgLSm2x +EUcJufhu2AiQQLhIZ2xu9ckHh0XXYrtsbvaEJgYbyvcyY4xDTIsjzH7MBs17Zjl8 +I6GyGQtYwLc4zEeC4Icna2WyyxNhP+D3G1hhFotXFzzWrDHOdCgeWmkKtE4xrpI5 +qa0FPJ6xIxoqZ5WOQMowRtERjB3dzCgRrp5wLPEBGkco/AKFd24ZT7qqv6Q438rA +Q/Mza4i0JfCkUFn8weaAq6sAyDZ/ji9qJU3iNGc/lxQHbhRg1nuJOUNzy0NT/u0Q +B5Ai0cj4xR1L3RWD5l6mHZAuXjSSHJyRpV9eSxpl1H+croqjujoCvtpDkXFBKJir +/myY5DKW7eXcX9RWstv466SBKYJe25Ebpah60u0VnbBrnklQK0n6xVIrqzDQ19Oh +lT7doHpPnKWfpbwkCrg+8RFpE38Us0Q6P4devpTo1oCR7wJt+r0uaefTI69eEnQR +pSoW4f/0of1ITQOSx8s5Hna+gZNWUzD9rfMB3q3t0wC8JY5erj1FfjHVDv1UwxpD +ATRqTYtQFutZPGs63TD0nXCkRf6SxGOQYkswo+e42WYqx+NBJcyGAi8Bu3hXZfBX +5dDvfWTATinNs89K7TV2lb5VpGXN+dFNxx8GYKjOj/p40PB71/6+RCjn+JLEXoom +V3xeJf5uxaX+F9bEN4YLiKND3b9zd08XuSsr6Ye3qZpkdl75x21jJfHS1A1wp1Nu +yjsAFHphc489LkMG1QfmCVqgQ/gEzLrtfNNazgpotxiM5RHxtsLsep4V1yVn8kwG +lBLxgIgsjiCI5SPGkI2NyimYASaewpvt8MO4G+GVydS+639x+1Y1oDqpbVASYr1J +cqAShtKjdo6F4AsVLJXww89Mueq6dkIh5RzZRkdXFFhElXjAxaU6iq9KnZ26f2AF +z6weArFd0isU/2fHm6Ll+tpZWI7FqsZkmAY73n6e8wFJA8wJHXufZH+t3YykgB9+ +NJtkxYGnfea33vJ7vzcS9GtTfFeaOv15X9tA7N4NHVupWXLE8Uy5YjuBek+Tyt8D +K3Bs2n9naSowPp2Uhu4NXtpjFB1MrkarcwZw95y49mk/489FuBwDtPNWXpQ9iyAp ++OLr9IJCWU6XVIzZptx7WmrjBdOzFFXhMniNtj1hdyQ4cdrFtgvQqrBjitp9MpWk +gj+8L/ZoqzPxXtUyh9utdKwgAsfSb0fa8mV9h8FFxIjfuerqjYyof9Tw33w5kgel +pw0jmKBIZJ1WWHqLjHDo2Q== diff --git a/dev/gpg_owner_trust.enc b/dev/gpg_owner_trust.enc index 380a1a03..4a230aaa 100644 --- a/dev/gpg_owner_trust.enc +++ b/dev/gpg_owner_trust.enc @@ -1,10 +1,11 @@ -U2FsdGVkX18XP839v+tPsSvRgMrfTrarxw+KDTonJ5psyhMgw9vJckGiuDtOfUHR -HICAUw7rPKeR1OX2A8BVnWv2K6i0abPl2/FhU1Ycne9uI/is03g2QN1xkLhf7t6m -6dhZGJ18+Q4jOc7E0czcwze1xuys1owdgeHKfE4u5QL97e+TBtgkkzS9w0inwuNo -ANL5GGc4ZuXnO5dRaS8Np5wsT9UM4cXmOGkNjE++5Aj3XWIofdcMoi0arThPyhA+ -J9IHk79ryDqfVWSUMRUN5OBEebb+h2IiLfCXTsIRneattWYePd0twEZM4/uGWfE4 -crGDbEPdpyMas/f8NtBX4jpnLAqwD156zCLt5w5JqCXSdv+nRbfpwYb4ZiUnnxID -FiLS/wtvHeI8/Hb4882ELQvc7C2ELW1CUY9JsoVeHoSA9IZx/XgQt8N5fIoSbXza -KkwlOHoX0OKNcsaYJNLdDXDvXoIOfZR+QPwK9qA5kpQLuxdvs2sXEIGyZkrjZis2 -HKr0hxZxGtA70J26evQHK9/y+6KxT01wDqkv8IedulZadXxrMHnmjO00ECH/97Oq -Wm7sIPlNNQVu5xiBMTjjRw== +U2FsdGVkX1/VV/oZL+0zJuZbiNgyUZSW8rfYJBPwP5miuereqn/I62Ya0Yd7QQAD +Y+eb/PTMAHRTYrb6nGCig9WztCS5gdaYs2V7RwkGdfQOqeMOdm8tWOSRH21EVtc7 +zyg2EqSTjLyJQReWjf2c1U8AOM1HAp6ZzCnoZkqXIXC2vUDPPipLlTICzlMzytKD +xxpuyl99N7ZIrpHo28Hy8LV9HTidx+OqV6PmzhoSxjiVG23FtflfSrsWh5zxTW8f +ZsDrNielzg63V+IPjzRTP+KLrIxAWvuymKm5QDY/IbSxTuQbI5g8Dny9uOw0BzEW +fHmOZjhEwLECJAhOONUh9VxFlc9SqvfOBMlaLd/HjTtD8pTwD11Zhv5YYdvbhIjw +fgYLF/y6LExpS1B4qanYLvSx35h6c3COeB6AKjVPPBLNYBHBuGKifF1nWeYaSC8s +SiaQ52I6rJdhHAzHR+5FyXlwALKPzGHIYL+chyYHt8g8mIZd131Wu/+6VQtkxb3r +QcKZ8hYACJDTZBuqk11jWiOiFqRH0yOzyq1KUzVV72q4hmp+RLqFPOvTUB1iL7H9 +PsIC2D5+R5Mc2D1dCCbsFSRGYMRsaiORROJQEeZK+WpK0sN8zQTiP3/XomhWGUDF +eWCqjUSYcxv3gVVzksJkbQ== diff --git a/dev/setup_secrets.sh b/dev/setup_secrets.sh index 7cfdc0da..2fb5922b 100644 --- a/dev/setup_secrets.sh +++ b/dev/setup_secrets.sh @@ -393,6 +393,11 @@ export_encrypted_code_signing_keys(){ MAIN_GPG_KEYID=$(gpg --list-keys --keyid-format LONG "$GPG_IDENTIFIER" | head -n 2 | tail -n 1 | awk '{print $1}') GPG_SIGN_SUBKEY=$(gpg --list-keys --with-subkey-fingerprints "$GPG_IDENTIFIER" | grep "\[S\]" -A 1 | tail -n 1 | awk '{print $1}') + # Careful, if you don't have a subkey, requesting it will export more than you want. + # Export the main key instead (its better to have subkeys, but this is a lesser evil) + if [[ "$GPG_SIGN_SUBKEY" == "" ]]; then + GPG_SIGN_SUBKEY=$(gpg --list-keys --with-subkey-fingerprints "$GPG_IDENTIFIER" | grep "\[C\]" -A 1 | tail -n 1 | awk '{print $1}') + fi echo "MAIN_GPG_KEYID = $MAIN_GPG_KEYID" echo "GPG_SIGN_SUBKEY = $GPG_SIGN_SUBKEY" diff --git a/pyproject.toml b/pyproject.toml index 0b522368..8fb938f4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [build-system] -requires = ["setuptools>=41.0.1", "wheel>=0.29.0", "Cython>=3.0.0a11"] -# build-backend = "setuptools.build_meta" commented out to disable pep517 +requires = ["setuptools>=41.0.1", "wheel>=0.29.0", "Cython>=3.0.0a11"] +build-backend = "setuptools.build_meta" # comment out to disable pep517 [tool.coverage.run] branch = true diff --git a/requirements/build.txt b/requirements/build.txt index 4ece023e..6a282aec 100644 --- a/requirements/build.txt +++ b/requirements/build.txt @@ -1,4 +1,12 @@ -Cython >= 3.0.0a11 -scikit-build >= >=0.11.1 -cmake >= 3.21.2 -ninja >= 1.10.2 +# Cython is the only hard requirement +Cython>=3.0.0a11 +scikit-build>=0.11.1 +cmake>=3.21.2 +ninja>=1.10.2 + +cibuildwheel>=2.11.2 ; python_version < '4.0' and python_version >= '3.11' # Python 3.11+ +cibuildwheel>=2.11.2 ; python_version < '3.11' and python_version >= '3.10' # Python 3.10 +cibuildwheel>=2.11.2 ; python_version < '3.10' and python_version >= '3.9' # Python 3.9 +cibuildwheel>=2.11.2 ; python_version < '3.9' and python_version >= '3.8' # Python 3.8 +cibuildwheel>=2.11.2 ; python_version < '3.8' and python_version >= '3.7' # Python 3.7 +cibuildwheel>=2.8.1 ; python_version < '3.7' and python_version >= '3.6' # Python 3.6 diff --git a/setup.py b/setup.py index 5702d08f..c9f58ee1 100755 --- a/setup.py +++ b/setup.py @@ -5,10 +5,6 @@ import warnings import setuptools -# pep 517 setup breaks this -# so we disable pep 517 in pyproject.toml -from comp import run_cythonize - def _choose_build_method(): DISABLE_C_EXTENSIONS = os.environ.get("DISABLE_C_EXTENSIONS", "").lower() @@ -26,10 +22,13 @@ def _choose_build_method(): import cmake # NOQA import ninja # NOQA except ImportError: + # The main fallback disables c-extensions LINE_PROFILER_BUILD_METHOD = 'setuptools' else: + # This should never be hit LINE_PROFILER_BUILD_METHOD = 'scikit-build' else: + # Use plain cython by default LINE_PROFILER_BUILD_METHOD = 'cython' return LINE_PROFILER_BUILD_METHOD @@ -215,6 +214,24 @@ def gen_packages_items(): elif LINE_PROFILER_BUILD_METHOD == 'cython': # no need to try importing cython because an import # was already attempted in _choose_build_method + import multiprocessing + from setuptools import Extension + from Cython.Build import cythonize + + def run_cythonize(force=False): + return cythonize( + Extension( + name="line_profiler._line_profiler", + sources=["line_profiler/_line_profiler.pyx", "line_profiler/timers.c", "line_profiler/unset_trace.c"], + language="c++", + define_macros=[("CYTHON_TRACE", (1 if os.getenv("DEV") == "true" else 0))], + ), + compiler_directives={"language_level": 3, "infer_types": True, "linetrace": (True if os.getenv("DEV") == "true" else False)}, + include_path=["line_profiler/python25.pxd"], + force=force, + nthreads=multiprocessing.cpu_count(), + ) + setupkw.update(dict(ext_modules=run_cythonize())) setup = setuptools.setup else: