diff --git a/.github/workflows/check-generated-files.yml b/.github/workflows/check-generated-files.yml index 4734e79cfc7e..a26e7319795b 100644 --- a/.github/workflows/check-generated-files.yml +++ b/.github/workflows/check-generated-files.yml @@ -44,9 +44,8 @@ jobs: cache-dependency-path: requirements-dev.txt - name: install uv - uses: astral-sh/setup-uv@v4.2.0 + uses: astral-sh/setup-uv@v5.0.1 with: - enable-cache: true version: "0.4.x" - name: update apt-get diff --git a/.github/workflows/ibis-backends-cloud.yml b/.github/workflows/ibis-backends-cloud.yml index 41e9fa1675c7..6c5f9503f6bc 100644 --- a/.github/workflows/ibis-backends-cloud.yml +++ b/.github/workflows/ibis-backends-cloud.yml @@ -111,9 +111,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: install uv - uses: astral-sh/setup-uv@v4.2.0 - with: - enable-cache: true + uses: astral-sh/setup-uv@v5.0.1 - name: install additional deps if: matrix.backend.key == 'snowpark' diff --git a/.github/workflows/ibis-backends.yml b/.github/workflows/ibis-backends.yml index 27f889b001ec..660cff417dec 100644 --- a/.github/workflows/ibis-backends.yml +++ b/.github/workflows/ibis-backends.yml @@ -65,9 +65,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: install uv - uses: astral-sh/setup-uv@v4.2.0 - with: - enable-cache: true + uses: astral-sh/setup-uv@v5.0.1 - uses: extractions/setup-just@v2 env: @@ -487,9 +485,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: install uv - uses: astral-sh/setup-uv@v4.2.0 - with: - enable-cache: true + uses: astral-sh/setup-uv@v5.0.1 - name: install other deps if: matrix.backend.additional_deps != null @@ -604,9 +600,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: install uv - uses: astral-sh/setup-uv@v4.2.0 - with: - enable-cache: true + uses: astral-sh/setup-uv@v5.0.1 # it requires a version of pandas that pyspark is not compatible with - name: remove lonboard diff --git a/.github/workflows/ibis-benchmarks.yml b/.github/workflows/ibis-benchmarks.yml index 0e5920759620..df922d52c840 100644 --- a/.github/workflows/ibis-benchmarks.yml +++ b/.github/workflows/ibis-benchmarks.yml @@ -30,9 +30,7 @@ jobs: python-version: "3.11" - name: install uv - uses: astral-sh/setup-uv@v4.2.0 - with: - enable-cache: true + uses: astral-sh/setup-uv@v5.0.1 - name: install system dependencies run: sudo apt-get install -qq -y build-essential libgeos-dev freetds-dev unixodbc-dev diff --git a/.github/workflows/ibis-main.yml b/.github/workflows/ibis-main.yml index 4a573ecd023b..9e549ae0a47e 100644 --- a/.github/workflows/ibis-main.yml +++ b/.github/workflows/ibis-main.yml @@ -64,9 +64,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: install uv - uses: astral-sh/setup-uv@v4.2.0 - with: - enable-cache: true + uses: astral-sh/setup-uv@v5.0.1 - name: install ${{ matrix.os }} system dependencies if: matrix.os == 'ubuntu-latest' @@ -122,9 +120,7 @@ jobs: python-version: "3.13" - name: install uv - uses: astral-sh/setup-uv@v4.2.0 - with: - enable-cache: true + uses: astral-sh/setup-uv@v5.0.1 - name: install system dependencies run: | @@ -157,9 +153,7 @@ jobs: python-version: "3.10" - name: install uv - uses: astral-sh/setup-uv@v4.2.0 - with: - enable-cache: true + uses: astral-sh/setup-uv@v5.0.1 - uses: extractions/setup-just@v2 env: diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml index 5038cf4445b3..c1149b997fe9 100644 --- a/.github/workflows/pre-release.yml +++ b/.github/workflows/pre-release.yml @@ -30,9 +30,7 @@ jobs: python-version: "3.13" - name: install uv - uses: astral-sh/setup-uv@v4.2.0 - with: - enable-cache: true + uses: astral-sh/setup-uv@v5.0.1 - uses: extractions/setup-just@v2 env: diff --git a/justfile b/justfile index 169f187c362b..0e892b2235fc 100644 --- a/justfile +++ b/justfile @@ -273,8 +273,6 @@ build-jupyterlite: rm -rf dist/ ibis_dev_version="$(just bump-version)" - uvx --from=toml-cli toml set --toml-path=pyproject.toml project.version "$ibis_dev_version" - sed -i "s/__version__ = \".+\"/__version__ = \"$ibis_dev_version\"/" ibis/__init__.py uv build --wheel git checkout pyproject.toml ibis/__init__.py @@ -303,6 +301,16 @@ docs-build-all: chat *args: zulip-term {{ args }} -# bump the version number to the next pre-release version -@bump-version: +# compute the next version number +@compute-version: uv run --only-group dev python ci/release/bump_version.py + +# bump the version number in necessary files +bump-version: + #!/usr/bin/env bash + + ibis_dev_version="$(just compute-version)" + uvx --from=toml-cli toml set --toml-path=pyproject.toml project.version "$ibis_dev_version" > /dev/null + sed -i 's/__version__ = .\+/__version__ = "'$ibis_dev_version'"/g' ibis/__init__.py + just lock > /dev/null + echo "$ibis_dev_version" diff --git a/requirements-dev.txt b/requirements-dev.txt index cd1b99f44f9a..3bc6cef3712c 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -8,7 +8,7 @@ annotated-types==0.7.0 anyio==4.7.0 anywidget==0.9.13 appdirs==1.4.4 -appnope==0.1.4 ; sys_platform == 'darwin' +appnope==0.1.4 ; platform_system == 'Darwin' argon2-cffi==23.1.0 argon2-cffi-bindings==21.2.0 arro3-compute==0.4.5 @@ -86,7 +86,7 @@ h11==0.14.0 httpcore==1.0.7 httpx==0.28.1 humanize==4.11.0 -hypothesis==6.122.4 +hypothesis==6.122.5 identify==2.6.3 idna==3.10 importlib-metadata==8.5.0 @@ -94,7 +94,7 @@ importlib-resources==6.4.5 impyla==0.19.0 iniconfig==2.0.0 ipykernel==6.29.5 -ipython==8.30.0 +ipython==8.31.0 ipywidgets==8.1.5 isoduration==20.11.0 itables==2.2.4 @@ -110,7 +110,7 @@ jupyter-client==8.6.3 jupyter-core==5.7.2 jupyter-events==0.11.0 jupyter-lsp==2.2.5 -jupyter-server==2.14.2 +jupyter-server==2.15.0 jupyter-server-terminals==0.5.3 jupyterlab==4.3.4 jupyterlab-night==0.5.1 @@ -195,7 +195,7 @@ pyogrio==0.10.0 pyopenssl==24.3.0 pyparsing==3.2.0 pyproj==3.7.0 -pyspark==3.5.3 +pyspark==3.5.4 pytest==8.3.4 pytest-benchmark==5.1.0 pytest-clarity==1.0.1 diff --git a/uv.lock b/uv.lock index ddd307b946e8..bc9718a38f1a 100644 --- a/uv.lock +++ b/uv.lock @@ -830,7 +830,7 @@ name = "click" version = "8.1.7" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "colorama", marker = "platform_system == 'Windows'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/96/d3/f04c7bfcf5c1862a2a5b845c6b2b360488cf47af55dfa79c98f6a6bf98b5/click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de", size = 336121 } wheels = [ @@ -1880,16 +1880,16 @@ wheels = [ [[package]] name = "hypothesis" -version = "6.122.4" +version = "6.122.5" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "attrs" }, { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, { name = "sortedcontainers" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9a/4c/595e4719bc4fccbce1f69818164fd0128a6c47228b48c88279e68b4b9982/hypothesis-6.122.4.tar.gz", hash = "sha256:edbcc1b36eea8159e4df9afa669ae8570416f96df5591bec7ad561f2dd0d4931", size = 414480 } +sdist = { url = "https://files.pythonhosted.org/packages/00/c2/e3273ee89ffeee95e1aa95e691eca3ada126eacaf196ca4c48d6c98ab9d4/hypothesis-6.122.5.tar.gz", hash = "sha256:e0994f04331251d51e18040f497c839a52b37669b422fe4cfef85a54d41405bf", size = 414794 } wheels = [ - { url = "https://files.pythonhosted.org/packages/2f/bb/535d3cf4347fb122a453d0a80b5db055558e4b31289a90491d574a4088e2/hypothesis-6.122.4-py3-none-any.whl", hash = "sha256:77f6799115d68a4b95c06d3b28ba2cfe40de6d5e656ad9b751232b25beba790d", size = 475801 }, + { url = "https://files.pythonhosted.org/packages/5e/aa/d78b7642d9ab608c01c90ec54d2cfab817df9e40aa27c2a22f25f2c25ffa/hypothesis-6.122.5-py3-none-any.whl", hash = "sha256:c50b104d9d5163ebdeb09ccd93626343664942570bcb067c41adf10394a81caf", size = 476092 }, ] [[package]] @@ -2400,7 +2400,7 @@ name = "ipykernel" version = "6.29.5" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "appnope", marker = "sys_platform == 'darwin'" }, + { name = "appnope", marker = "platform_system == 'Darwin'" }, { name = "comm" }, { name = "debugpy" }, { name = "ipython" }, @@ -2421,7 +2421,7 @@ wheels = [ [[package]] name = "ipython" -version = "8.30.0" +version = "8.31.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, @@ -2436,9 +2436,9 @@ dependencies = [ { name = "traitlets" }, { name = "typing-extensions", marker = "python_full_version < '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d8/8b/710af065ab8ed05649afa5bd1e07401637c9ec9fb7cfda9eac7e91e9fbd4/ipython-8.30.0.tar.gz", hash = "sha256:cb0a405a306d2995a5cbb9901894d240784a9f341394c6ba3f4fe8c6eb89ff6e", size = 5592205 } +sdist = { url = "https://files.pythonhosted.org/packages/01/35/6f90fdddff7a08b7b715fccbd2427b5212c9525cd043d26fdc45bee0708d/ipython-8.31.0.tar.gz", hash = "sha256:b6a2274606bec6166405ff05e54932ed6e5cfecaca1fc05f2cacde7bb074d70b", size = 5501011 } wheels = [ - { url = "https://files.pythonhosted.org/packages/1d/f3/1332ba2f682b07b304ad34cad2f003adcfeb349486103f4b632335074a7c/ipython-8.30.0-py3-none-any.whl", hash = "sha256:85ec56a7e20f6c38fce7727dcca699ae4ffc85985aa7b23635a8008f918ae321", size = 820765 }, + { url = "https://files.pythonhosted.org/packages/04/60/d0feb6b6d9fe4ab89fe8fe5b47cbf6cd936bfd9f1e7ffa9d0015425aeed6/ipython-8.31.0-py3-none-any.whl", hash = "sha256:46ec58f8d3d076a61d128fe517a51eb730e3aaf0c184ea8c17d16e366660c6a6", size = 821583 }, ] [[package]] @@ -2654,7 +2654,7 @@ wheels = [ [[package]] name = "jupyter-server" -version = "2.14.2" +version = "2.15.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -2677,9 +2677,9 @@ dependencies = [ { name = "traitlets" }, { name = "websocket-client" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/0c/34/88b47749c7fa9358e10eac356c4b97d94a91a67d5c935a73f69bc4a31118/jupyter_server-2.14.2.tar.gz", hash = "sha256:66095021aa9638ced276c248b1d81862e4c50f292d575920bbe960de1c56b12b", size = 719933 } +sdist = { url = "https://files.pythonhosted.org/packages/61/8c/df09d4ab646141f130f9977b32b206ba8615d1969b2eba6a2e84b7f89137/jupyter_server-2.15.0.tar.gz", hash = "sha256:9d446b8697b4f7337a1b7cdcac40778babdd93ba614b6d68ab1c0c918f1c4084", size = 725227 } wheels = [ - { url = "https://files.pythonhosted.org/packages/57/e1/085edea6187a127ca8ea053eb01f4e1792d778b4d192c74d32eb6730fed6/jupyter_server-2.14.2-py3-none-any.whl", hash = "sha256:47ff506127c2f7851a17bf4713434208fc490955d0e8632e95014a9a9afbeefd", size = 383556 }, + { url = "https://files.pythonhosted.org/packages/e2/a2/89eeaf0bb954a123a909859fa507fa86f96eb61b62dc30667b60dbd5fdaf/jupyter_server-2.15.0-py3-none-any.whl", hash = "sha256:872d989becf83517012ee669f09604aa4a28097c0bd90b2f424310156c2cdae3", size = 385826 }, ] [[package]] @@ -3090,7 +3090,7 @@ dependencies = [ { name = "numpy" }, { name = "pandas" }, { name = "scipy" }, - { name = "tzdata", marker = "sys_platform == 'emscripten' or sys_platform == 'win32'" }, + { name = "tzdata", marker = "platform_system == 'Emscripten' or platform_system == 'Windows'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/91/c3/9f83c374314b2b42e7aec65f3bf87046415ab265f209fa8a04eb6da822ee/mizani-0.13.1.tar.gz", hash = "sha256:e3247ea12c746c8104767d7e42a2d16473173c7bc314f298d8294a58f4653353", size = 765181 } wheels = [ @@ -4342,12 +4342,12 @@ wheels = [ [[package]] name = "pyspark" -version = "3.5.3" +version = "3.5.4" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "py4j" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9a/90/cb80c8cf194958ab9a3242851c62fa5aef1a0b42f2d9642f1e2eca098005/pyspark-3.5.3.tar.gz", hash = "sha256:68b7cc0c0c570a7d8644f49f40d2da8709b01d30c9126cc8cf93b4f84f3d9747", size = 317304325 } +sdist = { url = "https://files.pythonhosted.org/packages/4e/18/6bb8c4e857122fc898f32336cb6e9e98415a7802c2a3738e907b4bd60953/pyspark-3.5.4.tar.gz", hash = "sha256:1c2926d63020902163f58222466adf6f8016f6c43c1f319b8e7a71dbaa05fc51", size = 317313656 } [[package]] name = "pytest" @@ -5471,7 +5471,7 @@ name = "tqdm" version = "4.67.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "colorama", marker = "platform_system == 'Windows'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737 } wheels = [ @@ -5534,7 +5534,7 @@ name = "tzlocal" version = "5.2" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "tzdata", marker = "sys_platform == 'win32'" }, + { name = "tzdata", marker = "platform_system == 'Windows'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/04/d3/c19d65ae67636fe63953b20c2e4a8ced4497ea232c43ff8d01db16de8dc0/tzlocal-5.2.tar.gz", hash = "sha256:8d399205578f1a9342816409cc1e46a93ebd5755e39ea2d85334bea911bf0e6e", size = 30201 } wheels = [