Skip to content

Commit e4ee028

Browse files
committed
feat: update installation instructions to include optional PyArrow support
1 parent 8ffc5d7 commit e4ee028

File tree

4 files changed

+29
-3
lines changed

4 files changed

+29
-3
lines changed

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,16 +187,23 @@ See [examples](examples/README.md) for more information.
187187

188188
## How to install
189189

190+
DataFusion works with any library exposing the Arrow PyCapsule interface. If you
191+
need `pyarrow`, install the optional extra.
192+
190193
### uv
191194

192195
```bash
193196
uv add datafusion
197+
# or with PyArrow support
198+
uv add "datafusion[pyarrow]"
194199
```
195200

196201
### Pip
197202

198203
```bash
199204
pip install datafusion
205+
# or with PyArrow support
206+
pip install "datafusion[pyarrow]"
200207
# or
201208
python -m pip install datafusion
202209
```

docs/mdbook/src/installation.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,13 @@
1818

1919
DataFusion is easy to install, just like any other Python library.
2020

21+
DataFusion works with any library exposing the Arrow PyCapsule interface. If
22+
you rely on `pyarrow`, install the optional extra:
23+
24+
```bash
25+
uv pip install "datafusion[pyarrow]"
26+
```
27+
2128
## Using uv
2229

2330
If you do not yet have a virtual environment, create one:
@@ -36,12 +43,16 @@ Or, to add to a project:
3643

3744
```bash
3845
uv add datafusion
46+
# or with PyArrow support
47+
uv add "datafusion[pyarrow]"
3948
```
4049

4150
## Using pip
4251

4352
``` bash
4453
pip install datafusion
54+
# or with PyArrow support
55+
pip install "datafusion[pyarrow]"
4556
```
4657

4758
## uv & JupyterLab setup

docs/source/user-guide/introduction.rst

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,16 @@ DataFusion through various examples and highlight the most effective ways of usi
2626
Installation
2727
------------
2828

29-
DataFusion is a Python library and, as such, can be installed via pip from `PyPI <https://pypi.org/project/datafusion>`__.
29+
DataFusion is a Python library and, as such, can be installed via pip from
30+
`PyPI <https://pypi.org/project/datafusion>`__. DataFusion works with any
31+
library exposing the Arrow PyCapsule interface. If you need ``pyarrow``,
32+
install the optional extra.
3033

3134
.. code-block:: shell
3235
3336
pip install datafusion
37+
# or with PyArrow support
38+
pip install "datafusion[pyarrow]"
3439
3540
You can verify the installation by running:
3641

pyproject.toml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,19 +38,22 @@ classifiers = [
3838
"Programming Language :: Python :: 3.9",
3939
"Programming Language :: Python :: 3.10",
4040
"Programming Language :: Python :: 3.11",
41-
"Programming Language :: Python :: 3.12",
41+
"Programming Language :: Python :: 3.12",
4242
"Programming Language :: Python :: 3.13",
4343
"Programming Language :: Python",
4444
"Programming Language :: Rust",
4545
]
46-
dependencies = ["pyarrow>=11.0.0", "typing-extensions;python_version<'3.13'"]
46+
dependencies = ["typing-extensions;python_version<'3.13'"]
4747
dynamic = ["version"]
4848

4949
[project.urls]
5050
homepage = "https://datafusion.apache.org/python"
5151
documentation = "https://datafusion.apache.org/python"
5252
repository = "https://github.com/apache/datafusion-python"
5353

54+
[project.optional-dependencies]
55+
pyarrow = ["pyarrow>=11.0.0"]
56+
5457
[tool.isort]
5558
profile = "black"
5659

0 commit comments

Comments
 (0)