Skip to content

Commit b61f955

Browse files
committed
WIP
1 parent 7f24d94 commit b61f955

File tree

9 files changed

+139
-175
lines changed

9 files changed

+139
-175
lines changed

.github/workflows/pypi-build-artifacts.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,18 +47,20 @@ jobs:
4747
3.11
4848
3.12
4949
50-
- name: Install poetry
51-
run: make install-poetry
50+
- name: Install uv
51+
run: make install-uv
5252

5353
- name: Set version with RC
5454
env:
5555
VERSION: ${{ inputs.VERSION }}
56-
run: python -m poetry version "${{ env.VERSION }}"
56+
run: |
57+
# Update version in pyproject.toml
58+
sed -i 's/version = ".*"/version = "'$VERSION'"/' pyproject.toml
5759
5860
# Publish the source distribution with the version that's in
5961
# the repository, otherwise the tests will fail
6062
- name: Compile source distribution
61-
run: python3 -m poetry build --format=sdist
63+
run: uv build --sdist
6264
if: startsWith(matrix.os, 'ubuntu')
6365

6466
- name: Build wheels

.github/workflows/python-ci-docs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ jobs:
3636

3737
steps:
3838
- uses: actions/checkout@v4
39-
- name: Install poetry
40-
run: make install-poetry
39+
- name: Install uv
40+
run: make install-uv
4141
- uses: actions/setup-python@v5
4242
with:
4343
python-version: 3.12

.github/workflows/python-ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,13 @@ jobs:
5151

5252
steps:
5353
- uses: actions/checkout@v4
54-
- name: Install poetry
55-
run: make install-poetry
54+
- name: Install uv
55+
run: make install-uv
5656
- uses: actions/setup-python@v5
5757
with:
5858
python-version: ${{ matrix.python }}
59-
cache: poetry
60-
cache-dependency-path: ./poetry.lock
59+
cache: pip
60+
cache-dependency-path: ./uv.lock
6161
- name: Install system dependencies
6262
run: sudo apt-get update && sudo apt-get install -y libkrb5-dev # for kerberos
6363
- name: Install

.github/workflows/python-release-docs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ jobs:
3131

3232
steps:
3333
- uses: actions/checkout@v4
34-
- name: Install poetry
35-
run: make install-poetry
34+
- name: Install uv
35+
run: make install-uv
3636
- uses: actions/setup-python@v5
3737
with:
3838
python-version: ${{ matrix.python }}

.github/workflows/python-release.yml

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -97,20 +97,23 @@ jobs:
9797
with:
9898
python-version: 3.12
9999

100-
- name: Install Poetry
101-
run: make install-poetry
100+
- name: Install uv
101+
run: make install-uv
102+
103+
- name: Install pyproject-parser
104+
run: uv tool install 'pyproject-parser[cli]'
102105

103106
- name: Validate current pyiceberg version
104107
env:
105108
VERSION: ${{ needs.validate-inputs.outputs.VERSION }}
106109
run: |
107-
# Extract the current version from Poetry
108-
current_pyiceberg_version=$(poetry version --short)
109-
echo "Detected Poetry version: $current_pyiceberg_version"
110+
# Extract the current version from pyproject.toml
111+
current_pyiceberg_version=$(pyproject-info project.version)
112+
echo "Detected project version: $current_pyiceberg_version"
110113
111-
# Compare the input version with the Poetry version
114+
# Compare the input version with the project version
112115
if [[ "$VERSION" != "$current_pyiceberg_version" ]]; then
113-
echo "Error: Input version ($VERSION) does not match the Poetry version ($current_pyiceberg_version)"
116+
echo "Error: Input version ($VERSION) does not match the project version ($current_pyiceberg_version)"
114117
exit 1
115118
fi
116119

.github/workflows/svn-build-artifacts.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,13 @@ jobs:
4747
3.11
4848
3.12
4949
50-
- name: Install poetry
51-
run: make install-poetry
50+
- name: Install uv
51+
run: make install-uv
5252

5353
# Publish the source distribution with the version that's in
5454
# the repository, otherwise the tests will fail
5555
- name: Compile source distribution
56-
run: python3 -m poetry build --format=sdist
56+
run: uv build --sdist
5757
if: startsWith(matrix.os, 'ubuntu')
5858

5959
- name: Build wheels

dev/.rat-excludes

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
build
44
.git
55
.gitignore
6-
poetry.lock
6+
uv.lock

mkdocs/docs/contributing.md

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,33 +34,31 @@ For first-time contributors, feel free to check out our [good first issues](http
3434

3535
The PyIceberg Project is hosted on GitHub at <https://github.com/apache/iceberg-python>.
3636

37-
For the development, Poetry is used for packing and dependency management. You can install this using:
37+
For the development, uv is used for packing and dependency management. You can install this using:
3838

3939
```bash
40-
make install-poetry
40+
make install-uv
4141
```
4242

43-
To get started, you can run `make install`, which installs all the dependencies of the Iceberg library. This also installs the development dependencies. If you don't want to install the development dependencies, you need to install using `poetry install --without dev` instead of `make install`.
43+
To get started, you can run `make install`, which installs all the dependencies of the Iceberg library. This also installs the development dependencies. If you don't want to install the development dependencies, you need to install using `uv sync --no-dev` instead of `make install`.
4444

45-
If you want to install the library on the host, you can simply run `pip3 install -e .`. If you wish to use a virtual environment, you can run `poetry shell`. Poetry will open up a virtual environment with all the dependencies set.
45+
If you want to install the library on the host, you can simply run `pip3 install -e .`. If you wish to use a virtual environment, you can run `uv venv` to create one and then activate it.
4646

47-
> **Note:** If you want to use `poetry shell`, you need to install it using `pip install poetry-plugin-shell`. Alternatively, you can run commands directly with `poetry run`.
47+
> **Note:** You can run commands directly with `uv run` to execute them in the project environment.
4848
49-
To set up IDEA with Poetry:
49+
To set up IDEA with uv:
5050

5151
- Open up the Python project in IntelliJ
52-
- Make sure that you're on latest main (that includes Poetry)
52+
- Make sure that you're on latest main (that includes uv)
5353
- Go to File -> Project Structure (⌘;)
5454
- Go to Platform Settings -> SDKs
5555
- Click the + sign -> Add Python SDK
56-
- Select Poetry Environment from the left hand side bar and hit OK
56+
- Select the uv virtual environment from the project directory and hit OK
5757
- It can take some time to download all the dependencies based on your internet
5858
- Go to Project Settings -> Project
59-
- Select the Poetry SDK from the SDK dropdown, and click OK
59+
- Select the uv SDK from the SDK dropdown, and click OK
6060

61-
For IDEA ≤2021 you need to install the [Poetry integration as a plugin](https://plugins.jetbrains.com/plugin/14307-poetry/).
62-
63-
Now you're set using Poetry, and all the tests will run in Poetry, and you'll have syntax highlighting in the pyproject.toml to indicate stale dependencies.
61+
Now you're set using uv, and all the tests will run in uv, and you'll have dependency management through the pyproject.toml file.
6462

6563
## Installation from source
6664

0 commit comments

Comments
 (0)