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
13 changes: 9 additions & 4 deletions docs/getting-started/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ To install UXarray with its recommended dependencies using the conda command lin

.. note::

Conda automatically installs Xarray and every other required
dependency (including non‑Python libraries).
Conda automatically installs Xarray, all other required depdencies,
and all optional dependencies too (including non‑Python libraries).

Installing with pip
-------------------
Expand All @@ -37,11 +37,16 @@ This installs the *minimal* required dependencies. UXarray also provides optiona
.. code-block:: bash

pip install "uxarray[dev]" # development tools
pip install "uxarray[geo]" # geospatial tools (e.g. geopandas, healpix)
pip install "uxarray[viz]" # plotting tools (e.g. matplotlib, hvplot)
pip install "uxarray[complete]" # all optional features

A complete list of extras lives in the ``[project.optional-dependencies]``
A complete list of optional dependencies lives in the ``[project.optional-dependencies]``
section of our `pyproject.toml <https://github.com/UXARRAY/uxarray/blob/main/pyproject.toml>`_

Optional extras can also be combined, e.g. ``pip install "uxarray[geo,viz]"`` installs with
all required dependencies plus all optional dependencies for geospatial and plotting tools.


Installing from source
----------------------
Expand All @@ -67,7 +72,7 @@ Installing from source is intended mainly for developers.

.. code-block:: bash

pip install .
pip install ".[complete]" # test suite relies on optional dependencies

#. **Run the test suite**

Expand Down
38 changes: 23 additions & 15 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,35 +23,43 @@ requires-python = ">=3.10"
# minimal dependencies start
dependencies = [
"antimeridian",
"cartopy",
"dask[dataframe]",
"datashader",
"geoviews",
"holoviews",
"matplotlib<3.11", # matplotlib 3.11.0 breaks some plots but <3.11 is fine; see issue #1542.
"matplotlib-inline",
"netcdf4",
"numba>=0.63", # 0.63 is the first release supporting Python 3.14 (3.10 <= py < 3.15). See #1561.
"numpy",
"pandas",
"pyarrow",
"requests",
"scikit-learn",
"scipy",
"shapely",
"spatialpandas",
"geopandas",
"xarray",
"hvplot",
"healpix",
"polars",
"pyproj"
]
# minimal dependencies end

[project.optional-dependencies]
complete = ["uxarray[dev]"]
dev = ['pre_commit', 'pytest', 'pytest-cov', 'ruff', 'asv']
all = ["uxarray[dev,geo,viz]"]
complete = ["uxarray[dev,geo,viz]"] # alias to "all"
dev = [
'asv',
'pooch',
'pre_commit',
'pytest',
'pytest-cov',
'ruff',
]
geo = [
"geopandas",
"healpix",
"pyproj",
"spatialpandas",
]
viz = [
"cartopy",
"matplotlib<3.11", # matplotlib 3.11.0 breaks some plots but <3.11 is fine; see issue #1542.
"geoviews",
"holoviews",
"hvplot",
]

[project.urls]
Documentation = "https://uxarray.readthedocs.io/"
Expand Down