Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 64 additions & 0 deletions .github/workflows/min_deps.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: check-min-deps

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.id || github.sha }}
cancel-in-progress: true

on:
push:
branches: ["main"]
paths-ignore:
- "**/*.md"
pull_request:
branches: ["main"]
paths-ignore:
- "**/*.md"
workflow_dispatch:

permissions:
contents: read

defaults:
run:
shell: bash

jobs:
# Single-source the list of checkable packages from the script so the matrix
# below stays in sync as packages are added or removed.
discover:
runs-on: ubuntu-latest
outputs:
packages: ${{ steps.list.outputs.packages }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: ./.github/actions/setup_build_env
with:
python-version: "3.14"
- id: list
run: echo "packages=$(uv run --no-project python scripts/check_min_deps.py --list)" >> "$GITHUB_OUTPUT"

check:
needs: discover
timeout-minutes: 30
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
package: ${{ fromJSON(needs.discover.outputs.packages) }}
python-version: ["3.10", "3.14"]
steps:
# fetch-tags/fetch-depth are required: each package is built editable via
# uv-dynamic-versioning, which derives the version from git tags/history.
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-tags: true
fetch-depth: 0
persist-credentials: false
- uses: ./.github/actions/setup_build_env
with:
python-version: ${{ matrix.python-version }}
run-uv-sync: true
- name: Check minimum declared dependency versions
run: uv run --no-sync python scripts/check_min_deps.py --python "${{ matrix.python-version }}" "${{ matrix.package }}"
1 change: 1 addition & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ uv run pytest tests/integration # integration t
uv run ruff check . # lint
uv run ruff format . # format
uv run pyright reflex tests # type check
uv run python scripts/check_min_deps.py # validate each package's declared minimum dep versions (pyright in isolated min-version envs)
uv run python scripts/make_pyi.py # regenerate .pyi stubs
uv run pre-commit run --all-files # all pre-commit hooks
```
Expand Down
2 changes: 1 addition & 1 deletion packages/reflex-base/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ maintainers = [{ name = "Khaleel Al-Adhami", email = "khaleel@reflex.dev" }]
requires-python = ">=3.10"
dependencies = [
"packaging >=24.2,<27",
"pydantic >=1.10.21,<3.0",
"pydantic >=2.12.0,<3.0",
"rich >=13,<15",
"typing_extensions >=4.13.0",
"platformdirs >=4.3.7,<5.0",
Expand Down
6 changes: 3 additions & 3 deletions packages/reflex-components-core/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ dependencies = [
"reflex-base >= 0.9.2",
"reflex-components-lucide >= 0.9.0",
"reflex-components-sonner >= 0.9.0",
"python_multipart",
"starlette",
"typing_extensions",
"python_multipart >= 0.0.21",
"starlette >= 0.47.0",
"typing_extensions >= 4.0.0",
]

[tool.hatch.version]
Expand Down
2 changes: 1 addition & 1 deletion packages/reflex-components-radix/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ authors = [{ name = "Khaleel Al-Adhami", email = "khaleel@reflex.dev" }]
maintainers = [{ name = "Khaleel Al-Adhami", email = "khaleel@reflex.dev" }]
requires-python = ">=3.10"
dependencies = [
"reflex-base >= 0.9.0",
"reflex-base >= 0.9.2",
"reflex-components-core >= 0.9.0",
"reflex-components-lucide >= 0.9.0",
]
Expand Down
7 changes: 3 additions & 4 deletions packages/reflex-docgen/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,10 @@ authors = [{ name = "Khaleel Al-Adhami", email = "khaleel@reflex.dev" }]
maintainers = [{ name = "Khaleel Al-Adhami", email = "khaleel@reflex.dev" }]
requires-python = ">=3.10"
dependencies = [
"griffelib>=2.0.1",
"mistletoe>=1.4.0",
"pyyaml>=6.0",
"griffelib >= 2.0.1",
"mistletoe >= 1.4.0",
"pyyaml >= 6.0.3",
"reflex >= 0.9.0",
"typing-extensions",
"typing-inspection>=0.4.2",
]

Expand Down
11 changes: 6 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,17 @@ requires-python = ">=3.10,<4.0"
dependencies = [
"click >=8.2",
"granian[reload] >=2.5.5",
"httpx >=0.23.3,<1.0",
"httpx >=0.26,<1.0",
"packaging >=24.2,<27",
"psutil >=7.0.0,<8.0; sys_platform == 'win32'",
"python-multipart >=0.0.20,<1.0",
"python-socketio >=5.12.0,<6.0",
"redis >=5.2.1,<8.0",
"reflex-hosting-cli",
"redis >=6.4,<8.0",
"rich >=13,<16",
"starlette >=0.47.0",
"typing_extensions >=4.13.0",
"wrapt >=1.17.0,<3.0",
"reflex-base >= 0.9.0",
"reflex-base >= 0.9.3",
"reflex-components-code >= 0.9.0",
"reflex-components-core >= 0.9.0",
"reflex-components-dataeditor >= 0.9.0",
Expand All @@ -42,10 +41,11 @@ dependencies = [
"reflex-components-markdown >= 0.9.0",
"reflex-components-moment >= 0.9.0",
"reflex-components-plotly >= 0.9.0",
"reflex-components-radix >= 0.9.0",
"reflex-components-radix >= 0.9.2",
"reflex-components-react-player >= 0.9.0",
"reflex-components-recharts >= 0.9.0",
"reflex-components-sonner >= 0.9.0",
"reflex-hosting-cli >= 0.1.66",
]

classifiers = [
Expand Down Expand Up @@ -250,6 +250,7 @@ preview = true
"*/.templates/apps/blank/code/*" = ["INP001"]
"*/blank.py" = ["I001"]
"docs/package/scripts/*.py" = ["INP001"]
"scripts/check_min_deps.py" = ["T201"]

[tool.pytest.ini_options]
filterwarnings = "ignore:fields may not start with an underscore:RuntimeWarning"
Expand Down
Loading
Loading