From a8d90baf0cfb1cf450e66290f099db2aebec9edb Mon Sep 17 00:00:00 2001 From: davidberenstein1957 Date: Fri, 8 Aug 2025 17:31:15 +0200 Subject: [PATCH 01/10] feat: update pyproject.toml to source additional Pruna packages from pruna_internal - Added new package sources for `fast-hadamard-transform`, `flute-kernel`, `pit`, `pruna`, `pruna-engine`, `pruna-launch-party`, and `pruna-pro`, ensuring they are sourced from `pruna_internal` by default. - Maintained existing source configurations for `gptqmodel` to handle Apple Silicon Darwin compatibility. --- pyproject.toml | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index bc2ca641..780b0050 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -71,9 +71,34 @@ url = "https://prunaai.pythonanywhere.com/simple/" # Pruna Pythonanywhere default = true # default = True makes this index the lowest prio [tool.uv.sources] +# Ensure all custom Pruna packages are sourced from pruna_internal by default, unless on Apple Silicon Darwin gptqmodel = [ - { index = "pruna_internal", marker = "sys_platform != 'darwin' or platform_machine != 'arm64'"}, - { index = "pypi", marker = "sys_platform == 'darwin' and platform_machine == 'arm64'"}, + { index = "pruna_internal", marker = "sys_platform != 'darwin' or platform_machine != 'arm64'" }, + { index = "pypi", marker = "sys_platform == 'darwin' and platform_machine == 'arm64'" }, +] +fast-hadamard-transform = [ + { index = "pruna_internal" } +] +flute-kernel = [ + { index = "pruna_internal" } +] +pit = [ + { index = "pruna_internal" } +] +pruna = [ + { index = "pruna_internal" } +] +pruna-engine = [ + { index = "pruna_internal" } +] +pruna-launch-party = [ + { index = "pruna_internal" } +] +pruna-pro = [ + { index = "pruna_internal" } +] +stable-fast = [ + { index = "pruna_internal" } ] [project] From 9ad58fb8a919624649a4678e5d952ccb792fe4a3 Mon Sep 17 00:00:00 2001 From: davidberenstein1957 Date: Fri, 8 Aug 2025 17:32:40 +0200 Subject: [PATCH 02/10] refactor: clean up pyproject.toml by removing unused package sources - Removed package sources for `fast-hadamard-transform`, `flute-kernel`, `pit`, `pruna`, `pruna-engine`, `pruna-launch-party`, and `pruna-pro` from `pyproject.toml`, streamlining the configuration. - Retained the existing source configuration for `stable-fast` and `gptqmodel` to ensure compatibility with `pruna_internal`. --- pyproject.toml | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 780b0050..5dfbcfcc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -76,27 +76,8 @@ gptqmodel = [ { index = "pruna_internal", marker = "sys_platform != 'darwin' or platform_machine != 'arm64'" }, { index = "pypi", marker = "sys_platform == 'darwin' and platform_machine == 'arm64'" }, ] -fast-hadamard-transform = [ - { index = "pruna_internal" } -] -flute-kernel = [ - { index = "pruna_internal" } -] -pit = [ - { index = "pruna_internal" } -] -pruna = [ - { index = "pruna_internal" } -] -pruna-engine = [ - { index = "pruna_internal" } -] -pruna-launch-party = [ - { index = "pruna_internal" } -] -pruna-pro = [ - { index = "pruna_internal" } -] + + stable-fast = [ { index = "pruna_internal" } ] From a637d5494c70baa10bce02867458c8ef89e0d65c Mon Sep 17 00:00:00 2001 From: davidberenstein1957 Date: Fri, 8 Aug 2025 17:33:48 +0200 Subject: [PATCH 03/10] refactor: remove redundant package sources from pyproject.toml - Cleaned up `pyproject.toml` by removing unnecessary empty lines and ensuring a more streamlined configuration for package sources. - Maintained existing configurations for `stable-fast` and `gptqmodel` to preserve functionality. --- pyproject.toml | 2 -- 1 file changed, 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 5dfbcfcc..1f01b650 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -76,8 +76,6 @@ gptqmodel = [ { index = "pruna_internal", marker = "sys_platform != 'darwin' or platform_machine != 'arm64'" }, { index = "pypi", marker = "sys_platform == 'darwin' and platform_machine == 'arm64'" }, ] - - stable-fast = [ { index = "pruna_internal" } ] From ceb4f83a931307e06a4c9ffab076b2e9f30cbaf6 Mon Sep 17 00:00:00 2001 From: davidberenstein1957 Date: Fri, 8 Aug 2025 17:39:22 +0200 Subject: [PATCH 04/10] chore: update package source priorities in pyproject.toml - Adjusted the `default` priority for the `pruna_internal` index to false, ensuring it has the highest priority for package sourcing. - Set the `default` priority for the `pypi` index to true, making it the lowest priority for package sourcing. - These changes streamline package resolution and improve dependency management. --- pyproject.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 1f01b650..dfeb45e9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -64,11 +64,12 @@ testpaths = [ [[tool.uv.index]] name = "pypi" url = "https://pypi.org/simple" # regular PyPI +default = true # default = True makes this index the lowest prio [[tool.uv.index]] name = "pruna_internal" url = "https://prunaai.pythonanywhere.com/simple/" # Pruna Pythonanywhere -default = true # default = True makes this index the lowest prio +default = false # default = True makes this index the highest prio [tool.uv.sources] # Ensure all custom Pruna packages are sourced from pruna_internal by default, unless on Apple Silicon Darwin From 64ddf5afcbfcb11e2400aa961e370775cb5d666c Mon Sep 17 00:00:00 2001 From: davidberenstein1957 Date: Fri, 8 Aug 2025 17:56:10 +0200 Subject: [PATCH 05/10] chore: update package source priorities in pyproject.toml - Reverted the `default` priority for the `pruna_internal` index to true, making it the lowest priority for package sourcing. - Adjusted the `default` priority for the `pypi` index to false, ensuring it has the highest priority for package sourcing. - These changes enhance package resolution and dependency management. --- pyproject.toml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index dfeb45e9..c5445591 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -64,12 +64,11 @@ testpaths = [ [[tool.uv.index]] name = "pypi" url = "https://pypi.org/simple" # regular PyPI -default = true # default = True makes this index the lowest prio [[tool.uv.index]] name = "pruna_internal" url = "https://prunaai.pythonanywhere.com/simple/" # Pruna Pythonanywhere -default = false # default = True makes this index the highest prio +default = true # default = True makes this index the lowe prio [tool.uv.sources] # Ensure all custom Pruna packages are sourced from pruna_internal by default, unless on Apple Silicon Darwin @@ -77,9 +76,6 @@ gptqmodel = [ { index = "pruna_internal", marker = "sys_platform != 'darwin' or platform_machine != 'arm64'" }, { index = "pypi", marker = "sys_platform == 'darwin' and platform_machine == 'arm64'" }, ] -stable-fast = [ - { index = "pruna_internal" } -] [project] name = "pruna" From 30d47875a8fb822c17b065d6eb92e69f2ce5956d Mon Sep 17 00:00:00 2001 From: davidberenstein1957 Date: Tue, 16 Dec 2025 14:54:53 +0100 Subject: [PATCH 06/10] chore: refactor PR stats workflow to use environment variables --- .github/workflows/pr-stats.yaml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .github/workflows/pr-stats.yaml diff --git a/.github/workflows/pr-stats.yaml b/.github/workflows/pr-stats.yaml new file mode 100644 index 00000000..65e73f0f --- /dev/null +++ b/.github/workflows/pr-stats.yaml @@ -0,0 +1,24 @@ +name: Pull Request Stats + +permissions: + contents: read + pull-requests: write + +on: + schedule: + # Run every workday (Monday-Friday) at 9am UTC + - cron: ${{ vars.PRUNA_WEBHOOK_CRON }} + +jobs: + stats: + runs-on: ubuntu-latest + steps: + - name: Run pull request stats + uses: flowwer-dev/pull-request-stats@main + with: + slackWebhook: ${{ secrets.PRUNA_WEBHOOK_URL }} + slackChannel: ${{ vars.PRUNA_SLACK_CHANNEL }} + period: ${{ vars.PRUNA_WEBHOOK_PERIOD }} + charts: true + stats: ${{ vars.PRUNA_WEBHOOK_STATS }} + sortBy: ${{ vars.PRUNA_WEBHOOK_SORT_BY }} From 1abda54a5ea7ff304d6597ef09e9d87a0915ca44 Mon Sep 17 00:00:00 2001 From: davidberenstein1957 Date: Tue, 16 Dec 2025 14:59:29 +0100 Subject: [PATCH 07/10] chore: update pyproject.toml for dependency management and linting - Added "N813" to the ignore list for Ruff linting. - Specified linting rules for "src/pruna/algorithms/base/tags.py" to ignore "E501". - Introduced new rules for type checking with Ty, allowing for a smoother transition from mypy. - Updated package versions, including changing "datasets" to ">=0.34" and adding "numpydoc" and "imageio-ffmpeg" to dependencies. - Bumped project version from 0.2.8 to 0.3.0 for the upcoming release. --- pyproject.toml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index c5445591..bc2ca641 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -68,13 +68,12 @@ url = "https://pypi.org/simple" # regular PyPI [[tool.uv.index]] name = "pruna_internal" url = "https://prunaai.pythonanywhere.com/simple/" # Pruna Pythonanywhere -default = true # default = True makes this index the lowe prio +default = true # default = True makes this index the lowest prio [tool.uv.sources] -# Ensure all custom Pruna packages are sourced from pruna_internal by default, unless on Apple Silicon Darwin gptqmodel = [ - { index = "pruna_internal", marker = "sys_platform != 'darwin' or platform_machine != 'arm64'" }, - { index = "pypi", marker = "sys_platform == 'darwin' and platform_machine == 'arm64'" }, + { index = "pruna_internal", marker = "sys_platform != 'darwin' or platform_machine != 'arm64'"}, + { index = "pypi", marker = "sys_platform == 'darwin' and platform_machine == 'arm64'"}, ] [project] From 5a537b616580b04220309e2739eeca7ccc15601b Mon Sep 17 00:00:00 2001 From: davidberenstein1957 Date: Tue, 16 Dec 2025 15:02:28 +0100 Subject: [PATCH 08/10] chore: update PR stats workflow schedule to run at 9am UTC on weekdays --- .github/workflows/pr-stats.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-stats.yaml b/.github/workflows/pr-stats.yaml index 65e73f0f..a842fa35 100644 --- a/.github/workflows/pr-stats.yaml +++ b/.github/workflows/pr-stats.yaml @@ -7,14 +7,14 @@ permissions: on: schedule: # Run every workday (Monday-Friday) at 9am UTC - - cron: ${{ vars.PRUNA_WEBHOOK_CRON }} + - cron: '0 9 * * 1-5' jobs: stats: runs-on: ubuntu-latest steps: - name: Run pull request stats - uses: flowwer-dev/pull-request-stats@main + uses: flowwer-dev/pull-request-stats@v3.2.2 with: slackWebhook: ${{ secrets.PRUNA_WEBHOOK_URL }} slackChannel: ${{ vars.PRUNA_SLACK_CHANNEL }} From e1067f4e64e3694be5f57f5e40d353934513a01c Mon Sep 17 00:00:00 2001 From: davidberenstein1957 Date: Tue, 16 Dec 2025 15:11:46 +0100 Subject: [PATCH 09/10] chore: fix formatting in pyproject.toml by ensuring newline at end of file --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index bc2ca641..0ca1a55b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -204,4 +204,4 @@ include = ["**/*.so"] exclude = [ "tests*", "docs*", -] +] \ No newline at end of file From 36cc3b194ea63a9b2e4abb7e50bf2dac9898a03f Mon Sep 17 00:00:00 2001 From: davidberenstein1957 Date: Tue, 16 Dec 2025 15:14:24 +0100 Subject: [PATCH 10/10] chore: ensure newline at end of file in pyproject.toml --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 0ca1a55b..bc2ca641 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -204,4 +204,4 @@ include = ["**/*.so"] exclude = [ "tests*", "docs*", -] \ No newline at end of file +]